Index: build/android/pylib/utils/emulator.py |
diff --git a/build/android/emulator.py b/build/android/pylib/utils/emulator.py |
similarity index 92% |
copy from build/android/emulator.py |
copy to build/android/pylib/utils/emulator.py |
index 77c9a75daa11963c0de2502d33bc828363f5fef1..1d93d99a6cdafe90d0b89d5f9d366f9f954a6cfb 100755 |
--- a/build/android/emulator.py |
+++ b/build/android/pylib/utils/emulator.py |
@@ -21,6 +21,7 @@ import time |
from pylib import android_commands |
from pylib import cmd_helper |
+from pylib.utils import time_profile |
# adb_interface.py is under ../../third_party/android_testrunner/ |
sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)), '..', |
@@ -99,8 +100,36 @@ def _GetAvailablePort(): |
return port |
+def LaunchEmulators(emulator_count, wait_for_boot=True): |
+ """Launch multiple emulators and wait for them to boot. |
+ |
+ Args: |
+ emulator_count: number of emulators to launch. |
+ |
+ Returns: |
+ List of emulators. |
+ """ |
+ emulators = [] |
+ for n in xrange(emulator_count): |
+ t = time_profile.TimeProfile('Emulator launch %d' % n) |
+ avd_name = None |
+ if n > 0: |
+ # Creates a temporary AVD for the extra emulators. |
+ avd_name = 'run_tests_avd_%d' % n |
+ logging.info('Emulator launch %d with avd_name=%s', n, avd_name) |
+ emulator = Emulator(avd_name, False) |
craigdh
2013/01/09 01:32:48
The fast_and_loose option will be removed before t
|
+ emulator.Launch(kill_all_emulators=n == 0) |
+ t.Stop() |
+ emulators.append(emulator) |
+ # Wait for all emulators to boot completed. |
+ if wait_for_boot: |
+ for emulator in emulators: |
+ emulator.ConfirmLaunch(True) |
+ return emulators |
+ |
+ |
class Emulator(object): |
- """Provides the methods to lanuch/shutdown the emulator. |
+ """Provides the methods to launch/shutdown the emulator. |
The emulator has the android virtual device named 'avd_armeabi'. |
@@ -312,10 +341,3 @@ class Emulator(object): |
"""Install a handler to kill the emulator when we exit unexpectedly.""" |
for sig in self._SIGNALS: |
signal.signal(sig, self._ShutdownOnSignal) |
- |
-def main(argv): |
- Emulator(None, True).Launch(True) |
- |
- |
-if __name__ == '__main__': |
- main(sys.argv) |