From 6f2289b6b4489f166131149037d1a201858545a0 Mon Sep 17 00:00:00 2001 From: Benjamin Berg Date: Tue, 21 Nov 2023 01:51:46 +0200 Subject: [PATCH] tests: Avoid exception string matching for failures Future commits change the related code and exception string. Avoiding using the context is easy here and actually avoids two layers of nesting. Signed-off-by: Benjamin Berg --- 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 7f36618b8..66911de0a 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"""