aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathan Zoltan Poag <poag@google.com>2021-08-17 17:28:35 -0700
committerAlex Buynytskyy <alexbuy@google.com>2021-08-30 23:17:46 +0000
commitcedfd1ad6e476d5384fe15300b496e662fee12dc (patch)
tree545fbbebf562a99cd35948e012b155f5eed7f7e4
parentb2f9e540a171a389d4cfe4ca7c3a49d7b798234b (diff)
downloadplatform_test_app_compat_csuite-cedfd1ad6e476d5384fe15300b496e662fee12dc.tar.gz
platform_test_app_compat_csuite-cedfd1ad6e476d5384fe15300b496e662fee12dc.tar.bz2
platform_test_app_compat_csuite-cedfd1ad6e476d5384fe15300b496e662fee12dc.zip
Add incremental block filter and timeout options to AppLaunchTest.
This CL should be cherry-picked into AOSP. Bug: 162147271 Test: atest csuite-harness-tests Change-Id: I0fc1bee0da16c68610266acb70628a1daf3edacd Merged-In: I0fc1bee0da16c68610266acb70628a1daf3edacd
-rw-r--r--harness/src/main/java/com/android/compatibility/targetprep/AppSetupPreparer.java18
-rw-r--r--harness/src/test/java/com/android/compatibility/targetprep/AppSetupPreparerTest.java37
2 files changed, 52 insertions, 3 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 12e30f7..1400183 100644
--- a/harness/src/main/java/com/android/compatibility/targetprep/AppSetupPreparer.java
+++ b/harness/src/main/java/com/android/compatibility/targetprep/AppSetupPreparer.java
@@ -62,6 +62,10 @@ public final class AppSetupPreparer implements ITargetPreparer {
@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";
+ @VisibleForTesting static final String OPTION_INCREMENTAL_FILTER = "incremental-block-filter";
+
+ @VisibleForTesting
+ static final String OPTION_INCREMENTAL_TIMEOUT_SECS = "incremental-install-timeout-secs";
@Option(name = "package-name", description = "Package name of testing app.")
private String mPackageName;
@@ -86,6 +90,16 @@ public final class AppSetupPreparer implements ITargetPreparer {
description = "Enable packages to be installed incrementally.")
private boolean mIncrementalInstallation = false;
+ @Option(
+ name = OPTION_INCREMENTAL_FILTER,
+ description = "Specify percentage of blocks to filter.")
+ private double mBlockFilterPercentage = 0.0;
+
+ @Option(
+ name = OPTION_INCREMENTAL_TIMEOUT_SECS,
+ description = "Specify timeout of incremental installation.")
+ private int mIncrementalTimeout = 1800;
+
@Option(name = OPTION_MAX_RETRY, description = "Max number of retries upon TargetSetupError.")
private int mMaxRetry = 0;
@@ -189,6 +203,10 @@ public final class AppSetupPreparer implements ITargetPreparer {
try {
OptionSetter setter = new OptionSetter(mTestAppInstallSetup);
setter.setOptionValue("incremental", String.valueOf(mIncrementalInstallation));
+ setter.setOptionValue(
+ "incremental-block-filter", String.valueOf(mBlockFilterPercentage));
+ setter.setOptionValue(
+ "incremental-install-timeout-secs", String.valueOf(mIncrementalTimeout));
} catch (ConfigurationException e) {
throw new TargetSetupError(e.getMessage(), e);
}
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 0a994b2..946f21b 100644
--- a/harness/src/test/java/com/android/compatibility/targetprep/AppSetupPreparerTest.java
+++ b/harness/src/test/java/com/android/compatibility/targetprep/AppSetupPreparerTest.java
@@ -342,10 +342,41 @@ public final class AppSetupPreparerTest {
.build();
preparer.setUp(NULL_DEVICE, NULL_BUILD_INFO);
- String result = ArgsOptionParser.getOptionHelp(false, installer);
- System.out.println(result);
+ String installOptions = ArgsOptionParser.getOptionHelp(false, installer);
- assertThat(result).contains("incremental");
+ assertThat(installOptions).contains("incremental");
+ }
+
+ @Test
+ public void setUp_incrementalFilterOptionSet_forwardsToInstaller() throws Exception {
+ TestAppInstallSetup installer = mock(TestAppInstallSetup.class);
+
+ AppSetupPreparer preparer =
+ new PreparerBuilder()
+ .setInstaller(installer)
+ .setOption(AppSetupPreparer.OPTION_INCREMENTAL_FILTER, "0.01")
+ .build();
+
+ preparer.setUp(NULL_DEVICE, NULL_BUILD_INFO);
+ String installOptions = ArgsOptionParser.getOptionHelp(false, installer);
+
+ assertThat(installOptions).contains("incremental-block-filter");
+ }
+
+ @Test
+ public void setUp_incrementalTimeoutOptionSet_forwardsToInstaller() throws Exception {
+ TestAppInstallSetup installer = mock(TestAppInstallSetup.class);
+
+ AppSetupPreparer preparer =
+ new PreparerBuilder()
+ .setInstaller(installer)
+ .setOption(AppSetupPreparer.OPTION_INCREMENTAL_TIMEOUT_SECS, "60")
+ .build();
+
+ preparer.setUp(NULL_DEVICE, NULL_BUILD_INFO);
+ String installOptions = ArgsOptionParser.getOptionHelp(false, installer);
+
+ assertThat(installOptions).contains("incremental-install-timeout-secs");
}
@Test