mirror of
				https://git.kernel.org/pub/scm/network/wireless/iwd.git
				synced 2025-10-31 04:57:25 +01:00 
			
		
		
		
	 07fc7905ca
			
		
	
	
		07fc7905ca
		
	
	
	
	
		
			
			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()
		
			
				
	
	
		
			66 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| #!/usr/bin/python3
 | |
| 
 | |
| import unittest
 | |
| import sys
 | |
| import os
 | |
| 
 | |
| sys.path.append('../util')
 | |
| from iwd import IWD
 | |
| from iwd import IWD_CONFIG_DIR
 | |
| from iwd import PSKAgent
 | |
| from iwd import NetworkType
 | |
| from hostapd import HostapdCLI
 | |
| import testutil
 | |
| 
 | |
| class Test(unittest.TestCase):
 | |
| 
 | |
|     def test_connection_success(self):
 | |
|         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]
 | |
| 
 | |
|         ordered_network = device.get_ordered_network('Hotspot')
 | |
| 
 | |
|         self.assertEqual(ordered_network.type, NetworkType.eap)
 | |
| 
 | |
|         condition = 'not obj.connected'
 | |
|         wd.wait_for_object_condition(ordered_network.network_object, condition)
 | |
| 
 | |
|         ordered_network.network_object.connect()
 | |
| 
 | |
|         condition = 'obj.state == DeviceState.connected'
 | |
|         wd.wait_for_object_condition(device, condition)
 | |
| 
 | |
|         testutil.test_iface_operstate()
 | |
|         testutil.test_ifaces_connected(device.name, hapd.ifname)
 | |
| 
 | |
|         device.disconnect()
 | |
| 
 | |
|         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('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)
 |