iwd.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] auto-t: speed up testHiddenNetworks
@ 2022-10-06 17:40 James Prestwood
  2022-10-06 17:40 ` [PATCH 2/2] auto-t: speed up testScan James Prestwood
  2022-10-06 19:42 ` [PATCH 1/2] auto-t: speed up testHiddenNetworks Denis Kenzior
  0 siblings, 2 replies; 3+ messages in thread
From: James Prestwood @ 2022-10-06 17:40 UTC (permalink / raw)
  To: iwd; +Cc: James Prestwood

The CI was sometimes taking ~10-15 minutes to run just this
test. This is likely due to the test having 7 radios and
which is a lot of beacons/probes to process.

Disabling the unused hostapd instances drops the runtime down
to about 1 minute.
---
 .../connect_after_hidden_connect_test.py          | 12 +++++++++++-
 autotests/testHiddenNetworks/exceptions_test.py   | 11 +++++++++++
 autotests/testHiddenNetworks/open_network_test.py | 14 ++++++++++++++
 autotests/testHiddenNetworks/wpa_network_test.py  | 15 +++++++++++++++
 4 files changed, 51 insertions(+), 1 deletion(-)

diff --git a/autotests/testHiddenNetworks/connect_after_hidden_connect_test.py b/autotests/testHiddenNetworks/connect_after_hidden_connect_test.py
index cc36771c..ead532a1 100644
--- a/autotests/testHiddenNetworks/connect_after_hidden_connect_test.py
+++ b/autotests/testHiddenNetworks/connect_after_hidden_connect_test.py
@@ -7,6 +7,7 @@ sys.path.append('../util')
 import iwd
 from iwd import IWD
 from iwd import PSKAgent
+from hostapd import HostapdCLI
 import testutil
 import time
 
@@ -67,11 +68,20 @@ class TestConnectionAfterHiddenNetwork(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        pass
+        cls.disabled = [HostapdCLI('ssidHiddenOpen.conf'),
+                        HostapdCLI('ssidHiddenWPA.conf'),
+                        HostapdCLI('ssidOverlap1.conf'),
+                        HostapdCLI('ssidOverlap2.conf')]
+
+        for hapd in cls.disabled:
+            hapd.disable()
 
     @classmethod
     def tearDownClass(cls):
         IWD.clear_storage()
 
+        for hapd in cls.disabled:
+            hapd.reload()
+
 if __name__ == '__main__':
     unittest.main(exit=True)
diff --git a/autotests/testHiddenNetworks/exceptions_test.py b/autotests/testHiddenNetworks/exceptions_test.py
index 1c4722a6..55e3c603 100644
--- a/autotests/testHiddenNetworks/exceptions_test.py
+++ b/autotests/testHiddenNetworks/exceptions_test.py
@@ -8,6 +8,7 @@ import iwd
 import validation
 from validation import TestHiddenNetworks
 from iwd import IWD
+from hostapd import HostapdCLI
 
 class TestWpaNetwork(unittest.TestCase):
     '''
@@ -34,9 +35,19 @@ class TestWpaNetwork(unittest.TestCase):
     def setUpClass(cls):
         IWD.copy_to_storage('ssidAlreadyKnown.open')
 
+        cls.disabled = [HostapdCLI('ssidHiddenOpen.conf'),
+                        HostapdCLI('ssidHiddenWPA.conf'),
+                        HostapdCLI('ssidSomeHidden.conf')]
+
+        for hapd in cls.disabled:
+            hapd.disable()
+
     @classmethod
     def tearDownClass(cls):
         IWD.clear_storage()
 
+        for hapd in cls.disabled:
+            hapd.reload()
+
 if __name__ == '__main__':
     unittest.main(exit=True)
diff --git a/autotests/testHiddenNetworks/open_network_test.py b/autotests/testHiddenNetworks/open_network_test.py
index 8645fdad..e306e8a4 100644
--- a/autotests/testHiddenNetworks/open_network_test.py
+++ b/autotests/testHiddenNetworks/open_network_test.py
@@ -8,6 +8,7 @@ import iwd
 import validation
 from validation import TestHiddenNetworks
 from iwd import IWD
+from hostapd import HostapdCLI
 
 class TestOpenNetwork(unittest.TestCase):
     '''
@@ -24,9 +25,22 @@ class TestOpenNetwork(unittest.TestCase):
         tca.validate('ssidHiddenOpen', False)
         tca.validate('ssidHiddenOpen', True)
 
+    @classmethod
+    def setUpClass(cls):
+        cls.disabled = [HostapdCLI('ssidHiddenWPA.conf'),
+                        HostapdCLI('ssidOpen.conf'),
+                        HostapdCLI('ssidOverlap1.conf'),
+                        HostapdCLI('ssidOverlap2.conf'),
+                        HostapdCLI('ssidSomeHidden.conf')]
+        for hapd in cls.disabled:
+            hapd.disable()
+
     @classmethod
     def tearDownClass(cls):
         IWD.clear_storage()
 
+        for hapd in cls.disabled:
+            hapd.reload()
+
 if __name__ == '__main__':
     unittest.main(exit=True)
diff --git a/autotests/testHiddenNetworks/wpa_network_test.py b/autotests/testHiddenNetworks/wpa_network_test.py
index a65fe1af..21045539 100644
--- a/autotests/testHiddenNetworks/wpa_network_test.py
+++ b/autotests/testHiddenNetworks/wpa_network_test.py
@@ -8,6 +8,7 @@ import iwd
 import validation
 from validation import TestHiddenNetworks
 from iwd import IWD
+from hostapd import HostapdCLI
 
 class TestWpaNetwork(unittest.TestCase):
     '''
@@ -25,9 +26,23 @@ class TestWpaNetwork(unittest.TestCase):
         tca.validate('ssidHiddenWPA', False, None, True)
         tca.validate('ssidHiddenWPA', True, None, True)
 
+    @classmethod
+    def setUpClass(cls):
+        cls.disabled = [HostapdCLI('ssidHiddenOpen.conf'),
+                        HostapdCLI('ssidOpen.conf'),
+                        HostapdCLI('ssidOverlap1.conf'),
+                        HostapdCLI('ssidOverlap2.conf'),
+                        HostapdCLI('ssidSomeHidden.conf')]
+
+        for hapd in cls.disabled:
+            hapd.disable()
+
     @classmethod
     def tearDownClass(cls):
         IWD.clear_storage()
 
+        for hapd in cls.disabled:
+            hapd.reload()
+
 if __name__ == '__main__':
     unittest.main(exit=True)
-- 
2.34.3


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH 2/2] auto-t: speed up testScan
  2022-10-06 17:40 [PATCH 1/2] auto-t: speed up testHiddenNetworks James Prestwood
@ 2022-10-06 17:40 ` James Prestwood
  2022-10-06 19:42 ` [PATCH 1/2] auto-t: speed up testHiddenNetworks Denis Kenzior
  1 sibling, 0 replies; 3+ messages in thread
From: James Prestwood @ 2022-10-06 17:40 UTC (permalink / raw)
  To: iwd; +Cc: James Prestwood

This test was taking about 5 minutes to run, specifically
the requested scan test. One slight optimization is to
remove the duplicate hidden network, since there is no
need for two. In addition the requested scan test was
changed so it does not periodic scan and only issues a dbus
scan.
---
 autotests/testScan/hw.conf                | 9 ++++-----
 autotests/testScan/periodic_scan_test.py  | 4 ++--
 autotests/testScan/requested_scan_test.py | 6 ------
 autotests/testScan/ssid_hidden_1.conf     | 4 ----
 autotests/testScan/ssid_hidden_1.open     | 3 ---
 5 files changed, 6 insertions(+), 20 deletions(-)
 delete mode 100644 autotests/testScan/ssid_hidden_1.conf
 delete mode 100644 autotests/testScan/ssid_hidden_1.open

diff --git a/autotests/testScan/hw.conf b/autotests/testScan/hw.conf
index 660c874e..54ae50c6 100644
--- a/autotests/testScan/hw.conf
+++ b/autotests/testScan/hw.conf
@@ -1,10 +1,9 @@
 [SETUP]
-num_radios=6
+num_radios=5
 start_iwd=0
 
 [HOSTAPD]
 rad0=ssid_hidden_0.conf
-rad1=ssid_hidden_1.conf
-rad2=ssid_open.conf
-rad3=ssid_8021x.conf
-rad4=ssid_psk.conf
+rad1=ssid_open.conf
+rad2=ssid_8021x.conf
+rad3=ssid_psk.conf
diff --git a/autotests/testScan/periodic_scan_test.py b/autotests/testScan/periodic_scan_test.py
index 77dac373..eb53b312 100644
--- a/autotests/testScan/periodic_scan_test.py
+++ b/autotests/testScan/periodic_scan_test.py
@@ -12,7 +12,7 @@ class Test(unittest.TestCase):
         'ssid_open': False,
         'ssid_psk': False,
         'ssid_8021x': False,
-        'ssid_hidden_1': False,
+        'ssid_hidden_0': False,
     }
 
     def set_network(self, ssid):
@@ -58,7 +58,7 @@ class Test(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        IWD.copy_to_storage('ssid_hidden_1.open')
+        IWD.copy_to_storage('ssid_hidden_0.open')
 
     @classmethod
     def tearDownClass(cls):
diff --git a/autotests/testScan/requested_scan_test.py b/autotests/testScan/requested_scan_test.py
index 26e44ddd..021f64ed 100644
--- a/autotests/testScan/requested_scan_test.py
+++ b/autotests/testScan/requested_scan_test.py
@@ -30,12 +30,6 @@ class Test(unittest.TestCase):
         devices = wd.list_devices(1)
         self.assertIsNotNone(devices)
         device = devices[0]
-        device.autoconnect = True
-
-        condition = 'obj.scanning'
-        wd.wait_for_object_condition(device, condition)
-        condition = 'not obj.scanning'
-        wd.wait_for_object_condition(device, condition)
 
         device.scan()
 
diff --git a/autotests/testScan/ssid_hidden_1.conf b/autotests/testScan/ssid_hidden_1.conf
deleted file mode 100644
index cc11803f..00000000
--- a/autotests/testScan/ssid_hidden_1.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-ssid=ssid_hidden_1
-hw_mode=g
-channel=1
-ignore_broadcast_ssid=1
diff --git a/autotests/testScan/ssid_hidden_1.open b/autotests/testScan/ssid_hidden_1.open
deleted file mode 100644
index 28622594..00000000
--- a/autotests/testScan/ssid_hidden_1.open
+++ /dev/null
@@ -1,3 +0,0 @@
-[Settings]
-AutoConnect=false
-Hidden=true
-- 
2.34.3


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/2] auto-t: speed up testHiddenNetworks
  2022-10-06 17:40 [PATCH 1/2] auto-t: speed up testHiddenNetworks James Prestwood
  2022-10-06 17:40 ` [PATCH 2/2] auto-t: speed up testScan James Prestwood
@ 2022-10-06 19:42 ` Denis Kenzior
  1 sibling, 0 replies; 3+ messages in thread
From: Denis Kenzior @ 2022-10-06 19:42 UTC (permalink / raw)
  To: James Prestwood, iwd

Hi James,

On 10/6/22 12:40, James Prestwood wrote:
> The CI was sometimes taking ~10-15 minutes to run just this
> test. This is likely due to the test having 7 radios and
> which is a lot of beacons/probes to process.
> 
> Disabling the unused hostapd instances drops the runtime down
> to about 1 minute.
> ---
>   .../connect_after_hidden_connect_test.py          | 12 +++++++++++-
>   autotests/testHiddenNetworks/exceptions_test.py   | 11 +++++++++++
>   autotests/testHiddenNetworks/open_network_test.py | 14 ++++++++++++++
>   autotests/testHiddenNetworks/wpa_network_test.py  | 15 +++++++++++++++
>   4 files changed, 51 insertions(+), 1 deletion(-)

Both applied, thanks.

Regards,
-Denis


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-10-06 19:42 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-06 17:40 [PATCH 1/2] auto-t: speed up testHiddenNetworks James Prestwood
2022-10-06 17:40 ` [PATCH 2/2] auto-t: speed up testScan James Prestwood
2022-10-06 19:42 ` [PATCH 1/2] auto-t: speed up testHiddenNetworks Denis Kenzior

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).