auto-t: fix error handling in testHotspot

testHotspot suffered from improper cleanup and if a single test failed
all subsequent tests would fail due to IWD still running since IWD()
was never cleaned up.

In addition the PSK agent and hwsim rules are now set onto the cls
object and removed in tearDownClass()
This commit is contained in:
James Prestwood 2021-08-18 14:50:27 -07:00 committed by Denis Kenzior
parent 8e5a68f407
commit 07fc7905ca
5 changed files with 46 additions and 24 deletions

View File

@ -17,19 +17,9 @@ from time import sleep
class Test(unittest.TestCase):
def test_connection_success(self):
hwsim = Hwsim()
bss_radio = hwsim.get_radio('rad0')
rule0 = hwsim.rules.create()
rule0.source = bss_radio.addresses[0]
rule0.bidirectional = True
wd = IWD(True)
hapd = HostapdCLI(config='ssidHotspot.conf')
psk_agent = PSKAgent('abc', ('domain\\user', 'testpasswd'))
wd.register_psk_agent(psk_agent)
wd = self.wd
hapd = self.hapd
rule0 = self.rule0
devices = wd.list_devices(1)
device = devices[0]
@ -82,17 +72,35 @@ class Test(unittest.TestCase):
condition = 'not obj.connected'
wd.wait_for_object_condition(ordered_network.network_object, condition)
wd.unregister_psk_agent(psk_agent)
@classmethod
def setUpClass(cls):
cls.hwsim = Hwsim()
bss_radio = cls.hwsim.get_radio('rad0')
cls.rule0 = cls.hwsim.rules.create()
cls.rule0.source = bss_radio.addresses[0]
cls.rule0.bidirectional = True
cls.hapd = HostapdCLI(config='ssidHotspot.conf')
IWD.copy_to_hotspot('example.conf')
IWD.copy_to_storage('anqp_enabled.conf', storage_dir=IWD_CONFIG_DIR, name='main.conf')
cls.wd = IWD(True)
cls.psk_agent = PSKAgent('abc', ('domain\\user', 'testpasswd'))
cls.wd.register_psk_agent(cls.psk_agent)
@classmethod
def tearDownClass(cls):
IWD.clear_storage()
cls.wd.unregister_psk_agent(cls.psk_agent)
cls.psk_agent = None
os.remove('/tmp/main.conf')
cls.hwsim.rules.remove_all()
cls.hwsim = None
cls.wd = None
if __name__ == '__main__':
unittest.main(exit=True)

View File

@ -14,7 +14,7 @@ import testutil
class Test(unittest.TestCase):
def test_connection_success(self):
wd = IWD(True, '/tmp')
wd = self.wd
hapd_hotspot = HostapdCLI(config='ssidHotspot.conf')
hapd_wpa = HostapdCLI(config='ssidWPA2-1.conf')
@ -111,10 +111,14 @@ class Test(unittest.TestCase):
IWD.copy_to_storage('ssidWPA2-1.psk')
IWD.copy_to_storage('anqp_enabled.conf', storage_dir=IWD_CONFIG_DIR, name='main.conf')
cls.wd = IWD(True)
@classmethod
def tearDownClass(cls):
IWD.clear_storage()
os.remove('/tmp/main.conf')
cls.wd = None
if __name__ == '__main__':
unittest.main(exit=True)

View File

@ -15,7 +15,7 @@ import testutil
class Test(unittest.TestCase):
def test_connection_success(self):
wd = IWD(True, '/tmp')
wd = self.wd
hapd = HostapdCLI(config='ssidHotspot.conf')
@ -52,10 +52,14 @@ class Test(unittest.TestCase):
IWD.copy_to_hotspot('hessid.conf')
IWD.copy_to_storage('anqp_disabled.conf', storage_dir=IWD_CONFIG_DIR, name='main.conf')
cls.wd = IWD(True)
@classmethod
def tearDownClass(cls):
IWD.clear_storage()
os.remove('/tmp/main.conf')
cls.wd = None
if __name__ == '__main__':
unittest.main(exit=True)

View File

@ -15,7 +15,7 @@ import testutil
class Test(unittest.TestCase):
def test_connection_success(self):
wd = IWD(True, '/tmp')
wd = self.wd
hapd = HostapdCLI(config='ssidHotspot.conf')
@ -52,10 +52,14 @@ class Test(unittest.TestCase):
IWD.copy_to_hotspot('example.conf')
IWD.copy_to_storage('anqp_enabled.conf', storage_dir=IWD_CONFIG_DIR, name='main.conf')
cls.wd = IWD(True)
@classmethod
def tearDownClass(cls):
IWD.clear_storage()
os.remove('/tmp/main.conf')
cls.wd = None
if __name__ == '__main__':
unittest.main(exit=True)

View File

@ -15,13 +15,10 @@ import testutil
class Test(unittest.TestCase):
def test_connection_success(self):
wd = IWD(True, '/tmp')
wd = self.wd
hapd = HostapdCLI(config='ssidHotspot.conf')
psk_agent = PSKAgent('abc', ('domain\\user', 'testpasswd'))
wd.register_psk_agent(psk_agent)
devices = wd.list_devices(1)
device = devices[0]
@ -45,17 +42,22 @@ class Test(unittest.TestCase):
condition = 'not obj.connected'
wd.wait_for_object_condition(ordered_network.network_object, condition)
wd.unregister_psk_agent(psk_agent)
@classmethod
def setUpClass(cls):
IWD.copy_to_hotspot('roaming.conf')
IWD.copy_to_storage('anqp_disabled.conf', storage_dir=IWD_CONFIG_DIR, name='main.conf')
cls.wd = IWD(True)
cls.psk_agent = PSKAgent('abc', ('domain\\user', 'testpasswd'))
cls.wd.register_psk_agent(cls.psk_agent)
@classmethod
def tearDownClass(cls):
IWD.clear_storage()
os.remove('/tmp/main.conf')
cls.wd.unregister_psk_agent(cls.psk_agent)
cls.wd = None
if __name__ == '__main__':
unittest.main(exit=True)