summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authoryolandyan <yolandyan@google.com>2016-01-27 12:43:30 -0800
committerCommit bot <commit-bot@chromium.org>2016-01-27 20:44:28 +0000
commiteee4f0ab9679200cae959d708b2f77458d0b6de4 (patch)
tree6fab23f18d69f1c8240a30041d9d7438dba9a455 /build
parent3b79aa01bea71b51faf3e302ec82a845e4ab59b4 (diff)
downloadchromium_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-xbuild/android/avd.py9
-rw-r--r--build/android/pylib/utils/emulator.py27
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