]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
tests: Fix ap_track_sta false negative by using common finalizer
authorMasashi Honma <masashi.honma@gmail.com>
Tue, 25 Jun 2019 01:50:39 +0000 (10:50 +0900)
committerJouni Malinen <j@w1.fi>
Wed, 26 Jun 2019 17:42:20 +0000 (20:42 +0300)
ap_track_sta fails with this message.

---------------
wlan0: Country code not reset back to 00: is US
wlan0: Country code cleared back to 00
---------------

Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
tests/hwsim/test_ap_track.py
tests/hwsim/utils.py

index 25201e5b0eb7e3ca293d883b7047ff6bd38c17b9..560e1418141aa0a45f29384a0bd45496bd131453 100644 (file)
@@ -11,34 +11,35 @@ import time
 
 import hostapd
 from wpasupplicant import WpaSupplicant
-from utils import parse_ie
+from utils import parse_ie, disable_hapd, clear_regdom_dev
 
 def test_ap_track_sta(dev, apdev):
     """Dualband AP tracking unconnected stations"""
+
     try:
-        _test_ap_track_sta(dev, apdev)
+        params = {"ssid": "track",
+                  "country_code": "US",
+                  "hw_mode": "g",
+                  "channel": "6",
+                  "track_sta_max_num": "2"}
+        hapd = hostapd.add_ap(apdev[0], params)
+
+        params = {"ssid": "track",
+                  "country_code": "US",
+                  "hw_mode": "a",
+                  "channel": "40",
+                  "track_sta_max_num": "100",
+                  "track_sta_max_age": "1"}
+        hapd2 = hostapd.add_ap(apdev[1], params)
+
+        _test_ap_track_sta(dev, hapd, apdev[0]['bssid'], hapd2,
+                           apdev[1]['bssid'])
     finally:
-        subprocess.call(['iw', 'reg', 'set', '00'])
-        time.sleep(0.1)
-
-def _test_ap_track_sta(dev, apdev):
-    params = {"ssid": "track",
-              "country_code": "US",
-              "hw_mode": "g",
-              "channel": "6",
-              "track_sta_max_num": "2"}
-    hapd = hostapd.add_ap(apdev[0], params)
-    bssid = apdev[0]['bssid']
-
-    params = {"ssid": "track",
-              "country_code": "US",
-              "hw_mode": "a",
-              "channel": "40",
-              "track_sta_max_num": "100",
-              "track_sta_max_age": "1"}
-    hapd2 = hostapd.add_ap(apdev[1], params)
-    bssid2 = apdev[1]['bssid']
+        disable_hapd(hapd)
+        disable_hapd(hapd2)
+        clear_regdom_dev(dev, 3)
 
+def _test_ap_track_sta(dev, hapd, bssid, hapd2, bssid2):
     for i in range(2):
         dev[0].scan_for_bss(bssid, freq=2437, force_scan=True)
         dev[0].scan_for_bss(bssid2, freq=5200, force_scan=True)
index 868537527904ab148ee918394d11582b18b55409..26620a6ca8545e49cfdcc2530494fd385aab239c 100644 (file)
@@ -148,10 +148,13 @@ def clear_country(dev):
         dev[1].dump_monitor()
 
 def clear_regdom(hapd, dev, count=1):
+    disable_hapd(hapd)
+    clear_regdom_dev(dev, count)
+
+def disable_hapd(hapd):
     if hapd:
         hapd.request("DISABLE")
         time.sleep(0.1)
-    clear_regdom_dev(dev, count)
 
 def clear_regdom_dev(dev, count=1):
     for i in range(count):