aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorherbertxue <herbertxue@google.com>2021-05-13 06:43:37 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-05-13 06:43:37 +0000
commit965713390056bfd27dd4bc22558169eade3ff2f5 (patch)
treeb7c942738553e015169331b4f4af09e2bc720d58
parentafb6d1022543b4ecfcce13fbcb6c1b83dadde1eb (diff)
parent6b3d94d1c8db988e05035c4ff72584ef5ff18051 (diff)
downloadacloud-android12L-tests-release.tar.gz
Support "--launch-args" to add args in launch_cvd command. am: 877df86aab am: 18fe910765 am: 6b3d94d1c8android-vts-12.1_r9android-vts-12.1_r8android-vts-12.1_r7android-vts-12.1_r6android-vts-12.1_r5android-vts-12.1_r4android-vts-12.1_r3android-vts-12.1_r2android-vts-12.1_r10android-vts-12.0_r9android-vts-12.0_r8android-vts-12.0_r7android-vts-12.0_r6android-vts-12.0_r5android-vts-12.0_r4android-vts-12.0_r3android-vts-12.0_r2android-vts-12.0_r12android-vts-12.0_r11android-vts-12.0_r10android-cts-12.1_r9android-cts-12.1_r8android-cts-12.1_r7android-cts-12.1_r6android-cts-12.1_r5android-cts-12.1_r4android-cts-12.1_r3android-cts-12.1_r2android-cts-12.1_r10android-cts-12.0_r9android-cts-12.0_r8android-cts-12.0_r7android-cts-12.0_r6android-cts-12.0_r5android-cts-12.0_r4android-cts-12.0_r3android-cts-12.0_r2android-cts-12.0_r12android-cts-12.0_r11android-cts-12.0_r10android-12.1.0_r9android-12.1.0_r8android-12.1.0_r7android-12.1.0_r22android-12.1.0_r21android-12.1.0_r20android-12.1.0_r19android-12.1.0_r11android-12.1.0_r10android-12.0.0_r32android-12.0.0_r29android-12.0.0_r28android-12.0.0_r27android-12.0.0_r26android-12.0.0_r21android-12.0.0_r20android-12.0.0_r19android-12.0.0_r18android-12.0.0_r16android12L-tests-releaseandroid12L-tests-devandroid12L-devandroid12-tests-releaseandroid12-tests-devandroid12-qpr3-s7-releaseandroid12-qpr3-s6-releaseandroid12-qpr3-s5-releaseandroid12-qpr3-s4-releaseandroid12-qpr3-s3-releaseandroid12-qpr3-s2-releaseandroid12-qpr3-s1-releaseandroid12-qpr3-releaseandroid12-qpr1-releaseandroid12-qpr1-d-s3-releaseandroid12-qpr1-d-s2-releaseandroid12-qpr1-d-s1-releaseandroid12-qpr1-d-releaseandroid12-dev
Original change: https://android-review.googlesource.com/c/platform/tools/acloud/+/1676252 Change-Id: I0ef32925c0109e53d6d0412fb4628fa7cea3c84c
-rw-r--r--create/avd_spec.py8
-rw-r--r--create/avd_spec_test.py3
-rw-r--r--create/create_args.py6
-rw-r--r--create/local_image_local_instance.py2
-rw-r--r--internal/lib/cvd_compute_client_multi_stage.py4
-rw-r--r--internal/lib/cvd_compute_client_multi_stage_test.py1
-rw-r--r--internal/lib/cvd_compute_client_test.py1
-rw-r--r--public/actions/remote_instance_cf_device_factory_test.py7
-rw-r--r--public/actions/remote_instance_fvp_device_factory_test.py1
9 files changed, 31 insertions, 2 deletions
diff --git a/create/avd_spec.py b/create/avd_spec.py
index ee341530..7be4ece5 100644
--- a/create/avd_spec.py
+++ b/create/avd_spec.py
@@ -110,6 +110,7 @@ class AVDSpec():
self._flavor = None
self._image_source = None
self._instance_type = None
+ self._launch_args = None
self._local_image_dir = None
self._local_image_artifact = None
self._local_instance_dir = None
@@ -333,6 +334,8 @@ class AVDSpec():
self._boot_timeout_secs = args.boot_timeout_secs
self._ins_timeout_secs = args.ins_timeout_secs
+ self._launch_args = " ".join(
+ list(filter(None, [self._cfg.launch_args, args.launch_args])))
if args.reuse_gce:
if args.reuse_gce != constants.SELECT_ONE_GCE_INSTANCE:
@@ -942,3 +945,8 @@ class AVDSpec():
def oxygen(self):
"""Return oxygen."""
return self._oxygen
+
+ @property
+ def launch_args(self):
+ """Return launch_args."""
+ return self._launch_args
diff --git a/create/avd_spec_test.py b/create/avd_spec_test.py
index e167ef94..4c480068 100644
--- a/create/avd_spec_test.py
+++ b/create/avd_spec_test.py
@@ -46,6 +46,7 @@ class AvdSpecTest(driver_test_lib.BaseDriverTest):
self.args.config_file = ""
self.args.build_target = "fake_build_target"
self.args.adb_port = None
+ self.args.launch_args = None
self.Patch(list_instances, "ChooseOneRemoteInstance", return_value=mock.MagicMock())
self.Patch(list_instances, "GetInstancesFromInstanceNames", return_value=mock.MagicMock())
self.AvdSpec = avd_spec.AVDSpec(self.args)
@@ -337,6 +338,7 @@ class AvdSpecTest(driver_test_lib.BaseDriverTest):
"""Test _ProcessRemoteBuildArgs."""
self.args.branch = "git_master"
self.args.build_id = "1234"
+ self.args.launch_args = None
# Verify auto-assigned avd_type if build_targe contains "_gce_".
self.args.build_target = "aosp_gce_x86_phone-userdebug"
@@ -379,6 +381,7 @@ class AvdSpecTest(driver_test_lib.BaseDriverTest):
# Setup acloud config with betty_image spec
cfg = mock.MagicMock()
cfg.betty_image = 'foobarbaz'
+ cfg.launch_args = None
self.Patch(config, 'GetAcloudConfig', return_value=cfg)
self.AvdSpec = avd_spec.AVDSpec(self.args)
# --betty-image from cmdline should override config
diff --git a/create/create_args.py b/create/create_args.py
index f2c885f6..8071f558 100644
--- a/create/create_args.py
+++ b/create/create_args.py
@@ -197,6 +197,12 @@ def AddCommonCreateArgs(parser):
help="'cuttlefish only' System image build target, specify if different "
"from --build-target",
required=False)
+ parser.add_argument(
+ "--launch-args",
+ type=str,
+ dest="launch_args",
+ help="'cuttlefish only' Add extra args to launch_cvd command.",
+ required=False)
# TODO(146314062): Remove --multi-stage-launch after infra don't use this
# args.
parser.add_argument(
diff --git a/create/local_image_local_instance.py b/create/local_image_local_instance.py
index 0370734a..c8c38cdc 100644
--- a/create/local_image_local_instance.py
+++ b/create/local_image_local_instance.py
@@ -236,7 +236,7 @@ class LocalImageLocalInstance(base_avd_create.BaseAVDCreate):
avd_spec.connect_vnc,
super_image_path,
artifact_paths.boot_image,
- avd_spec.cfg.launch_args,
+ avd_spec.launch_args,
avd_spec.flavor)
result_report = report.Report(command="create")
diff --git a/internal/lib/cvd_compute_client_multi_stage.py b/internal/lib/cvd_compute_client_multi_stage.py
index 2abb901c..cc86a21e 100644
--- a/internal/lib/cvd_compute_client_multi_stage.py
+++ b/internal/lib/cvd_compute_client_multi_stage.py
@@ -321,13 +321,15 @@ class CvdComputeClient(android_compute_client.AndroidComputeClient):
if avd_spec.num_avds_per_instance > 1:
launch_cvd_args.append(
_NUM_AVDS_ARG % {"num_AVD": avd_spec.num_avds_per_instance})
+ if avd_spec.launch_args:
+ launch_cvd_args.append(avd_spec.launch_args)
else:
resolution = self._resolution.split("x")
launch_cvd_args.append("-x_res=" + resolution[0])
launch_cvd_args.append("-y_res=" + resolution[1])
launch_cvd_args.append("-dpi=" + resolution[3])
- if self._launch_args:
+ if not avd_spec and self._launch_args:
launch_cvd_args.append(self._launch_args)
if decompress_kernel:
diff --git a/internal/lib/cvd_compute_client_multi_stage_test.py b/internal/lib/cvd_compute_client_multi_stage_test.py
index 46926668..08875e4c 100644
--- a/internal/lib/cvd_compute_client_multi_stage_test.py
+++ b/internal/lib/cvd_compute_client_multi_stage_test.py
@@ -107,6 +107,7 @@ class CvdComputeClientTest(driver_test_lib.BaseDriverTest):
self.args.hw_property = "cpu:2,resolution:1080x1920,dpi:240,memory:4g,disk:10g"
self.args.num_avds_per_instance = 2
self.args.remote_host = False
+ self.args.launch_args = self.LAUNCH_ARGS
# pylint: disable=protected-access
@mock.patch.object(utils, "GetBuildEnvironmentVariable", return_value="fake_env_cf_x86")
diff --git a/internal/lib/cvd_compute_client_test.py b/internal/lib/cvd_compute_client_test.py
index 7b764c62..d9809b1d 100644
--- a/internal/lib/cvd_compute_client_test.py
+++ b/internal/lib/cvd_compute_client_test.py
@@ -155,6 +155,7 @@ class CvdComputeClientTest(driver_test_lib.BaseDriverTest):
args.flavor = "phone"
args.adb_port = None
args.remote_host = False
+ args.launch_args = None
fake_avd_spec = avd_spec.AVDSpec(args)
fake_avd_spec.hw_property[constants.HW_X_RES] = str(self.X_RES)
fake_avd_spec.hw_property[constants.HW_Y_RES] = str(self.Y_RES)
diff --git a/public/actions/remote_instance_cf_device_factory_test.py b/public/actions/remote_instance_cf_device_factory_test.py
index 2c89139c..1e0aa0bd 100644
--- a/public/actions/remote_instance_cf_device_factory_test.py
+++ b/public/actions/remote_instance_cf_device_factory_test.py
@@ -66,6 +66,7 @@ class RemoteInstanceDeviceFactoryTest(driver_test_lib.BaseDriverTest):
args.flavor = "phone"
args.local_image = constants.FIND_IN_BUILD_ENV
args.local_system_image = None
+ args.launch_args = None
avd_spec_local_img = avd_spec.AVDSpec(args)
fake_image_name = "/fake/aosp_cf_x86_phone-img-eng.username.zip"
fake_host_package_name = "/fake/host_package.tar.gz"
@@ -106,6 +107,7 @@ class RemoteInstanceDeviceFactoryTest(driver_test_lib.BaseDriverTest):
args.local_image = constants.FIND_IN_BUILD_ENV
args.local_system_image = None
args.adb_port = None
+ args.launch_args = None
fake_avd_spec = avd_spec.AVDSpec(args)
fake_avd_spec.cfg.enable_multi_stage = True
fake_avd_spec._instance_name_to_reuse = None
@@ -151,6 +153,7 @@ class RemoteInstanceDeviceFactoryTest(driver_test_lib.BaseDriverTest):
args.local_image = constants.FIND_IN_BUILD_ENV
args.local_system_image = None
args.adb_port = None
+ args.launch_args = None
fake_avd_spec = avd_spec.AVDSpec(args)
fake_avd_spec.cfg.enable_multi_stage = True
fake_avd_spec._instance_name_to_reuse = None
@@ -184,6 +187,7 @@ class RemoteInstanceDeviceFactoryTest(driver_test_lib.BaseDriverTest):
args.local_image = constants.FIND_IN_BUILD_ENV
args.local_system_image = None
args.adb_port = None
+ args.launch_args = None
fake_avd_spec = avd_spec.AVDSpec(args)
fake_avd_spec.cfg.enable_multi_stage = True
fake_avd_spec._instance_name_to_reuse = "fake-1234-userbuild-fake-target"
@@ -213,6 +217,7 @@ class RemoteInstanceDeviceFactoryTest(driver_test_lib.BaseDriverTest):
args.local_system_image = None
args.adb_port = None
args.cheeps_betty_image = None
+ args.launch_args = None
avd_spec_local_image = avd_spec.AVDSpec(args)
factory = remote_instance_cf_device_factory.RemoteInstanceDeviceFactory(
avd_spec_local_image,
@@ -271,6 +276,7 @@ class RemoteInstanceDeviceFactoryTest(driver_test_lib.BaseDriverTest):
args.local_image = "fake_local_image"
args.local_system_image = None
args.adb_port = None
+ args.launch_args = None
avd_spec_local_image = avd_spec.AVDSpec(args)
factory = remote_instance_cf_device_factory.RemoteInstanceDeviceFactory(
avd_spec_local_image,
@@ -332,6 +338,7 @@ class RemoteInstanceDeviceFactoryTest(driver_test_lib.BaseDriverTest):
args.local_image = "fake_local_image"
args.local_system_image = None
args.adb_port = None
+ args.launch_args = None
avd_spec_local_image = avd_spec.AVDSpec(args)
factory = remote_instance_cf_device_factory.RemoteInstanceDeviceFactory(
avd_spec_local_image,
diff --git a/public/actions/remote_instance_fvp_device_factory_test.py b/public/actions/remote_instance_fvp_device_factory_test.py
index 72f3c611..74330733 100644
--- a/public/actions/remote_instance_fvp_device_factory_test.py
+++ b/public/actions/remote_instance_fvp_device_factory_test.py
@@ -67,6 +67,7 @@ class RemoteInstanceDeviceFactoryTest(driver_test_lib.BaseDriverTest):
args.local_image = "fake_local_image"
args.local_system_image = None
args.adb_port = None
+ args.launch_args = None
avd_spec_local_image = avd_spec.AVDSpec(args)
factory = remote_instance_fvp_device_factory.RemoteInstanceDeviceFactory(
avd_spec_local_image)