tests: Scan and only_new=1 multiple times
Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
71ac934530
commit
79124c7ba1
2 changed files with 38 additions and 0 deletions
|
@ -1228,3 +1228,37 @@ def test_scan_chan_switch(dev, apdev):
|
||||||
dev[0].dump_monitor()
|
dev[0].dump_monitor()
|
||||||
run_scan(dev[0], bssid, 2412)
|
run_scan(dev[0], bssid, 2412)
|
||||||
dev[0].dump_monitor()
|
dev[0].dump_monitor()
|
||||||
|
|
||||||
|
def test_scan_new_only(dev, apdev):
|
||||||
|
"""Scan and only_new=1 multiple times"""
|
||||||
|
try:
|
||||||
|
_test_scan_new_only(dev, apdev)
|
||||||
|
finally:
|
||||||
|
dev[0].set("ignore_old_scan_res", "0")
|
||||||
|
def _test_scan_new_only(dev, apdev):
|
||||||
|
dev[0].flush_scan_cache()
|
||||||
|
hapd = hostapd.add_ap(apdev[0], { "ssid": "test-scan" })
|
||||||
|
dev[0].set("ignore_old_scan_res", "1")
|
||||||
|
# Get the BSS added to cfg80211 BSS list
|
||||||
|
bssid = hapd.own_addr()
|
||||||
|
dev[0].scan_for_bss(bssid, freq=2412)
|
||||||
|
bss = dev[0].get_bss(bssid)
|
||||||
|
idx1 = bss['update_idx']
|
||||||
|
dev[0].scan_for_bss(bssid, freq=2412, force_scan=True)
|
||||||
|
dev[0].scan_for_bss(bssid, freq=2412, force_scan=True)
|
||||||
|
bss = dev[0].get_bss(bssid)
|
||||||
|
idx2 = bss['update_idx']
|
||||||
|
if int(idx2) <= int(idx1):
|
||||||
|
raise Exception("Scan result update_idx did not increase")
|
||||||
|
# Disable AP to ensure there are no new scan results after this.
|
||||||
|
hapd.disable()
|
||||||
|
|
||||||
|
# Try to scan multiple times to verify that old scan results do not get
|
||||||
|
# accepted as new.
|
||||||
|
for i in range(10):
|
||||||
|
dev[0].scan(freq=2412)
|
||||||
|
bss = dev[0].get_bss(bssid)
|
||||||
|
if bss:
|
||||||
|
idx = bss['update_idx']
|
||||||
|
if int(idx) > int(idx2):
|
||||||
|
raise Exception("Unexpected update_idx increase")
|
||||||
|
|
|
@ -250,6 +250,10 @@ class WpaSupplicant:
|
||||||
if not self.ping():
|
if not self.ping():
|
||||||
logger.info("No PING response from " + self.ifname + " after reset")
|
logger.info("No PING response from " + self.ifname + " after reset")
|
||||||
|
|
||||||
|
def set(self, field, value):
|
||||||
|
if not "OK" in self.request("SET " + field + " " + value):
|
||||||
|
raise Exception("Failed to set wpa_supplicant parameter " + field)
|
||||||
|
|
||||||
def add_network(self):
|
def add_network(self):
|
||||||
id = self.request("ADD_NETWORK")
|
id = self.request("ADD_NETWORK")
|
||||||
if "FAIL" in id:
|
if "FAIL" in id:
|
||||||
|
|
Loading…
Reference in a new issue