diff options
| author | yolandyan <yolandyan@google.com> | 2016-01-27 12:43:30 -0800 |
|---|---|---|
| committer | Commit bot <commit-bot@chromium.org> | 2016-01-27 20:44:28 +0000 |
| commit | eee4f0ab9679200cae959d708b2f77458d0b6de4 (patch) | |
| tree | 6fab23f18d69f1c8240a30041d9d7438dba9a455 /build | |
| parent | 3b79aa01bea71b51faf3e302ec82a845e4ab59b4 (diff) | |
| download | chromium_src-eee4f0ab9679200cae959d708b2f77458d0b6de4.zip chromium_src-eee4f0ab9679200cae959d708b2f77458d0b6de4.tar.gz chromium_src-eee4f0ab9679200cae959d708b2f77458d0b6de4.tar.bz2 | |
Add support to run emulator without ui on bots
BUG=
Review URL: https://codereview.chromium.org/1634423002
Cr-Commit-Position: refs/heads/master@{#371862}
Diffstat (limited to 'build')
| -rwxr-xr-x | build/android/avd.py | 9 | ||||
| -rw-r--r-- | build/android/pylib/utils/emulator.py | 27 |
2 files changed, 28 insertions, 8 deletions
diff --git a/build/android/avd.py b/build/android/avd.py index c9f73bf..08e78c7 100755 --- a/build/android/avd.py +++ b/build/android/avd.py @@ -58,6 +58,9 @@ def main(argv): run_parser.add_argument('--enable-kvm', action='store_true', dest='enable_kvm', default=False, help='Enable kvm for faster x86 emulator run') + run_parser.add_argument('--headless', action='store_true', + dest='headless', default=False, + help='Launch an emulator with no UI.') arguments = arg_parser.parse_args(argv[1:]) @@ -120,7 +123,8 @@ def main(argv): enable_kvm=arguments.enable_kvm, kill_and_launch=arguments.reset_and_launch, sdcard_size=arguments.sdcard_size, - storage_size=arguments.partition_size + storage_size=arguments.partition_size, + headless=arguments.headless ) else: emulator.LaunchTempEmulators( @@ -131,7 +135,8 @@ def main(argv): kill_and_launch=arguments.kill_and_launch, sdcard_size=arguments.sdcard_size, storage_size=arguments.partition_size, - wait_for_boot=True + wait_for_boot=True, + headless=arguments.headless ) if __name__ == '__main__': diff --git a/build/android/pylib/utils/emulator.py b/build/android/pylib/utils/emulator.py index abd0cb6..4007f1a2 100644 --- a/build/android/pylib/utils/emulator.py +++ b/build/android/pylib/utils/emulator.py @@ -158,7 +158,8 @@ def _GetAvailablePort(): def LaunchTempEmulators(emulator_count, abi, api_level, enable_kvm=False, kill_and_launch=True, sdcard_size=DEFAULT_SDCARD_SIZE, - storage_size=DEFAULT_STORAGE_SIZE, wait_for_boot=True): + storage_size=DEFAULT_STORAGE_SIZE, wait_for_boot=True, + headless=False): """Create and launch temporary emulators and wait for them to boot. Args: @@ -166,6 +167,7 @@ def LaunchTempEmulators(emulator_count, abi, api_level, enable_kvm=False, abi: the emulator target platform api_level: the api level (e.g., 19 for Android v4.4 - KitKat release) wait_for_boot: whether or not to wait for emulators to boot up + headless: running emulator with no ui Returns: List of emulators. @@ -178,7 +180,8 @@ def LaunchTempEmulators(emulator_count, abi, api_level, enable_kvm=False, logging.info('Emulator launch %d with avd_name=%s and api=%d', n, avd_name, api_level) emulator = Emulator(avd_name, abi, enable_kvm=enable_kvm, - sdcard_size=sdcard_size, storage_size=storage_size) + sdcard_size=sdcard_size, storage_size=storage_size, + headless=headless) emulator.CreateAVD(api_level) emulator.Launch(kill_all_emulators=(n == 0 and kill_and_launch)) t.Stop() @@ -192,19 +195,21 @@ def LaunchTempEmulators(emulator_count, abi, api_level, enable_kvm=False, def LaunchEmulator(avd_name, abi, kill_and_launch=True, enable_kvm=False, sdcard_size=DEFAULT_SDCARD_SIZE, - storage_size=DEFAULT_STORAGE_SIZE): + storage_size=DEFAULT_STORAGE_SIZE, headless=False): """Launch an existing emulator with name avd_name. Args: avd_name: name of existing emulator abi: the emulator target platform + headless: running emulator with no ui Returns: emulator object. """ logging.info('Specified emulator named avd_name=%s launched', avd_name) emulator = Emulator(avd_name, abi, enable_kvm=enable_kvm, - sdcard_size=sdcard_size, storage_size=storage_size) + sdcard_size=sdcard_size, storage_size=storage_size, + headless=headless) emulator.Launch(kill_all_emulators=kill_and_launch) emulator.ConfirmLaunch(True) return emulator @@ -242,7 +247,7 @@ class Emulator(object): def __init__(self, avd_name, abi, enable_kvm=False, sdcard_size=DEFAULT_SDCARD_SIZE, - storage_size=DEFAULT_STORAGE_SIZE): + storage_size=DEFAULT_STORAGE_SIZE, headless=False): """Init an Emulator. Args: @@ -259,6 +264,7 @@ class Emulator(object): self.sdcard_size = sdcard_size self.storage_size = storage_size self.enable_kvm = enable_kvm + self.headless = headless @staticmethod def _DeviceName(): @@ -375,13 +381,22 @@ class Emulator(object): self.emulator, # Speed up emulator launch by 40%. Really. '-no-boot-anim', + ] + if self.headless: + emulator_command.extend([ + '-no-skin', + '-no-audio', + '-no-window' + ]) + emulator_command.extend([ # Use a familiar name and port. '-avd', self.avd_name, '-port', str(port), # Enable GPU by default. '-gpu', 'on', + # all the argument after qemu are sub arguments for qemu '-qemu', '-m', '1024', - ] + ]) if self.abi == 'x86' and self.enable_kvm: emulator_command.extend([ # For x86 emulator --enable-kvm will fail early, avoiding accidental |
