Bug 1137320 - Improve wait for android emulator startup; r=kmoir
authorGeoff Brown <gbrown@mozilla.com>
Tue, 10 Mar 2015 11:55:05 -0600 (2015-03-10)
changeset 3735 cba147db08a51e02b4f2a443c3803c2dda2ea527
parent 3734 71df988f505ac66dd3c50c2d674add434f693111
child 3736 f18e70492ade79e130542cf7d2bf97654b352ad5
push id2938
push usergbrown@mozilla.com
push dateTue, 10 Mar 2015 17:55:51 +0000 (2015-03-10)
reviewerskmoir
bugs1137320
Bug 1137320 - Improve wait for android emulator startup; r=kmoir
scripts/android_emulator_unittest.py
--- a/scripts/android_emulator_unittest.py
+++ b/scripts/android_emulator_unittest.py
@@ -694,16 +694,30 @@ class AndroidEmulatorTest(BlobUploadMixi
                 'device_package_name': self._query_package_name()
             }
             config = dict(config.items() + self.config.items())
 
             self.info("Creating ADBDevicHandler for %s with config %s" % (emulator["name"], config))
             dh = ADBDeviceHandler(config=config, log_obj=self.log_obj, script_obj=self)
             dh.device_id = emulator['device_id']
 
+            # Wait for Android to finish booting
+            completed = None
+            retries = 0
+            while retries < 30:
+                completed = self.get_output_from_command([self.adb_path,
+                    "-s", emulator['device_id'], "shell",
+                    "getprop", "sys.boot_completed"])
+                if completed == '1':
+                    break
+                time.sleep(10)
+                retries = retries + 1
+            if completed != '1':
+                self.warning('Retries exhausted waiting for Android boot.')
+
             # Install Fennec
             self.info("Installing Fennec for %s" % emulator["name"])
             dh.install_app(self.installer_path)
 
             # Install the robocop apk if required
             if suite_name.startswith('robocop'):
                 self.info("Installing Robocop for %s" % emulator["name"])
                 config['device_package_name'] = self.config["robocop_package_name"]