From 2c914e24645fe459dd1ed6b3c2a8e0f867c14ff8 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Sun, 1 Sep 2013 19:30:08 +0300 Subject: [PATCH] tests: Use a helper function for waiting session termination Signed-hostap: Jouni Malinen --- tests/hwsim/test_p2p_autogo.py | 18 +++--------------- tests/hwsim/test_p2p_grpform.py | 18 +++--------------- tests/hwsim/test_p2p_persistent.py | 30 +++++------------------------- tests/hwsim/wpasupplicant.py | 7 +++++++ 4 files changed, 18 insertions(+), 55 deletions(-) diff --git a/tests/hwsim/test_p2p_autogo.py b/tests/hwsim/test_p2p_autogo.py index d62da5972..b10c05f10 100644 --- a/tests/hwsim/test_p2p_autogo.py +++ b/tests/hwsim/test_p2p_autogo.py @@ -32,11 +32,7 @@ def test_autogo(dev): autogo(dev[0]) connect_cli(dev[0], dev[1]) dev[0].remove_group() - ev = dev[1].wait_event(["P2P-GROUP-REMOVED"], timeout=2) - if ev is None: - raise Exception("Group removal event timed out") - if "reason=GO_ENDING_SESSION" not in ev: - raise Exception("Unexpected group removal reason") + dev[1].wait_go_ending_session() def test_autogo_2cli(dev): """P2P autonomous GO and two clients joining group""" @@ -45,17 +41,9 @@ def test_autogo_2cli(dev): connect_cli(dev[0], dev[2]) hwsim_utils.test_connectivity_p2p(dev[1], dev[2]) dev[0].global_request("P2P_REMOVE_CLIENT " + dev[1].p2p_dev_addr()) - ev = dev[1].wait_event(["P2P-GROUP-REMOVED"], timeout=2) - if ev is None: - raise Exception("Group removal event timed out") - if "reason=GO_ENDING_SESSION" not in ev: - raise Exception("Unexpected group removal reason") + dev[1].wait_go_ending_session() dev[0].remove_group() - ev = dev[2].wait_event(["P2P-GROUP-REMOVED"], timeout=2) - if ev is None: - raise Exception("Group removal event timed out") - if "reason=GO_ENDING_SESSION" not in ev: - raise Exception("Unexpected group removal reason") + dev[2].wait_go_ending_session() def test_autogo_tdls(dev): """P2P autonomous GO and two clients using TDLS""" diff --git a/tests/hwsim/test_p2p_grpform.py b/tests/hwsim/test_p2p_grpform.py index 3780eb0f6..1b276e40f 100644 --- a/tests/hwsim/test_p2p_grpform.py +++ b/tests/hwsim/test_p2p_grpform.py @@ -177,16 +177,8 @@ def test_grpform_per_sta_psk(dev): hwsim_utils.test_connectivity_p2p(dev[1], dev[2]) dev[0].remove_group() - ev = dev[1].wait_event(["P2P-GROUP-REMOVED"], timeout=2) - if ev is None: - raise Exception("Group removal event timed out") - if "reason=GO_ENDING_SESSION" not in ev: - raise Exception("Unexpected group removal reason") - ev = dev[2].wait_event(["P2P-GROUP-REMOVED"], timeout=2) - if ev is None: - raise Exception("Group removal event timed out") - if "reason=GO_ENDING_SESSION" not in ev: - raise Exception("Unexpected group removal reason") + dev[1].wait_go_ending_session() + dev[2].wait_go_ending_session() def test_grpform_per_sta_psk_wps(dev): """P2P group formation with per-STA PSKs with non-P2P WPS STA""" @@ -204,8 +196,4 @@ def test_grpform_per_sta_psk_wps(dev): dev[0].remove_group() dev[2].request("DISCONNECT") - ev = dev[1].wait_event(["P2P-GROUP-REMOVED"], timeout=2) - if ev is None: - raise Exception("Group removal event timed out") - if "reason=GO_ENDING_SESSION" not in ev: - raise Exception("Unexpected group removal reason") + dev[1].wait_go_ending_session() diff --git a/tests/hwsim/test_p2p_persistent.py b/tests/hwsim/test_p2p_persistent.py index 67e096b79..d5ff95e58 100644 --- a/tests/hwsim/test_p2p_persistent.py +++ b/tests/hwsim/test_p2p_persistent.py @@ -42,11 +42,7 @@ def test_persistent_group(dev): logger.info("Terminate persistent group") dev[0].remove_group() - ev = dev[1].wait_event(["P2P-GROUP-REMOVED"], timeout=3) - if ev is None: - raise Exception("Group removal event timed out") - if "reason=GO_ENDING_SESSION" not in ev: - raise Exception("Unexpected group removal reason") + dev[1].wait_go_ending_session() logger.info("Re-invoke persistent group from client") dev[0].request("SET persistent_reconnect 1") @@ -76,11 +72,7 @@ def test_persistent_group(dev): logger.info("Terminate persistent group") dev[0].remove_group() - ev = dev[1].wait_event(["P2P-GROUP-REMOVED"], timeout=3) - if ev is None: - raise Exception("Group removal event timed out") - if "reason=GO_ENDING_SESSION" not in ev: - raise Exception("Unexpected group removal reason") + dev[1].wait_go_ending_session() logger.info("Re-invoke persistent group from GO") dev[1].request("SET persistent_reconnect 1") @@ -110,11 +102,7 @@ def test_persistent_group(dev): logger.info("Terminate persistent group") dev[0].remove_group() - ev = dev[1].wait_event(["P2P-GROUP-REMOVED"], timeout=3) - if ev is None: - raise Exception("Group removal event timed out") - if "reason=GO_ENDING_SESSION" not in ev: - raise Exception("Unexpected group removal reason") + dev[1].wait_go_ending_session() def test_persistent_group_per_sta_psk(dev): """P2P persistent group formation and re-invocation using per-client PSK""" @@ -158,11 +146,7 @@ def test_persistent_group_per_sta_psk(dev): logger.info("Remove one of the clients from the group") dev[0].global_request("P2P_REMOVE_CLIENT " + addr2) - ev = dev[2].wait_event(["P2P-GROUP-REMOVED"], timeout=3) - if ev is None: - raise Exception("Group removal event timed out") - if "reason=GO_ENDING_SESSION" not in ev: - raise Exception("Unexpected group removal reason") + dev[2].wait_go_ending_session() logger.info("Try to reconnect after having been removed from group") if not dev[2].discover_peer(addr0, social=True): @@ -178,11 +162,7 @@ def test_persistent_group_per_sta_psk(dev): logger.info("Remove the remaining client from the group") dev[0].global_request("P2P_REMOVE_CLIENT " + addr1) - ev = dev[1].wait_event(["P2P-GROUP-REMOVED"], timeout=3) - if ev is None: - raise Exception("Group removal event timed out") - if "reason=GO_ENDING_SESSION" not in ev: - raise Exception("Unexpected group removal reason") + dev[1].wait_go_ending_session() logger.info("Terminate persistent group") dev[0].remove_group() diff --git a/tests/hwsim/wpasupplicant.py b/tests/hwsim/wpasupplicant.py index 0f376cfa3..6080b67e7 100644 --- a/tests/hwsim/wpasupplicant.py +++ b/tests/hwsim/wpasupplicant.py @@ -320,6 +320,13 @@ class WpaSupplicant: return ev return None + def wait_go_ending_session(self): + ev = self.wait_event(["P2P-GROUP-REMOVED"], timeout=3) + if ev is None: + raise Exception("Group removal event timed out") + if "reason=GO_ENDING_SESSION" not in ev: + raise Exception("Unexpected group removal reason") + def dump_monitor(self): while self.mon.pending(): ev = self.mon.recv()