Browse Source

tests: wpa_supplicant WPS_AP_PIN random PIN timeout and error caes

Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen 10 years ago
parent
commit
8e33f9c67f
1 changed files with 21 additions and 0 deletions
  1. 21 0
      tests/hwsim/test_wpas_ap.py

+ 21 - 0
tests/hwsim/test_wpas_ap.py

@@ -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")