]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
tests: Work around invalid ap_wps_ie_fragmentation failures
authorJouni Malinen <j@w1.fi>
Sun, 13 Apr 2014 21:53:27 +0000 (00:53 +0300)
committerJouni Malinen <j@w1.fi>
Sun, 13 Apr 2014 21:53:27 +0000 (00:53 +0300)
This can fail if Probe Response frame is missed and Beacon frame was
used to fill in the BSS entry. This can happen, e.g., during heavy load
every now and then and is not really an error, so try to workaround by
runnign another scan.

Signed-off-by: Jouni Malinen <j@w1.fi>
tests/hwsim/test_ap_wps.py

index f8e6c63cc82ea7c703d77de06f12266f265d34c1..3a1a4265cf3d9c959c8eb0b41f70ff09a7ddaa28 100644 (file)
@@ -1223,8 +1223,17 @@ def test_ap_wps_ie_fragmentation(dev, apdev):
         raise Exception("Association with the AP timed out")
     bss = dev[0].get_bss(apdev[0]['bssid'])
     if "wps_device_name" not in bss or bss['wps_device_name'] != "1234567890abcdef1234567890abcdef":
+        logger.info("Device Name not received correctly")
         logger.info(bss)
-        raise Exception("Device Name not received correctly")
+        # This can fail if Probe Response frame is missed and Beacon frame was
+        # used to fill in the BSS entry. This can happen, e.g., during heavy
+        # load every now and then and is not really an error, so try to
+        # workaround by runnign another scan.
+        dev[0].scan(freq="2412", only_new=True)
+        bss = dev[0].get_bss(apdev[0]['bssid'])
+        if "wps_device_name" not in bss or bss['wps_device_name'] != "1234567890abcdef1234567890abcdef":
+            logger.info(bss)
+            raise Exception("Device Name not received correctly")
     if len(re.findall("dd..0050f204", bss['ie'])) != 2:
         raise Exception("Unexpected number of WPS IEs")