tests: Make FT test cases more robust
Scan explicitly for the AP that may be started during the test case execution. This is needed to work around issues where under heavy CPU load, the single active scan round may miss the delayed Probe Response from the second AP. In addition, check for ROAM/FT_DS failures to be able to report errors more clearly. Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
841bed04de
commit
655bc8bfd6
2 changed files with 5 additions and 2 deletions
|
@ -109,6 +109,7 @@ def run_roams(dev, apdev, ssid, passphrase, over_ds=False, sae=False, eap=False,
|
||||||
hwsim_utils.test_connectivity(dev.ifname, ap1['ifname'])
|
hwsim_utils.test_connectivity(dev.ifname, ap1['ifname'])
|
||||||
|
|
||||||
logger.info("Roam to the second AP")
|
logger.info("Roam to the second AP")
|
||||||
|
dev.scan_for_bss(ap2['bssid'], freq="2412")
|
||||||
if over_ds:
|
if over_ds:
|
||||||
dev.roam_over_ds(ap2['bssid'], fail_test=fail_test)
|
dev.roam_over_ds(ap2['bssid'], fail_test=fail_test)
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -720,7 +720,8 @@ class WpaSupplicant:
|
||||||
|
|
||||||
def roam(self, bssid, fail_test=False):
|
def roam(self, bssid, fail_test=False):
|
||||||
self.dump_monitor()
|
self.dump_monitor()
|
||||||
self.request("ROAM " + bssid)
|
if "OK" not in self.request("ROAM " + bssid):
|
||||||
|
raise Exception("ROAM failed")
|
||||||
if fail_test:
|
if fail_test:
|
||||||
ev = self.wait_event(["CTRL-EVENT-CONNECTED"], timeout=1)
|
ev = self.wait_event(["CTRL-EVENT-CONNECTED"], timeout=1)
|
||||||
if ev is not None:
|
if ev is not None:
|
||||||
|
@ -734,7 +735,8 @@ class WpaSupplicant:
|
||||||
|
|
||||||
def roam_over_ds(self, bssid, fail_test=False):
|
def roam_over_ds(self, bssid, fail_test=False):
|
||||||
self.dump_monitor()
|
self.dump_monitor()
|
||||||
self.request("FT_DS " + bssid)
|
if "OK" not in self.request("FT_DS " + bssid):
|
||||||
|
raise Exception("FT_DS failed")
|
||||||
if fail_test:
|
if fail_test:
|
||||||
ev = self.wait_event(["CTRL-EVENT-CONNECTED"], timeout=1)
|
ev = self.wait_event(["CTRL-EVENT-CONNECTED"], timeout=1)
|
||||||
if ev is not None:
|
if ev is not None:
|
||||||
|
|
Loading…
Reference in a new issue