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"""
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"""
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"""
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()
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")
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")
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"""
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):
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()
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()