Parcourir la source

tests: hostapd OOM loop targeting RADIUS accounting

The hostapd_oom_wpa2_eap test case did not always catch these code
paths, so add a variant of that test case explicitly targeting RADIUS
functions.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Jouni Malinen il y a 10 ans
Parent
commit
496a7a6ff9
1 fichiers modifiés avec 10 ajouts et 2 suppressions
  1. 10 2
      tests/hwsim/test_hostapd_oom.py

+ 10 - 2
tests/hwsim/test_hostapd_oom.py

@@ -10,13 +10,13 @@ logger = logging.getLogger()
 import hostapd
 from utils import HwsimSkip
 
-def hostapd_oom_loop(apdev, params):
+def hostapd_oom_loop(apdev, params, start_func="main"):
     hapd = hostapd.add_ap(apdev[0]['ifname'], { "ssid": "ctrl" })
     hapd_global = hostapd.HostapdGlobal()
 
     count = 0
     for i in range(1, 1000):
-        if "OK" not in hapd.request("TEST_ALLOC_FAIL %d:main" % i):
+        if "OK" not in hapd.request("TEST_ALLOC_FAIL %d:%s" % (i, start_func)):
             raise HwsimSkip("TEST_ALLOC_FAIL not supported")
         try:
             hostapd.add_ap(apdev[1]['ifname'], params)
@@ -53,3 +53,11 @@ def test_hostapd_oom_wpa2_eap(dev, apdev):
     params['acct_server_port'] = "1813"
     params['acct_server_shared_secret'] = "radius"
     hostapd_oom_loop(apdev, params)
+
+def test_hostapd_oom_wpa2_eap_radius(dev, apdev):
+    """hostapd failing to setup WPA2-EAP mode due to OOM in RADIUS"""
+    params = hostapd.wpa2_eap_params(ssid="test")
+    params['acct_server_addr'] = "127.0.0.1"
+    params['acct_server_port'] = "1813"
+    params['acct_server_shared_secret'] = "radius"
+    hostapd_oom_loop(apdev, params, start_func="accounting_init")