diff options
author | Nathan Zoltan Poag <poag@google.com> | 2021-04-21 19:30:28 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2021-04-21 19:30:28 +0000 |
commit | 59a0782734165546fc8b968811e42c0cd30be60d (patch) | |
tree | 9d818500ab52f3eb69056fa899e028e3e8ec665b | |
parent | bee9686969829da92ca7f28dc2d040b372665f1c (diff) | |
parent | dd3803873343cce1e563a92fbbaa2bc469701a6e (diff) | |
download | csuite-59a0782734165546fc8b968811e42c0cd30be60d.tar.gz |
Add incremental installation option to AppLaunchTest. am: a03870ce52 am: 30b15ad6a9 am: dd38038733
Original change: https://android-review.googlesource.com/c/platform/test/app_compat/csuite/+/1678472
Change-Id: I101de12f4b6d2cf696b6cc63cdee80617183d479
-rw-r--r-- | harness/src/main/java/com/android/compatibility/targetprep/AppSetupPreparer.java | 15 | ||||
-rw-r--r-- | harness/src/test/java/com/android/compatibility/targetprep/AppSetupPreparerTest.java | 18 |
2 files changed, 33 insertions, 0 deletions
diff --git a/harness/src/main/java/com/android/compatibility/targetprep/AppSetupPreparer.java b/harness/src/main/java/com/android/compatibility/targetprep/AppSetupPreparer.java index 8757996..12e30f7 100644 --- a/harness/src/main/java/com/android/compatibility/targetprep/AppSetupPreparer.java +++ b/harness/src/main/java/com/android/compatibility/targetprep/AppSetupPreparer.java @@ -20,7 +20,9 @@ import static com.google.common.base.Preconditions.checkArgument; import com.android.csuite.core.SystemPackageUninstaller; import com.android.tradefed.build.IBuildInfo; +import com.android.tradefed.config.ConfigurationException; import com.android.tradefed.config.Option; +import com.android.tradefed.config.OptionSetter; import com.android.tradefed.device.DeviceNotAvailableException; import com.android.tradefed.device.ITestDevice; import com.android.tradefed.invoker.TestInformation; @@ -59,6 +61,7 @@ public final class AppSetupPreparer implements ITargetPreparer { @VisibleForTesting static final String OPTION_SETUP_TIMEOUT_MILLIS = "setup-timeout-millis"; @VisibleForTesting static final String OPTION_MAX_RETRY = "max-retry"; @VisibleForTesting static final String OPTION_AAPT_VERSION = "aapt-version"; + @VisibleForTesting static final String OPTION_INCREMENTAL_INSTALL = "incremental"; @Option(name = "package-name", description = "Package name of testing app.") private String mPackageName; @@ -78,6 +81,11 @@ public final class AppSetupPreparer implements ITargetPreparer { + "including leading dash, e.g. \"-d\"") private final List<String> mInstallArgs = new ArrayList<>(); + @Option( + name = OPTION_INCREMENTAL_INSTALL, + description = "Enable packages to be installed incrementally.") + private boolean mIncrementalInstallation = false; + @Option(name = OPTION_MAX_RETRY, description = "Max number of retries upon TargetSetupError.") private int mMaxRetry = 0; @@ -178,6 +186,13 @@ public final class AppSetupPreparer implements ITargetPreparer { throws DeviceNotAvailableException, BuildError, TargetSetupError { mTestAppInstallSetup.setAaptVersion(mAaptVersion); + try { + OptionSetter setter = new OptionSetter(mTestAppInstallSetup); + setter.setOptionValue("incremental", String.valueOf(mIncrementalInstallation)); + } catch (ConfigurationException e) { + throw new TargetSetupError(e.getMessage(), e); + } + if (mPackageName != null) { SystemPackageUninstaller.uninstallPackage(mPackageName, device); } diff --git a/harness/src/test/java/com/android/compatibility/targetprep/AppSetupPreparerTest.java b/harness/src/test/java/com/android/compatibility/targetprep/AppSetupPreparerTest.java index a3c8ea7..e2e4352 100644 --- a/harness/src/test/java/com/android/compatibility/targetprep/AppSetupPreparerTest.java +++ b/harness/src/test/java/com/android/compatibility/targetprep/AppSetupPreparerTest.java @@ -16,6 +16,7 @@ package com.android.compatibility.targetprep; import com.android.tradefed.build.IBuildInfo; +import com.android.tradefed.config.ArgsOptionParser; import com.android.tradefed.config.ConfigurationException; import com.android.tradefed.config.OptionSetter; import com.android.tradefed.device.DeviceNotAvailableException; @@ -327,6 +328,23 @@ public final class AppSetupPreparerTest { } @Test + public void setUp_installIncrementalOptionSet_forwardsToInstaller() throws Exception { + TestAppInstallSetup installer = mock(TestAppInstallSetup.class); + + AppSetupPreparer preparer = + new PreparerBuilder() + .setInstaller(installer) + .setOption(AppSetupPreparer.OPTION_INCREMENTAL_INSTALL, "true") + .build(); + + preparer.setUp(NULL_DEVICE, NULL_BUILD_INFO); + String result = ArgsOptionParser.getOptionHelp(false, installer); + System.out.println(result); + + assertThat(result).contains("incremental"); + } + + @Test public void setUp_aaptVersionOptionSet_forwardsToInstaller() throws Exception { TestAppInstallSetup installer = mock(TestAppInstallSetup.class); ArgumentCaptor<AaptVersion> captor = ArgumentCaptor.forClass(AaptVersion.class); |