diff options
Diffstat (limited to 'third_party/libwebrtc/build/fuchsia/start_emulator.py')
-rwxr-xr-x | third_party/libwebrtc/build/fuchsia/start_emulator.py | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/third_party/libwebrtc/build/fuchsia/start_emulator.py b/third_party/libwebrtc/build/fuchsia/start_emulator.py new file mode 100755 index 0000000000..c7edead3fe --- /dev/null +++ b/third_party/libwebrtc/build/fuchsia/start_emulator.py @@ -0,0 +1,84 @@ +#!/usr/bin/env python +# Copyright 2021 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. +"""Starts up a long running emulator for unit testing and developer use.""" + +import argparse +import common +import common_args +import logging +import os +import time +import subprocess + +from fvdl_target import FvdlTarget + + +def main(): + parser = argparse.ArgumentParser( + description='Launches a long-running emulator that can ' + 'be re-used for multiple test runs.') + AddLongRunningArgs(parser) + args = parser.parse_args() + args.out_dir = None + args.device = 'fvdl' + common_args.ConfigureLogging(args) + with common_args.GetDeploymentTargetForArgs(args) as fvdl_target: + if fvdl_target._with_network: + logging.info('If you haven\'t set up tuntap, you may be prompted ' + 'for your sudo password to set up tuntap.') + fvdl_target.Start() + logging.info('Emulator successfully started up! If you are running ' + 'multiple fuchsia devices, specify the port the ip address ' + 'via the --host flag.') + if fvdl_target._with_network: + logging.info('You can now use the "-d" flag when running ' + 'Chrome Fuchsia tests to target this emulator.') + while fvdl_target._IsEmuStillRunning(): + time.sleep(10) + pass + + +def AddLongRunningArgs(arg_parser): + arg_parser.add_argument('-v', + '--verbose', + default=False, + action='store_true', + help='Enable debug-level logging.') + fvdl_args = arg_parser.add_argument_group('FVDL arguments') + fvdl_args.add_argument('--target-cpu', + default=common_args.GetHostArchFromPlatform(), + help='Set target_cpu for the emulator. Defaults ' + 'to the same architecture as host cpu.') + fvdl_args.add_argument('--system-log-file', + help='File to write system logs to. Specify ' + '\'-\' to log to stdout.') + fvdl_args.add_argument('--allow-no-kvm', + action='store_false', + dest='require_kvm', + default=True, + help='Disables KVM acceleration for the emulator.') + fvdl_args.add_argument('--enable-graphics', + action='store_true', + default=False, + help='Start FVDL with graphics instead of '\ + 'headless.') + fvdl_args.add_argument('--hardware-gpu', + action='store_true', + default=False, + help='Use local GPU hardware instead of '\ + 'Swiftshader.') + fvdl_args.add_argument('--without-network', + action='store_false', + dest='with_network', + default=True, + help='Run emulator without emulated nic via tun/tap.') + fvdl_args.add_argument('--ram-size-mb', + type=int, + default=8192, + help='Set the ram size amount for the emulator.') + + +if __name__ == '__main__': + main() |