From 6de133aee75d3f3d64e9e9417370d764eb3ebb44 Mon Sep 17 00:00:00 2001 From: James Prestwood Date: Fri, 1 Mar 2019 13:00:15 -0800 Subject: [PATCH] auto-t: add timeout test for testOWE This simulates an authenticate timeout. This test really just proves that IWD doesn't crash in this case. --- autotests/testOWE/timeout_test.py | 72 +++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 autotests/testOWE/timeout_test.py diff --git a/autotests/testOWE/timeout_test.py b/autotests/testOWE/timeout_test.py new file mode 100644 index 00000000..9834c499 --- /dev/null +++ b/autotests/testOWE/timeout_test.py @@ -0,0 +1,72 @@ +#!/usr/bin/python3 + +import unittest +import sys + +sys.path.append('../util') +import iwd +from iwd import IWD +from iwd import NetworkType +import testutil + +from wiphy import wiphy_map +from hwsim import Hwsim + +class Test(unittest.TestCase): + + def test_connection_success(self): + hwsim = Hwsim() + + bss_radio = None + + for wname in wiphy_map: + wiphy = wiphy_map[wname] + intf = list(wiphy.values())[0] + if intf.config == 'ssidOWE.conf': + for path in hwsim.radios: + radio = hwsim.radios[path] + if radio.name == wname: + bss_radio = radio + else: + continue + + self.assertIsNotNone(bss_radio) + + wd = IWD() + + devices = wd.list_devices(1) + device = devices[0] + + condition = 'not obj.scanning' + wd.wait_for_object_condition(device, condition) + + device.scan() + + condition = 'not obj.scanning' + wd.wait_for_object_condition(device, condition) + + ordered_network = device.get_ordered_network('ssidOWE') + + self.assertEqual(ordered_network.type, NetworkType.open) + + condition = 'not obj.connected' + wd.wait_for_object_condition(ordered_network.network_object, condition) + + rule0 = hwsim.rules.create() + rule0.source = bss_radio.addresses[0] + rule0.bidirectional = True + rule0.drop = True + + with self.assertRaises(iwd.FailedEx): + ordered_network.network_object.connect() + + @classmethod + def setUpClass(cls): + pass + + @classmethod + def tearDownClass(cls): + IWD.clear_storage() + +if __name__ == '__main__': + unittest.main(exit=True)