From 54c20c9b43dea990c9f8320e45519396cfcb396d Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Thu, 15 May 2014 14:13:39 +0300 Subject: [PATCH] tests: Make discovery_group_client more robust Allow three P2P_FIND attempts for discovering the GO on a non-social channels since the single Probe Response frame can be missed easily under heavy CPU load. Signed-off-by: Jouni Malinen --- tests/hwsim/test_p2p_discovery.py | 6 ++++-- tests/hwsim/wpasupplicant.py | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/tests/hwsim/test_p2p_discovery.py b/tests/hwsim/test_p2p_discovery.py index c159aad24..803f830b9 100644 --- a/tests/hwsim/test_p2p_discovery.py +++ b/tests/hwsim/test_p2p_discovery.py @@ -100,8 +100,10 @@ def test_discovery_group_client(dev): logger.info("Client connected") hwsim_utils.test_connectivity_p2p(dev[0], dev[1]) logger.info("Try to discover a P2P client in a group") - if not dev[2].discover_peer(dev[1].p2p_dev_addr(), social=False): - raise Exception("Could not discover group client") + if not dev[2].discover_peer(dev[1].p2p_dev_addr(), social=False, timeout=10): + if not dev[2].discover_peer(dev[1].p2p_dev_addr(), social=False, timeout=10): + if not dev[2].discover_peer(dev[1].p2p_dev_addr(), social=False, timeout=10): + raise Exception("Could not discover group client") # This is not really perfect, but something to get a bit more testing # coverage.. For proper discoverability mechanism validation, the P2P diff --git a/tests/hwsim/wpasupplicant.py b/tests/hwsim/wpasupplicant.py index a1a32fb5f..fb77e9b79 100644 --- a/tests/hwsim/wpasupplicant.py +++ b/tests/hwsim/wpasupplicant.py @@ -613,7 +613,8 @@ class WpaSupplicant: def p2p_connect_group(self, go_addr, pin, timeout=0, social=False): self.dump_monitor() if not self.discover_peer(go_addr, social=social): - raise Exception("GO " + go_addr + " not found") + if social or not self.discover_peer(go_addr, social=social): + raise Exception("GO " + go_addr + " not found") self.dump_monitor() cmd = "P2P_CONNECT " + go_addr + " " + pin + " join" if "OK" in self.global_request(cmd):