auto-t: increase wait time for blacklist test
PATCH 1/2 auto-t: increase wait time for blacklist test
This test was not reliably passing. Busy waiting is not really reliable, but in this specific case its really the only option as the blacklist must expire based on time.
--- autotests/testBSSBlacklist/connection_test.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
autotests/testBSSBlacklist/connection_test.py +5 -3
@@ -48,9 +48,11 @@ class Test(unittest.TestCase): psk_agent = PSKAgent("secret123") wd.register_psk_agent(psk_agent) - devices = wd.list_devices(1) + devices = wd.list_devices(2) device = devices[0] + devices[1].disconnect() + condition = 'not obj.scanning' wd.wait_for_object_condition(device, condition)
@@ -110,8 +112,8 @@ class Test(unittest.TestCase): # Wait for the blacklist to expire (10 seconds) elapsed = time.time() - start - if elapsed < 11: - time.sleep(11 - elapsed) + if elapsed < 15: + wd.wait(15 - elapsed) device.disconnect()
Signature · 1 line
2.21.1
PATCH 2/2 auto-t: remove busy wait for eapol reauth
Many tests force a reauth after the initial connection. When the tests were written there was no way of ensuring the reauth completed except waiting (IWD.wait()). Now we can wait for hostapd events in the tests, which is faster and more reliable than busy waiting.
--- autotests/testEAP-AKA/connection_test.py | 11 +++-------- autotests/testEAP-PEAPv0-CryptoBinding/NoISK_test.py | 11 +++-------- autotests/testEAP-PWD/connection_test.py | 12 +++--------- autotests/testEAP-SIM/connection_test.py | 11 +++-------- autotests/testEAP-TTLS-CHAP/connection_test.py | 11 +++-------- autotests/testEAP-TTLS-MSCHAP/connection_test.py | 11 +++-------- autotests/testEAP-TTLS-MSCHAPv2/connection_test.py | 3 ++- autotests/testEAP-TTLS-PAP/connection_test.py | 11 +++-------- 8 files changed, 23 insertions(+), 58 deletions(-)
autotests/testEAP-AKA/connection_test.py +3 -8
@@ -15,13 +15,7 @@ from hostapd import hostapd_map class Test(unittest.TestCase): def test_connection_success(self): - hostapd = None - - for hostapd_if in list(hostapd_map.values()): - hpd = HostapdCLI(hostapd_if) - if hpd.get_config_value('ssid') == 'ssidEAP-AKA': - hostapd = hpd - break + hostapd = HostapdCLI(config='ssidEAP-AKA.conf') self.assertIsNotNone(hostapd)
@@ -58,7 +52,8 @@ class Test(unittest.TestCase): hostapd.eapol_reauth(device.address) - wd.wait(10) + hostapd.wait_for_event('CTRL-EVENT-EAP-STARTED') + hostapd.wait_for_event('CTRL-EVENT-EAP-SUCCESS') condition = 'obj.connected' wd.wait_for_object_condition(ordered_network.network_object, condition)
autotests/testEAP-PEAPv0-CryptoBinding/NoISK_test.py +3 -8
@@ -16,13 +16,7 @@ from hostapd import hostapd_map class Test(unittest.TestCase): def validate_connection(self, wd): - hostapd = None - - for hostapd_if in list(hostapd_map.values()): - hpd = HostapdCLI(hostapd_if) - if hpd.get_config_value('ssid') == 'ssidEAP-PEAPv0-NoISK': - hostapd = hpd - break + hostapd = HostapdCLI(config='ssidEAP-PEAPv0-NoISK.conf') self.assertIsNotNone(hostapd)
@@ -52,7 +46,8 @@ class Test(unittest.TestCase): hostapd.eapol_reauth(device.address) - wd.wait(10) + hostapd.wait_for_event('CTRL-EVENT-EAP-STARTED') + hostapd.wait_for_event('CTRL-EVENT-EAP-SUCCESS') condition = 'obj.connected' wd.wait_for_object_condition(ordered_network.network_object, condition)
autotests/testEAP-PWD/connection_test.py +3 -9
@@ -15,14 +15,7 @@ from hostapd import hostapd_map class Test(unittest.TestCase): def validate_connection(self, wd): - - hostapd = None - - for hostapd_if in list(hostapd_map.values()): - hpd = HostapdCLI(hostapd_if) - if hpd.get_config_value('ssid') == 'ssidEAP-PWD': - hostapd = hpd - break + hostapd = HostapdCLI(config='ssidEAP-PWD.conf') self.assertIsNotNone(hostapd)
@@ -56,7 +49,8 @@ class Test(unittest.TestCase): hostapd.eapol_reauth(device.address) - wd.wait(10) + hostapd.wait_for_event('CTRL-EVENT-EAP-STARTED') + hostapd.wait_for_event('CTRL-EVENT-EAP-SUCCESS') condition = 'obj.connected' wd.wait_for_object_condition(ordered_network.network_object, condition)
autotests/testEAP-SIM/connection_test.py +3 -8
@@ -15,13 +15,7 @@ from hostapd import hostapd_map class Test(unittest.TestCase): def test_connection_success(self): - hostapd = None - - for hostapd_if in list(hostapd_map.values()): - hpd = HostapdCLI(hostapd_if) - if hpd.get_config_value('ssid') == 'ssidEAP-SIM': - hostapd = hpd - break + hostapd = HostapdCLI(config='ssidEAP-SIM.conf') auth = AuthCenter('/tmp/hlrauc.sock', '/tmp/sim.db')
@@ -56,7 +50,8 @@ class Test(unittest.TestCase): hostapd.eapol_reauth(device.address) - wd.wait(10) + hostapd.wait_for_event('CTRL-EVENT-EAP-STARTED') + hostapd.wait_for_event('CTRL-EVENT-EAP-SUCCESS') condition = 'obj.connected' wd.wait_for_object_condition(ordered_network.network_object, condition)
autotests/testEAP-TTLS-CHAP/connection_test.py +3 -8
@@ -16,13 +16,7 @@ from hostapd import hostapd_map class Test(unittest.TestCase): def test_connection_success(self): - hostapd = None - - for hostapd_if in list(hostapd_map.values()): - hpd = HostapdCLI(hostapd_if) - if hpd.get_config_value('ssid') == 'ssidEAP-TTLS-CHAP': - hostapd = hpd - break + hostapd = HostapdCLI(config='ssidEAP-TTLS-CHAP.conf') self.assertIsNotNone(hostapd)
@@ -55,7 +49,8 @@ class Test(unittest.TestCase): hostapd.eapol_reauth(device.address) - wd.wait(10) + hostapd.wait_for_event('CTRL-EVENT-EAP-STARTED') + hostapd.wait_for_event('CTRL-EVENT-EAP-SUCCESS') condition = 'obj.connected' wd.wait_for_object_condition(ordered_network.network_object, condition)
autotests/testEAP-TTLS-MSCHAP/connection_test.py +3 -8
@@ -16,13 +16,7 @@ from hostapd import hostapd_map class Test(unittest.TestCase): def test_connection_success(self): - hostapd = None - - for hostapd_if in hostapd_map.values(): - hpd = HostapdCLI(hostapd_if) - if hpd.get_config_value('ssid') == 'ssidEAP-TTLS-MSCHAP': - hostapd = hpd - break + hostapd = HostapdCLI(config='ssidEAP-TTLS-MSCHAP.conf') self.assertIsNotNone(hostapd)
@@ -55,7 +49,8 @@ class Test(unittest.TestCase): hostapd.eapol_reauth(device.address) - wd.wait(10) + hostapd.wait_for_event('CTRL-EVENT-EAP-STARTED') + hostapd.wait_for_event('CTRL-EVENT-EAP-SUCCESS') condition = 'obj.connected' wd.wait_for_object_condition(ordered_network.network_object, condition)
autotests/testEAP-TTLS-MSCHAPv2/connection_test.py +2 -1
@@ -48,7 +48,8 @@ class Test(unittest.TestCase): hostapd.eapol_reauth(device.address) - wd.wait(10) + hostapd.wait_for_event('CTRL-EVENT-EAP-STARTED') + hostapd.wait_for_event('CTRL-EVENT-EAP-SUCCESS') condition = 'obj.connected' wd.wait_for_object_condition(ordered_network.network_object, condition)
autotests/testEAP-TTLS-PAP/connection_test.py +3 -8
@@ -16,13 +16,7 @@ from hostapd import hostapd_map class Test(unittest.TestCase): def test_connection_success(self): - hostapd = None - - for hostapd_if in list(hostapd_map.values()): - hpd = HostapdCLI(hostapd_if) - if hpd.get_config_value('ssid') == 'ssidEAP-TTLS-PAP': - hostapd = hpd - break + hostapd = HostapdCLI(config='ssidEAP-TTLS-PAP.conf') self.assertIsNotNone(hostapd)
@@ -55,7 +49,8 @@ class Test(unittest.TestCase): hostapd.eapol_reauth(device.address) - wd.wait(10) + hostapd.wait_for_event('CTRL-EVENT-EAP-STARTED') + hostapd.wait_for_event('CTRL-EVENT-EAP-SUCCESS') condition = 'obj.connected' wd.wait_for_object_condition(ordered_network.network_object, condition)
Signature · 1 line
2.21.1
Hi James,
Quoted 7 lines · James Prestwood
This test was not reliably passing. Busy waiting is not really reliable, but in this specific case its really the only option as the blacklist must expire based on time.
--- autotests/testBSSBlacklist/connection_test.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
Both applied, thanks.
Regards,
-Denis