mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-12-22 13:02:44 +01:00
bb27cea54c
The cls object is part of the unittest framework and its lifespan is out of test-runner's control. Setting objects into the cls object sometimes keeps those objects around longer than desired. Its best to unset anything set in cls when the test is tore down.
53 lines
1.1 KiB
Python
53 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
|
|
|
|
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)
|
|
|
|
self.assertEqual(len(wd.list_known_networks()), 1)
|
|
|
|
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 = HostapdCLI(config='ssidWPS.conf')
|
|
|
|
@classmethod
|
|
def tearDownClass(cls):
|
|
IWD.clear_storage()
|
|
cls.hostapd = None
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main(exit=True)
|