mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-12-21 11:52:34 +01:00
55b3a974c6
Previously, the WPS tests have shared a single instance of iwd among themselves. This approach didn’t allow to identify which tests have passed and which failed. The new solution makes WPS tests independent from each other by creating a new instance of iwd for each one of them.
52 lines
1.1 KiB
Python
52 lines
1.1 KiB
Python
#!/usr/bin/python3
|
|
|
|
import unittest
|
|
import sys
|
|
|
|
sys.path.append('../util')
|
|
import iwd
|
|
from iwd import IWD
|
|
from iwd import DeviceState
|
|
|
|
from hostapd import HostapdCLI
|
|
from hostapd import hostapd_map
|
|
|
|
class Test(unittest.TestCase):
|
|
|
|
def pin_success(self, wd):
|
|
|
|
devices = wd.list_devices(1)
|
|
device = devices[0]
|
|
pin = device.wps_generate_pin()
|
|
self.hostapd.wps_pin(pin)
|
|
|
|
device.wps_start_pin(pin)
|
|
|
|
condition = 'obj.state == DeviceState.connected'
|
|
wd.wait_for_object_condition(device, condition)
|
|
|
|
device.disconnect()
|
|
|
|
condition = 'obj.state == DeviceState.disconnected'
|
|
wd.wait_for_object_condition(device, condition)
|
|
|
|
def test_connection_success(self):
|
|
wd = IWD(True)
|
|
|
|
try:
|
|
self.pin_success(wd)
|
|
finally:
|
|
del wd
|
|
|
|
@classmethod
|
|
def setUpClass(cls):
|
|
cls.hostapd_if = list(hostapd_map.values())[0]
|
|
cls.hostapd = HostapdCLI(cls.hostapd_if)
|
|
|
|
@classmethod
|
|
def tearDownClass(cls):
|
|
IWD.clear_storage()
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main(exit=True)
|