]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
tests: radius_acct_unreachable2 to detect retransmissions earlier
authorJouni Malinen <j@w1.fi>
Mon, 30 Dec 2019 17:12:33 +0000 (19:12 +0200)
committerJouni Malinen <j@w1.fi>
Mon, 30 Dec 2019 17:13:51 +0000 (19:13 +0200)
It looks like this test case can start showing failures with a change in
the retransmission limit behavior for a server change. Check for
retransmissions every second instead of only at the end of the four
second wait to avoid this.

Signed-off-by: Jouni Malinen <j@w1.fi>
tests/hwsim/test_radius.py

index dbefaf551e347e184a3c7ead155fee6a134c8d56..fde5650de8565565cf5ba9fb9678200ebb127dab 100644 (file)
@@ -114,11 +114,16 @@ def test_radius_acct_unreachable2(dev, apdev):
     subprocess.call(['ip', 'ro', 'del', '192.168.213.17', 'dev', 'lo'])
     connect(dev[0], "radius-acct")
     logger.info("Checking for RADIUS retries")
-    time.sleep(4)
-    mib = hapd.get_mib()
-    if "radiusAccClientRetransmissions" not in mib:
-        raise Exception("Missing MIB fields")
-    if int(mib["radiusAccClientRetransmissions"]) < 1 and int(mib["radiusAccClientPendingRequests"]) < 1:
+    found = False
+    for i in range(4):
+        time.sleep(1)
+        mib = hapd.get_mib()
+        if "radiusAccClientRetransmissions" not in mib:
+            raise Exception("Missing MIB fields")
+        if int(mib["radiusAccClientRetransmissions"]) > 0 or \
+           int(mib["radiusAccClientPendingRequests"]) > 0:
+            found = True
+    if not found:
         raise Exception("Missing pending or retransmitted RADIUS Accounting requests")
 
 def test_radius_acct_unreachable3(dev, apdev):