From 2e5099a71647cd517f42f3b8ece67522b9c3cf65 Mon Sep 17 00:00:00 2001 From: James Prestwood Date: Fri, 1 Feb 2019 10:54:10 -0800 Subject: [PATCH] auto-t: add SAE test for group 20 --- autotests/testSAE/group_20_connection_test.py | 81 +++++++++++++++++++ autotests/testSAE/hw.conf | 3 +- 2 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 autotests/testSAE/group_20_connection_test.py diff --git a/autotests/testSAE/group_20_connection_test.py b/autotests/testSAE/group_20_connection_test.py new file mode 100644 index 00000000..5f555622 --- /dev/null +++ b/autotests/testSAE/group_20_connection_test.py @@ -0,0 +1,81 @@ +#!/usr/bin/python3 + +import unittest +import sys + +sys.path.append('../util') +import iwd +from iwd import IWD +from iwd import PSKAgent +from iwd import NetworkType +from hostapd import hostapd_map +import testutil + +class Test(unittest.TestCase): + + def test_connection_success(self): + hostapd_if = None + + for hostapd in list(hostapd_map.values()): + if hostapd.config == 'ssidSAE-20.conf': + hostapd_if = hostapd.name + + wd = IWD(True) + + psk_agent = PSKAgent("secret123") + wd.register_psk_agent(psk_agent) + + devices = wd.list_devices(4) + self.assertIsNotNone(devices) + device = devices[0] + + # These devices aren't used in this test, this makes logs a bit nicer + # since these devices would presumably start autoconnecting. + devices[1].disconnect() + devices[2].disconnect() + devices[3].disconnect() + + condition = 'not obj.scanning' + wd.wait_for_object_condition(device, condition) + + device.scan() + + condition = 'not obj.scanning' + wd.wait_for_object_condition(device, condition) + + network = device.get_ordered_network('ssidSAE-20') + + self.assertEqual(network.type, NetworkType.psk) + + condition = 'not obj.connected' + wd.wait_for_object_condition(network.network_object, condition) + + network.network_object.connect() + + condition = 'obj.connected' + wd.wait_for_object_condition(network.network_object, condition) + + wd.wait(2) + + testutil.test_iface_operstate(intf=device.name) + testutil.test_ifaces_connected(if0=device.name, if1=hostapd_if) + + device.disconnect() + + condition = 'not obj.connected' + wd.wait_for_object_condition(network.network_object, condition) + + wd.unregister_psk_agent(psk_agent) + + del wd + + @classmethod + def setUpClass(cls): + pass + + @classmethod + def tearDownClass(cls): + IWD.clear_storage() + +if __name__ == '__main__': + unittest.main(exit=True) diff --git a/autotests/testSAE/hw.conf b/autotests/testSAE/hw.conf index 66604123..d79aa1c7 100644 --- a/autotests/testSAE/hw.conf +++ b/autotests/testSAE/hw.conf @@ -1,8 +1,9 @@ [SETUP] -num_radios=6 +num_radios=7 start_iwd=0 max_test_exec_interval_sec=45 [HOSTAPD] rad0=ssidSAE.conf rad1=ssidSAE-Clogging.conf +rad2=ssidSAE-20.conf