tests: Avoid race condition in scan_external_trigger
Wait for the externally triggered scan to actually start before issuing the own scan command to avoid a race condition with UML time-travel. Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
45817ad1a3
commit
4c4ba77e65
1 changed files with 7 additions and 6 deletions
|
@ -20,6 +20,13 @@ from tshark import run_tshark
|
|||
from test_ap_csa import switch_channel, wait_channel_switch
|
||||
|
||||
def check_scan(dev, params, other_started=False, test_busy=False):
|
||||
if other_started:
|
||||
ev = dev.wait_event(["CTRL-EVENT-SCAN-STARTED"])
|
||||
if ev is None:
|
||||
raise Exception("Other scan did not start")
|
||||
if "id=" in ev:
|
||||
raise Exception("Scan id unexpectedly included in start event")
|
||||
|
||||
if not other_started:
|
||||
dev.dump_monitor()
|
||||
id = dev.request("SCAN " + params)
|
||||
|
@ -32,12 +39,6 @@ def check_scan(dev, params, other_started=False, test_busy=False):
|
|||
raise Exception("SCAN command while already scanning not rejected")
|
||||
|
||||
if other_started:
|
||||
ev = dev.wait_event(["CTRL-EVENT-SCAN-STARTED"])
|
||||
if ev is None:
|
||||
raise Exception("Other scan did not start")
|
||||
if "id=" + str(id) in ev:
|
||||
raise Exception("Own scan id unexpectedly included in start event")
|
||||
|
||||
ev = dev.wait_event(["CTRL-EVENT-SCAN-RESULTS"])
|
||||
if ev is None:
|
||||
raise Exception("Other scan did not complete")
|
||||
|
|
Loading…
Reference in a new issue