[PATCH 32/42] hwsim: Avoid exception string matching for failures
Andrei Otcheretianski
andrei.otcheretianski at intel.com
Mon Nov 20 15:51:46 PST 2023
From: Benjamin Berg <benjamin.berg at intel.com>
Future commits change the related code and exception string. Avoiding
using the context is easy here and actually avoid two layers of nesting.
Signed-off-by: Benjamin Berg <benjamin.berg at intel.com>
---
tests/hwsim/test_ap_eap.py | 44 ++++++++++++++++++++++----------------
1 file changed, 25 insertions(+), 19 deletions(-)
diff --git a/tests/hwsim/test_ap_eap.py b/tests/hwsim/test_ap_eap.py
index 7f36618b8e..66911de0a4 100644
--- a/tests/hwsim/test_ap_eap.py
+++ b/tests/hwsim/test_ap_eap.py
@@ -3469,26 +3469,32 @@ def test_ap_wpa2_eap_eke_server_oom(dev, apdev):
dev[0].request("REMOVE_NETWORK all")
for count in range(1, 1000):
- try:
- with alloc_fail(hapd, count, "eap_server_sm_step"):
- dev[0].connect("test-wpa2-eap",
- key_mgmt="WPA-EAP WPA-EAP-SHA256",
- eap="EKE", identity="eke user", password=pw,
- wait_connect=False, scan_freq="2412")
- # This would eventually time out, but we can stop after having
- # reached the allocation failure.
- for i in range(10):
- time.sleep(0.1)
- if hapd.request("GET_ALLOC_FAIL").startswith('0'):
- break
- dev[0].request("REMOVE_NETWORK all")
- except Exception as e:
- if str(e) == "Allocation failure did not trigger":
- if count < 30:
- raise Exception("Too few allocation failures")
- logger.info("%d allocation failures tested" % (count - 1))
+ # Fail on allocation number "count"
+ hapd.request("TEST_ALLOC_FAIL %d:eap_server_sm_step" % count)
+
+ dev[0].connect("test-wpa2-eap",
+ key_mgmt="WPA-EAP WPA-EAP-SHA256",
+ eap="EKE", identity="eke user", password=pw,
+ wait_connect=False, scan_freq="2412")
+ # This would eventually time out, but we can stop after having
+ # reached the allocation failure.
+ for i in range(10):
+ time.sleep(0.1)
+ if hapd.request("GET_ALLOC_FAIL").startswith('0'):
break
- raise e
+ else:
+ # Last iteration had no failure
+ # i.e. we exceeded the number of allocations
+ dev[0].request("REMOVE_NETWORK all")
+ logger.info("%d allocation failures tested" % (count - 1))
+ break
+ else:
+ # All iterations had an allocation failure
+ hapd.request("TEST_ALLOC_FAIL 0:")
+ raise Exception("More than %d allocations, test aborted" % (count - 1))
+
+ if count < 30:
+ raise Exception("Too few allocation failures")
def test_ap_wpa2_eap_ikev2(dev, apdev):
"""WPA2-Enterprise connection using EAP-IKEv2"""
--
2.38.1
More information about the Hostap
mailing list