From befd671c9c1427e8a8c16a52f14c2a3e29871be1 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Fri, 25 Apr 2014 22:45:12 +0300 Subject: [PATCH] tests: Make ap_wps_er_add_enrollee check a bit more robust It is possible for the final step of the test case to fail under load (e.g., when using parallel-vm.sh with large number of VMs), so run through additional scan iterations if the WPS-AUTH flag does not get removed immediately. Signed-off-by: Jouni Malinen --- tests/hwsim/test_ap_wps.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/tests/hwsim/test_ap_wps.py b/tests/hwsim/test_ap_wps.py index 3a1a4265c..2da499139 100644 --- a/tests/hwsim/test_ap_wps.py +++ b/tests/hwsim/test_ap_wps.py @@ -886,11 +886,17 @@ def test_ap_wps_er_add_enrollee(dev, apdev): if ev is None: raise Exception("WPS ER unsubscription timed out") # It takes some time for the UPnP UNSUBSCRIBE command to go through, so wait - # a bit before verifying that the scan results have change. + # a bit before verifying that the scan results have changed. time.sleep(0.2) - dev[1].scan(freq="2412") - bss = dev[1].get_bss(apdev[0]['bssid']) + for i in range(0, 10): + dev[1].request("BSS_FLUSH 0") + dev[1].scan(freq="2412", only_new=True) + bss = dev[1].get_bss(apdev[0]['bssid']) + if bss and 'flags' in bss and "[WPS-AUTH]" not in bss['flags']: + break + logger.debug("WPS-AUTH flag was still in place - wait a bit longer") + time.sleep(0.1) if "[WPS-AUTH]" in bss['flags']: raise Exception("WPS-AUTH flag not removed")