diff options
author | herbertxue <herbertxue@google.com> | 2021-05-13 06:43:37 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2021-05-13 06:43:37 +0000 |
commit | 965713390056bfd27dd4bc22558169eade3ff2f5 (patch) | |
tree | b7c942738553e015169331b4f4af09e2bc720d58 | |
parent | afb6d1022543b4ecfcce13fbcb6c1b83dadde1eb (diff) | |
parent | 6b3d94d1c8db988e05035c4ff72584ef5ff18051 (diff) | |
download | acloud-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.py | 8 | ||||
-rw-r--r-- | create/avd_spec_test.py | 3 | ||||
-rw-r--r-- | create/create_args.py | 6 | ||||
-rw-r--r-- | create/local_image_local_instance.py | 2 | ||||
-rw-r--r-- | internal/lib/cvd_compute_client_multi_stage.py | 4 | ||||
-rw-r--r-- | internal/lib/cvd_compute_client_multi_stage_test.py | 1 | ||||
-rw-r--r-- | internal/lib/cvd_compute_client_test.py | 1 | ||||
-rw-r--r-- | public/actions/remote_instance_cf_device_factory_test.py | 7 | ||||
-rw-r--r-- | public/actions/remote_instance_fvp_device_factory_test.py | 1 |
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) |