tests: wpa_supplicant WPS_AP_PIN random PIN timeout and error caes
authorJouni Malinen <j@w1.fi>
Sun, 7 Dec 2014 15:47:02 +0000 (17:47 +0200)
committerJouni Malinen <j@w1.fi>
Mon, 8 Dec 2014 09:07:56 +0000 (11:07 +0200)
Signed-off-by: Jouni Malinen <j@w1.fi>
tests/hwsim/test_wpas_ap.py

index 15f38c7..deca65f 100644 (file)
@@ -217,3 +217,24 @@ def test_wpas_ap_wps(dev):
     ev = dev[0].wait_event(["WPS-AP-SETUP-LOCKED"])
     if ev is None:
         raise Exception("WPS AP PIN not locked")
+
+    dev[0].dump_monitor()
+    logger.info("Test random AP PIN timeout")
+    pin = dev[0].request("WPS_AP_PIN random 1")
+    if "FAIL" in pin:
+        raise Exception("Could not generate random AP PIN")
+    res = dev[0].request("WPS_AP_PIN get")
+    if pin not in res:
+        raise Exception("Could not fetch current AP PIN")
+    for i in range(10):
+        time.sleep(0.2)
+        res = dev[0].request("WPS_AP_PIN get")
+        if "FAIL" in res:
+            break
+    if "FAIL" not in res:
+        raise Exception("WPS_AP_PIN random timeout did not work")
+
+    if "FAIL" not in dev[0].request("WPS_AP_PIN foo"):
+        raise Exception("Invalid WPS_AP_PIN command not rejected")
+    if "FAIL" not in dev[0].request("WPS_AP_PIN set"):
+        raise Exception("Invalid WPS_AP_PIN command not rejected")