aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Zoltan Poag <poag@google.com>2021-04-21 19:00:38 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-04-21 19:00:38 +0000
commitdd3803873343cce1e563a92fbbaa2bc469701a6e (patch)
tree9d818500ab52f3eb69056fa899e028e3e8ec665b
parent8c90ed26c43020a6ac11b75e58287978f4c17278 (diff)
parent30b15ad6a98353b11bd6b1724a471150c859ae02 (diff)
downloadcsuite-dd3803873343cce1e563a92fbbaa2bc469701a6e.tar.gz
Add incremental installation option to AppLaunchTest. am: a03870ce52 am: 30b15ad6a9
Original change: https://android-review.googlesource.com/c/platform/test/app_compat/csuite/+/1678472 Change-Id: Ic17a1109862acc7c4b04db8bc92923aeaf84cec7
-rw-r--r--harness/src/main/java/com/android/compatibility/targetprep/AppSetupPreparer.java15
-rw-r--r--harness/src/test/java/com/android/compatibility/targetprep/AppSetupPreparerTest.java18
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);