tests: Give some operations more time

With more channels now available in some regulatory domains, some scan
operations can take longer. Give them more time to complete in tests.

For two cases this required adding a timeout parameter to connect(),
which is then passed through.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Johannes Berg 2023-11-24 21:25:18 +01:00 committed by Jouni Malinen
parent c8b4ad70b1
commit e4f1a48bd2
4 changed files with 12 additions and 9 deletions

View file

@ -109,7 +109,7 @@ def test_dfs(dev, apdev):
if freq != "5260":
raise Exception("Unexpected frequency")
dev[0].connect("dfs", key_mgmt="NONE")
dev[0].connect("dfs", key_mgmt="NONE", timeout=30)
dev[0].wait_regdom(country_ie=True)
hwsim_utils.test_connectivity(dev[0], hapd)

View file

@ -695,7 +695,7 @@ def test_scan_setband(dev, apdev):
d.request("SCAN only_new=1")
for d in devs:
ev = d.wait_event(["CTRL-EVENT-SCAN-RESULTS"], 15)
ev = d.wait_event(["CTRL-EVENT-SCAN-RESULTS"], 30)
if ev is None:
raise Exception("Scan timed out")
@ -1031,7 +1031,7 @@ def _test_scan_dfs(dev, apdev, params):
if "OK" not in dev[0].request("SCAN"):
raise Exception("SCAN command failed")
ev = dev[0].wait_event(["CTRL-EVENT-SCAN-RESULTS"], timeout=15)
ev = dev[0].wait_event(["CTRL-EVENT-SCAN-RESULTS"], timeout=30)
if ev is None:
raise Exception("Scan did not complete")

View file

@ -391,7 +391,7 @@ def _test_wpas_ap_dfs(dev):
if ev is None:
raise Exception("AP failed to start")
dev[1].connect("wpas-ap-dfs", key_mgmt="NONE")
dev[1].connect("wpas-ap-dfs", key_mgmt="NONE", timeout=30)
dev[1].wait_regdom(country_ie=True)
dev[0].request("DISCONNECT")
dev[1].disconnect_and_stop_scan()

View file

@ -1069,7 +1069,7 @@ class WpaSupplicant:
if tspecs:
raise Exception("DELTS failed (still in tspec list)")
def connect(self, ssid=None, ssid2=None, **kwargs):
def connect(self, ssid=None, ssid2=None, timeout=None, **kwargs):
logger.info("Connect STA " + self.ifname + " to AP")
id = self.add_network()
if ssid:
@ -1121,6 +1121,12 @@ class WpaSupplicant:
if field in kwargs and kwargs[field]:
self.set_network(id, field, kwargs[field])
if timeout is None:
if "eap" in kwargs:
timeout=20
else:
timeout=15
known_args = {"raw_psk", "password_hex", "peerkey", "okc", "ocsp",
"only_add_network", "wait_connect", "raw_identity"}
unknown = set(kwargs.keys())
@ -1145,10 +1151,7 @@ class WpaSupplicant:
if "only_add_network" in kwargs and kwargs['only_add_network']:
return id
if "wait_connect" not in kwargs or kwargs['wait_connect']:
if "eap" in kwargs:
self.connect_network(id, timeout=20)
else:
self.connect_network(id, timeout=15)
self.connect_network(id, timeout=timeout)
else:
self.dump_monitor()
self.select_network(id)