All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 12/13] auto-t: Add test for extended key IDs
@ 2021-10-07 20:49 James Prestwood
  0 siblings, 0 replies; only message in thread
From: James Prestwood @ 2021-10-07 20:49 UTC (permalink / raw)
  To: iwd

[-- Attachment #1: Type: text/plain, Size: 4799 bytes --]

---
 .../testWPA2-ext-key-id/connection_test.py    | 112 ++++++++++++++++++
 autotests/testWPA2-ext-key-id/hw.conf         |   6 +
 autotests/testWPA2-ext-key-id/main_pae.conf   |   2 +
 autotests/testWPA2-ext-key-id/ssidCCMP.conf   |  11 ++
 4 files changed, 131 insertions(+)
 create mode 100644 autotests/testWPA2-ext-key-id/connection_test.py
 create mode 100644 autotests/testWPA2-ext-key-id/hw.conf
 create mode 100644 autotests/testWPA2-ext-key-id/main_pae.conf
 create mode 100644 autotests/testWPA2-ext-key-id/ssidCCMP.conf

diff --git a/autotests/testWPA2-ext-key-id/connection_test.py b/autotests/testWPA2-ext-key-id/connection_test.py
new file mode 100644
index 00000000..afd48149
--- /dev/null
+++ b/autotests/testWPA2-ext-key-id/connection_test.py
@@ -0,0 +1,112 @@
+#!/usr/bin/python3
+
+import unittest
+import sys
+import os
+
+sys.path.append('../util')
+from iwd import IWD_CONFIG_DIR
+from iwd import IWD
+from iwd import PSKAgent
+from iwd import NetworkType
+from hwsim import Hwsim
+from hostapd import HostapdCLI
+import testutil
+
+class Test(unittest.TestCase):
+    def validate(self, wd, resend_m3=False):
+        hapd = HostapdCLI('ssidCCMP.conf')
+
+        psk_agent = PSKAgent("secret123")
+        wd.register_psk_agent(psk_agent)
+
+        devices = wd.list_devices(1)
+        device = devices[0]
+
+        ordered_network = device.get_ordered_network('ssidCCMP')
+
+        self.assertEqual(ordered_network.type, NetworkType.psk)
+
+        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()
+
+
+        # Rekey 5 times just to make sure the key ID can be toggled back and
+        # forth without causing problems.
+        for i in range(5):
+            hapd.rekey(device.address)
+
+            if resend_m3:
+                hapd.resend_m3(device.address)
+
+            testutil.test_iface_operstate()
+            testutil.test_ifaces_connected()
+
+        device.disconnect()
+
+        condition = 'not obj.connected'
+        wd.wait_for_object_condition(ordered_network.network_object, condition)
+
+        wd.unregister_psk_agent(psk_agent)
+
+    def test_ext_key_control_port(self):
+        self.hapd.set_value('extended_key_id', '1')
+        self.hapd.reload()
+
+        self.wd = IWD(True)
+
+        self.validate(self.wd)
+
+    def test_ext_key_control_port_retransmit(self):
+        self.hapd.set_value('extended_key_id', '1')
+        self.hapd.reload()
+
+        self.wd = IWD(True)
+
+        self.validate(self.wd, resend_m3=True)
+
+    def test_ext_key_index_1(self):
+        self.hapd.set_value('extended_key_id', '2')
+        self.hapd.reload()
+
+        self.wd = IWD(True)
+
+        self.validate(self.wd)
+
+    def test_ext_key_pae(self):
+        self.hapd.set_value('extended_key_id', '1')
+        self.hapd.reload()
+
+        IWD.copy_to_storage('main_pae.conf', storage_dir=IWD_CONFIG_DIR, name='main.conf')
+
+        self.wd = IWD(True)
+
+        self.validate(self.wd)
+
+    def tearDown(self):
+        try:
+            os.system('rm -rf %s/main.conf' % IWD_CONFIG_DIR)
+        except:
+            pass
+
+        self.wd = None
+
+    @classmethod
+    def setUpClass(cls):
+        cls.hapd = HostapdCLI()
+
+    @classmethod
+    def tearDownClass(cls):
+        IWD.clear_storage()
+        cls.hapd = None
+
+if __name__ == '__main__':
+    unittest.main(exit=True)
diff --git a/autotests/testWPA2-ext-key-id/hw.conf b/autotests/testWPA2-ext-key-id/hw.conf
new file mode 100644
index 00000000..de81e1e2
--- /dev/null
+++ b/autotests/testWPA2-ext-key-id/hw.conf
@@ -0,0 +1,6 @@
+[SETUP]
+num_radios=2
+start_iwd=0
+
+[HOSTAPD]
+rad0=ssidCCMP.conf
diff --git a/autotests/testWPA2-ext-key-id/main_pae.conf b/autotests/testWPA2-ext-key-id/main_pae.conf
new file mode 100644
index 00000000..8bcedda5
--- /dev/null
+++ b/autotests/testWPA2-ext-key-id/main_pae.conf
@@ -0,0 +1,2 @@
+[General]
+ControlPortOverNL80211=false
diff --git a/autotests/testWPA2-ext-key-id/ssidCCMP.conf b/autotests/testWPA2-ext-key-id/ssidCCMP.conf
new file mode 100644
index 00000000..b52bfb7c
--- /dev/null
+++ b/autotests/testWPA2-ext-key-id/ssidCCMP.conf
@@ -0,0 +1,11 @@
+hw_mode=g
+channel=1
+ssid=ssidCCMP
+
+wpa=2
+wpa_pairwise=CCMP
+wpa_passphrase=secret123
+
+ieee80211w=2
+wpa_key_mgmt=WPA-PSK-SHA256
+extended_key_id=1
-- 
2.31.1

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2021-10-07 20:49 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-07 20:49 [PATCH v3 12/13] auto-t: Add test for extended key IDs James Prestwood

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.