tests: Fix ap_ht_40mhz_intolerant_ap

The previous design did not actually break from the wait loop when the
AP changed back to 40 MHz channel and as such, ended up waiting the full
30 second time. Furthermore, the five second delay time for returning
back to 40 MHz was not sufficiently long to test behavior correctly
since the STA did not have any chances of returning the next coex report
before the AP had returned to 40 MHz. Increase the AP wait time to 15
seconds so that the once per 10 seconds OBSS scan from the STA gets in
before changing back to 40 MHz channel (after the 40 MHz intolerant AP
gets disabled).

Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
Jouni Malinen 2014-12-22 22:07:54 +02:00
parent d97a3c4885
commit b2eb3fe21c

View file

@ -584,7 +584,7 @@ def test_ap_ht_40mhz_intolerant_ap(dev, apdev):
params = { "ssid": "ht",
"channel": "6",
"ht_capab": "[HT40-]",
"obss_interval": "1" }
"obss_interval": "3" }
hapd = hostapd.add_ap(apdev[0]['ifname'], params)
dev[0].connect("ht", key_mgmt="NONE", scan_freq="2437")
@ -613,15 +613,18 @@ def test_ap_ht_40mhz_intolerant_ap(dev, apdev):
raise Exception("Failed to disable 40 MHz intolerant AP")
# make sure the intolerant AP disappears from scan results more quickly
dev[0].scan(only_new=True)
dev[0].scan(freq="2432", only_new=True)
dev[0].scan(type="ONLY", freq="2432", only_new=True)
dev[0].scan(type="ONLY", freq="2432", only_new=True)
dev[0].dump_monitor()
logger.info("Waiting for AP to move back to 40 MHz channel")
ok = False
for i in range(0, 30):
time.sleep(1)
if hapd.get_status_field("secondary_channel") == "-1":
logger.info("AP moved to 40 MHz channel")
ok = True
break
if not ok:
raise Exception("AP did not move to 40 MHz channel")