From be1815722311f6fdb5b9a8fb5fe6f6bec8928abf Mon Sep 17 00:00:00 2001 From: Quentin Perret Date: Fri, 27 Oct 2017 15:47:26 +0100 Subject: [PATCH] framework/target: wait 20 sec for network to show up Some targets need more than 5 seconds to re-connect to a wifi network after disabling airplane mode. To fix that, poll for network up to 20 seconds and show a warning if unreachable. --- wa/framework/target/runtime_config.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/wa/framework/target/runtime_config.py b/wa/framework/target/runtime_config.py index 8b4fd006..297a084f 100644 --- a/wa/framework/target/runtime_config.py +++ b/wa/framework/target/runtime_config.py @@ -903,8 +903,17 @@ class AndroidRuntimeConfig(RuntimeConfig): # about to run a workload that is going to check for network # connectivity. if old_airplane_mode and not new_airplane_mode: - self.logger.info('Disabled airplane mode, waiting 5 seconds for network setup') - time.sleep(5) + self.logger.info('Disabled airplane mode, waiting up to 20 seconds for network setup') + network_is_ready = False + for _ in range(4): + time.sleep(5) + network_is_ready = self.target.is_network_connected() + if network_is_ready: + break + if network_is_ready: + self.logger.info("Found a network") + else: + self.logger.warning("Network unreachable") if 'brightness' in self.config: self.target.set_brightness(self.config['brightness'])