[PATCH 04/12] hwsim: Use pgrep instead of ps
Andrei Otcheretianski
andrei.otcheretianski at intel.com
Mon Dec 25 02:21:01 PST 2023
From: Benjamin Berg <benjamin.berg at intel.com>
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 at intel.com>
---
tests/hwsim/test_ap_eap.py | 17 ++++++-----------
1 file changed, 6 insertions(+), 11 deletions(-)
diff --git a/tests/hwsim/test_ap_eap.py b/tests/hwsim/test_ap_eap.py
index bfc1bb4175..3885943153 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.strip())
logger.info("wpa_supplicant PID %d" % pid)
+ else:
+ logger.info("Could not find wpa_supplicant PID")
addr = dev[0].get_status_field("address")
subprocess.call(['ip', 'link', 'set', 'dev', dev[0].ifname, 'down'])
--
2.43.0
More information about the Hostap
mailing list