| Index: build/android/pylib/utils/emulator.py
|
| diff --git a/build/android/emulator.py b/build/android/pylib/utils/emulator.py
|
| similarity index 91%
|
| copy from build/android/emulator.py
|
| copy to build/android/pylib/utils/emulator.py
|
| index 0cbe4c946c5c9a30a86528446acec25f7b506500..70afffb2efc2cbe011bb36b21ff3680c6f5c9f6f 100755
|
| --- a/build/android/emulator.py
|
| +++ b/build/android/pylib/utils/emulator.py
|
| @@ -19,6 +19,8 @@ import subprocess
|
| import sys
|
| import time
|
|
|
| +import time_profile
|
| +# TODO(craigdh): Move these pylib dependencies to pylib/utils/.
|
| from pylib import android_commands
|
| from pylib import cmd_helper
|
|
|
| @@ -99,8 +101,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)
|
| + 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'.
|
|
|
| @@ -306,10 +336,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)
|
|
|