3
0
mirror of https://git.kernel.org/pub/scm/network/wireless/iwd.git synced 2024-11-02 10:09:23 +01:00
iwd/autotests/testScan/periodic_scan_test.py
James Prestwood 0c8f06441e auto-t: speed up testScan
This test was taking about 5 minutes to run, specifically
the requested scan test. One slight optimization is to
remove the duplicate hidden network, since there is no
need for two. In addition the requested scan test was
changed so it does not periodic scan and only issues a dbus
scan.
2022-10-06 14:41:26 -05:00

69 lines
1.7 KiB
Python

#!/usr/bin/python3
import unittest
import sys
sys.path.append('../util')
import iwd
from iwd import IWD
class Test(unittest.TestCase):
dict = {
'ssid_open': False,
'ssid_psk': False,
'ssid_8021x': False,
'ssid_hidden_0': False,
}
def set_network(self, ssid):
if ssid not in self.dict:
return
if self.dict[ssid]:
raise Exception('Duplicated list entry')
self.dict[ssid] = True
def validate_scan(self, wd):
devices = wd.list_devices(1)
self.assertIsNotNone(devices)
device = devices[0]
device.autoconnect = True
# Device initiates a passive periodic scan.
condition = 'obj.scanning'
wd.wait_for_object_condition(device, condition)
condition = 'not obj.scanning'
wd.wait_for_object_condition(device, condition)
# Hidden networks observed in the scan results, device initialtes a
# second active periodic scan to discover the known hidden networks.
condition = 'obj.scanning'
wd.wait_for_object_condition(device, condition)
condition = 'not obj.scanning'
wd.wait_for_object_condition(device, condition)
ordered_networks = device.get_ordered_networks()
for network in ordered_networks:
self.set_network(network.name)
def test_scan(self):
wd = IWD(True, '/tmp')
self.validate_scan(wd)
for ssid, seen in self.dict.items():
self.assertEqual(seen, True)
@classmethod
def setUpClass(cls):
IWD.copy_to_storage('ssid_hidden_0.open')
@classmethod
def tearDownClass(cls):
IWD.clear_storage()
if __name__ == '__main__':
unittest.main(exit=True)