summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/build/fuchsia/start_emulator.py
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/libwebrtc/build/fuchsia/start_emulator.py')
-rwxr-xr-xthird_party/libwebrtc/build/fuchsia/start_emulator.py84
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()