3
0
mirror of https://git.kernel.org/pub/scm/network/wireless/iwd.git synced 2024-11-29 22:19:23 +01:00
iwd/autotests/testEAP-WPS/pin_test.py
Tim Kourt 55b3a974c6 auto-t: Split EAP-WPS tests
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.
2019-03-19 09:41:39 -05:00

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)