From: Benjamin Berg <benjamin.berg@xxxxxxxxx> The ps command as shipped by busybox does not support the "command" column. Change the code to use pgrep instead which will work fine in all environments. Signed-off-by: Benjamin Berg <benjamin.berg@xxxxxxxxx> --- v2: * Add sleep 1 into inside.sh * Remove duplicate strip() * Raise an exception if PID was not found --- tests/hwsim/test_ap_eap.py | 17 ++++++----------- tests/hwsim/vm/inside.sh | 3 +++ 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/tests/hwsim/test_ap_eap.py b/tests/hwsim/test_ap_eap.py index bfc1bb417..beb02f965 100644 --- a/tests/hwsim/test_ap_eap.py +++ b/tests/hwsim/test_ap_eap.py @@ -7607,20 +7607,15 @@ def test_ap_wpa2_eap_psk_mac_addr_change(dev, apdev): params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap") hapd = hostapd.add_ap(apdev[0], params) - cmd = subprocess.Popen(['ps', '-eo', 'pid,command'], stdout=subprocess.PIPE) - res = cmd.stdout.read().decode() + cmd = subprocess.Popen(['pgrep', '-nf', 'wpa_supplicant.*' + dev[0].ifname], stdout=subprocess.PIPE) + res = cmd.stdout.read().decode().strip() cmd.stdout.close() pid = 0 - for p in res.splitlines(): - if "wpa_supplicant" not in p: - continue - if dev[0].ifname not in p: - continue - pid = int(p.strip().split(' ')[0]) - if pid == 0: - logger.info("Could not find wpa_supplicant PID") - else: + if res: + pid = int(res) logger.info("wpa_supplicant PID %d" % pid) + else: + raise Exception("Could not find wpa_supplicant PID") addr = dev[0].get_status_field("address") subprocess.call(['ip', 'link', 'set', 'dev', dev[0].ifname, 'down']) diff --git a/tests/hwsim/vm/inside.sh b/tests/hwsim/vm/inside.sh index 38c5284d9..31dfb9d57 100755 --- a/tests/hwsim/vm/inside.sh +++ b/tests/hwsim/vm/inside.sh @@ -146,6 +146,9 @@ if [ "$TELNET" = "1" ] ; then ) & fi +# procps 3.3.17 needs an uptime of >1s (relevant for UML time-travel) +sleep 1 + # check if we're rebooting due to a kernel panic ... if grep -q 'Kernel panic' /tmp/logs/console ; then echo "KERNEL CRASHED!" >/dev/ttyS0 -- 2.43.0 _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap