]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
tests: hostapd configuration with op_class
authorJouni Malinen <j@w1.fi>
Tue, 23 Mar 2021 22:46:57 +0000 (00:46 +0200)
committerJouni Malinen <j@w1.fi>
Tue, 23 Mar 2021 22:46:57 +0000 (00:46 +0200)
Signed-off-by: Jouni Malinen <j@w1.fi>
tests/hwsim/test_ap_ht.py

index 99adb12a36a407cdd826688e125f00f75dd645d4..68abdcda2b77e2fff68ed5bad37f59ca038816ef 100644 (file)
@@ -1370,13 +1370,15 @@ def test_ap_ht40_scan_broken_ap(dev, apdev):
     hwsim_utils.test_connectivity(dev[1], hapd2)
 
 def run_op_class(dev, apdev, hw_mode, channel, country, ht_capab, sec_chan,
-                 freq, opclass):
+                 freq, opclass, use_op_class=False):
     clear_scan_cache(apdev[0])
     try:
         params = {"ssid": "test-ht40",
                   "hw_mode": hw_mode,
                   "channel": channel,
                   "ht_capab": ht_capab}
+        if use_op_class:
+            params['op_class'] = str(opclass)
         if country:
             params['country_code'] = country
         hapd = hostapd.add_ap(apdev[0], params, wait_enabled=False)
@@ -1397,6 +1399,7 @@ def run_op_class(dev, apdev, hw_mode, channel, country, ht_capab, sec_chan,
         if rx_opclass != opclass:
             raise Exception("Unexpected operating class: %d" % rx_opclass)
         hapd.disable()
+        hapd.dump_monitor()
         dev[0].request("REMOVE_NETWORK all")
         dev[0].request("ABORT_SCAN")
         dev[0].wait_disconnected()
@@ -1407,67 +1410,99 @@ def run_op_class(dev, apdev, hw_mode, channel, country, ht_capab, sec_chan,
 
 def test_ap_ht_op_class_81(dev, apdev):
     """HT20 on operationg class 81"""
-    run_op_class(dev, apdev, "g", "1", None, "", "0", "2412", 81)
+    for o in [False, True]:
+        run_op_class(dev, apdev, "g", "1", None, "", "0", "2412", 81,
+                     use_op_class=o)
 
 def test_ap_ht_op_class_83(dev, apdev):
     """HT40 on operationg class 83"""
-    run_op_class(dev, apdev, "g", "1", None, "[HT40+]", "1", "2412", 83)
+    for o in [False, True]:
+        run_op_class(dev, apdev, "g", "1", None, "[HT40+]", "1", "2412", 83,
+                     use_op_class=o)
 
 def test_ap_ht_op_class_84(dev, apdev):
     """HT40 on operationg class 84"""
-    run_op_class(dev, apdev, "g", "11", None, "[HT40-]", "-1", "2462", 84)
+    for o in [False, True]:
+        run_op_class(dev, apdev, "g", "11", None, "[HT40-]", "-1", "2462", 84,
+                     use_op_class=o)
 
 def test_ap_ht_op_class_115(dev, apdev):
     """HT20 on operationg class 115"""
-    run_op_class(dev, apdev, "a", "36", "FI", "", "0", "5180", 115)
+    for o in [False, True]:
+        run_op_class(dev, apdev, "a", "36", "FI", "", "0", "5180", 115,
+                     use_op_class=o)
 
 def test_ap_ht_op_class_116(dev, apdev):
     """HT40 on operationg class 116"""
-    run_op_class(dev, apdev, "a", "36", "FI", "[HT40+]", "1", "5180", 116)
+    for o in [False, True]:
+        run_op_class(dev, apdev, "a", "36", "FI", "[HT40+]", "1", "5180", 116,
+                     use_op_class=o)
 
 def test_ap_ht_op_class_117(dev, apdev):
     """HT40 on operationg class 117"""
-    run_op_class(dev, apdev, "a", "40", "FI", "[HT40-]", "-1", "5200", 117)
+    for o in [False, True]:
+        run_op_class(dev, apdev, "a", "40", "FI", "[HT40-]", "-1", "5200", 117,
+                     use_op_class=o)
 
 def test_ap_ht_op_class_118(dev, apdev):
     """HT20 on operationg class 118"""
-    run_op_class(dev, apdev, "a", "60", "RS", "", "0", "5300", 118)
+    for o in [False, True]:
+        run_op_class(dev, apdev, "a", "60", "RS", "", "0", "5300", 118,
+                     use_op_class=o)
 
 def test_ap_ht_op_class_119(dev, apdev):
     """HT40 on operationg class 119"""
-    run_op_class(dev, apdev, "a", "60", "RS", "[HT40+]", "1", "5300", 119)
+    for o in [False, True]:
+        run_op_class(dev, apdev, "a", "60", "RS", "[HT40+]", "1", "5300", 119,
+                     use_op_class=o)
 
 def test_ap_ht_op_class_120(dev, apdev):
     """HT40 on operationg class 120"""
-    run_op_class(dev, apdev, "a", "64", "RS", "[HT40-]", "-1", "5320", 120)
+    for o in [False, True]:
+        run_op_class(dev, apdev, "a", "64", "RS", "[HT40-]", "-1", "5320", 120,
+                     use_op_class=o)
 
 def test_ap_ht_op_class_121(dev, apdev):
     """HT20 on operationg class 121"""
-    run_op_class(dev, apdev, "a", "100", "ZA", "", "0", "5500", 121)
+    for o in [False, True]:
+        run_op_class(dev, apdev, "a", "100", "ZA", "", "0", "5500", 121,
+                     use_op_class=o)
 
 def test_ap_ht_op_class_122(dev, apdev):
     """HT40 on operationg class 122"""
-    run_op_class(dev, apdev, "a", "100", "ZA", "[HT40+]", "1", "5500", 122)
+    for o in [False, True]:
+        run_op_class(dev, apdev, "a", "100", "ZA", "[HT40+]", "1", "5500", 122,
+                     use_op_class=o)
 
 def test_ap_ht_op_class_123(dev, apdev):
     """HT40 on operationg class 123"""
-    run_op_class(dev, apdev, "a", "104", "ZA", "[HT40-]", "-1", "5520", 123)
+    for o in [False, True]:
+        run_op_class(dev, apdev, "a", "104", "ZA", "[HT40-]", "-1", "5520", 123,
+                     use_op_class=o)
 
 def test_ap_ht_op_class_124(dev, apdev):
     """HT20 on operationg class 124"""
-    run_op_class(dev, apdev, "a", "149", "US", "", "0", "5745", 124)
+    for o in [False, True]:
+        run_op_class(dev, apdev, "a", "149", "US", "", "0", "5745", 124,
+                     use_op_class=o)
 
 def test_ap_ht_op_class_125(dev, apdev):
     """HT20 on operationg class 125"""
-    run_op_class(dev, apdev, "a", "169", "NL", "", "0", "5845", 125)
+    for o in [False, True]:
+        run_op_class(dev, apdev, "a", "169", "NL", "", "0", "5845", 125,
+                     use_op_class=o)
 
 def test_ap_ht_op_class_126(dev, apdev):
     """HT40 on operationg class 126"""
-    run_op_class(dev, apdev, "a", "149", "US", "[HT40+]", "1", "5745", 126)
+    for o in [False, True]:
+        run_op_class(dev, apdev, "a", "149", "US", "[HT40+]", "1", "5745", 126,
+                     use_op_class=o)
 
 def test_ap_ht_op_class_127(dev, apdev):
     """HT40 on operationg class 127"""
-    run_op_class(dev, apdev, "a", "153", "US", "[HT40-]", "-1", "5765", 127)
+    for o in [False, True]:
+        run_op_class(dev, apdev, "a", "153", "US", "[HT40-]", "-1", "5765", 127,
+                     use_op_class=o)
 
 def test_ap_ht40_plus_minus1(dev, apdev):
     """HT40 with both plus and minus allowed (1)"""