[PATCH 01/17] tests: wait for radio work to start after DPP_LISTEN command

Johannes Berg johannes at sipsolutions.net
Mon Sep 25 00:20:41 PDT 2023


From: Johannes Berg <johannes.berg at intel.com>

Since DPP listen is a radio work, it doesn't start immediately and
then we can end up missing whatever happens next in the test. Wait
for the radio work to start before continuing the test.

Signed-off-by: Johannes Berg <johannes.berg at intel.com>
---
 tests/hwsim/wpasupplicant.py | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/tests/hwsim/wpasupplicant.py b/tests/hwsim/wpasupplicant.py
index bd53a1ec0991..2fdaa2c5a711 100644
--- a/tests/hwsim/wpasupplicant.py
+++ b/tests/hwsim/wpasupplicant.py
@@ -1545,6 +1545,15 @@ class WpaSupplicant:
             cmd += " role=" + role
         if "OK" not in self.request(cmd):
             raise Exception("Failed to start listen operation")
+        # Since DPP listen is a radio work, make sure it has started
+        # by the time we return and continue with the test, since it
+        # usually will send something this side should receive.
+        work_started = "dpp-listen@" + self.ifname + ":" + str(freq) + ":1"
+        for i in range(10):
+            if work_started in self.request("RADIO_WORK show"):
+                return
+            time.sleep(0.01)
+        raise Exception("Faield to start DPP listen work")
 
     def dpp_auth_init(self, peer=None, uri=None, conf=None, configurator=None,
                       extra=None, own=None, role=None, neg_freq=None,
-- 
2.41.0




More information about the Hostap mailing list