tests: Split dfs_radar into two test cases (dfs_radar1 and dfs_radar2)
These DFS radar detection cases were in a single test case to optimize test execution time with parallel wait for the 60 second CAC. However, this design has become difficult to support with the kernel changes that allow radar events to be shared between interfaces. To avoid need for more workarounds here just for testing purposes, split this into two test cases so that conflicting events from another interface do not cause the test case to fail. Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
725a953aea
commit
32452fd2aa
1 changed files with 28 additions and 23 deletions
|
@ -203,18 +203,15 @@ def test_dfs_etsi(dev, apdev, params):
|
|||
subprocess.call(['iw', 'reg', 'set', '00'])
|
||||
dev[0].flush_scan_cache()
|
||||
|
||||
def test_dfs_radar(dev, apdev):
|
||||
"""DFS CAC functionality with radar detected"""
|
||||
def test_dfs_radar1(dev, apdev):
|
||||
"""DFS CAC functionality with radar detected during initial CAC"""
|
||||
try:
|
||||
hapd = None
|
||||
hapd2 = None
|
||||
hapd = start_dfs_ap(apdev[0], allow_failure=True)
|
||||
time.sleep(1)
|
||||
|
||||
dfs_simulate_radar(hapd)
|
||||
|
||||
hapd2 = start_dfs_ap(apdev[1], ssid="dfs2", ht40=True)
|
||||
|
||||
ev = wait_dfs_event(hapd, "DFS-CAC-COMPLETED", 5)
|
||||
if ev is None:
|
||||
raise Exception("Timeout on DFS aborted event")
|
||||
|
@ -258,31 +255,39 @@ def test_dfs_radar(dev, apdev):
|
|||
raise Exception("Unexpected frequency: " + freq)
|
||||
|
||||
dev[0].connect("dfs", key_mgmt="NONE")
|
||||
|
||||
ev = hapd2.wait_event(["AP-ENABLED"], timeout=70)
|
||||
if not ev:
|
||||
raise Exception("AP2 setup timed out")
|
||||
|
||||
dfs_simulate_radar(hapd2)
|
||||
|
||||
ev = wait_dfs_event(hapd2, "DFS-RADAR-DETECTED", 5)
|
||||
if "freq=5260 ht_enabled=1 chan_offset=1 chan_width=2" not in ev:
|
||||
raise Exception("Unexpected DFS radar detection freq from AP2")
|
||||
|
||||
ev = wait_dfs_event(hapd2, "DFS-NEW-CHANNEL", 5)
|
||||
if "freq=5260" in ev:
|
||||
raise Exception("Unexpected DFS new freq for AP2")
|
||||
|
||||
wait_dfs_event(hapd2, None, 5)
|
||||
finally:
|
||||
dev[0].request("DISCONNECT")
|
||||
if hapd:
|
||||
hapd.request("DISABLE")
|
||||
if hapd2:
|
||||
hapd2.request("DISABLE")
|
||||
subprocess.call(['iw', 'reg', 'set', '00'])
|
||||
dev[0].flush_scan_cache()
|
||||
|
||||
def test_dfs_radar2(dev, apdev):
|
||||
"""DFS CAC functionality with radar detected after initial CAC"""
|
||||
try:
|
||||
hapd = None
|
||||
hapd = start_dfs_ap(apdev[0], ssid="dfs2", ht40=True)
|
||||
|
||||
ev = hapd.wait_event(["AP-ENABLED"], timeout=70)
|
||||
if not ev:
|
||||
raise Exception("AP2 setup timed out")
|
||||
|
||||
dfs_simulate_radar(hapd)
|
||||
|
||||
ev = wait_dfs_event(hapd, "DFS-RADAR-DETECTED", 5)
|
||||
if "freq=5260 ht_enabled=1 chan_offset=1 chan_width=2" not in ev:
|
||||
raise Exception("Unexpected DFS radar detection freq from AP2")
|
||||
|
||||
ev = wait_dfs_event(hapd, "DFS-NEW-CHANNEL", 5)
|
||||
if "freq=5260" in ev:
|
||||
raise Exception("Unexpected DFS new freq for AP2")
|
||||
|
||||
wait_dfs_event(hapd, None, 5)
|
||||
finally:
|
||||
if hapd:
|
||||
hapd.request("DISABLE")
|
||||
subprocess.call(['iw', 'reg', 'set', '00'])
|
||||
|
||||
@remote_compatible
|
||||
def test_dfs_radar_on_non_dfs_channel(dev, apdev):
|
||||
"""DFS radar detection test code on non-DFS channel"""
|
||||
|
|
Loading…
Reference in a new issue