]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
tests: Make ap_wps_probe_req_ie_oom more robust
authorJouni Malinen <jouni@qca.qualcomm.com>
Mon, 28 Dec 2015 10:52:59 +0000 (12:52 +0200)
committerJouni Malinen <j@w1.fi>
Mon, 28 Dec 2015 15:21:08 +0000 (17:21 +0200)
It was possible to hit a race condition between WPS_CANCEL and
immediately following WPS_PIN command. Wait for a disconnection event to
avoid that. This was seen with the following test case sequence:
ap_wpa2_psk_supp_proto_wrong_group_key_len ap_wps_probe_req_ie_oom

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
tests/hwsim/test_ap_wps.py

index 9a625218297cca097d4e65f097d335987ccafc93..c7df2b7f056db97960d9f79da3f23adb3f1bd80b 100644 (file)
@@ -4931,6 +4931,7 @@ def test_ap_wps_probe_req_ie_oom(dev, apdev):
         if ev is None:
             raise Exception("Association not seen")
     dev[0].request("WPS_CANCEL")
+    dev[0].wait_disconnected()
 
     with alloc_fail(dev[0], 1, "wps_ie_encapsulate"):
         dev[0].request("WPS_PIN %s %s" % (apdev[0]['bssid'], pin))
@@ -4938,6 +4939,11 @@ def test_ap_wps_probe_req_ie_oom(dev, apdev):
         if ev is None:
             raise Exception("Association not seen")
     dev[0].request("WPS_CANCEL")
+    hapd.disable()
+    dev[0].request("REMOVE_NETWORK all")
+    dev[0].wait_disconnected()
+    time.sleep(0.2)
+    dev[0].flush_scan_cache()
 
 def test_ap_wps_assoc_req_ie_oom(dev, apdev):
     """WPS AssocReq IE OOM"""