fix incremental installation test
1) Removed property test because CTS tests does not have permission to
reset properties or permission to read IncFs_Enabled via jni.
2) Use system property to check if incfs is available.
3) Updated the test files.
BUG: 150476123
Test: atest PackageManagerShellCommandIncrementalTest
Change-Id: Ic2a1d2ce7565eb7fa4bd4327d021551ba26dd110
(cherry picked from commit 71a57b7c6c8abec55c2b287d690dc93f68db5c7f)
diff --git a/tests/tests/content/AndroidTest.xml b/tests/tests/content/AndroidTest.xml
index 67cf9c2..3e27884 100644
--- a/tests/tests/content/AndroidTest.xml
+++ b/tests/tests/content/AndroidTest.xml
@@ -51,9 +51,14 @@
<option name="push-file" key="HelloWorld7_xhdpi-v4.apk" value="/data/local/tmp/cts/content/HelloWorld7_xhdpi-v4.apk" />
<option name="push-file" key="HelloWorld7_xxhdpi-v4.apk" value="/data/local/tmp/cts/content/HelloWorld7_xxhdpi-v4.apk" />
<option name="push-file" key="HelloWorld7_xxxhdpi-v4.apk" value="/data/local/tmp/cts/content/HelloWorld7_xxxhdpi-v4.apk" />
- <option name="push-file" key="v4-only-original.apk" value="/data/local/tmp/cts/content/v4-only-original.apk" />
- <option name="push-file" key="v4-only-original.apk.idsig" value="/data/local/tmp/cts/content/v4-only-original.apk.idsig" />
- </target_preparer>
+ </target_preparer>
+
+ <!-- Incremental installation test files -->
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.FilePusher">
+ <option name="cleanup" value="true" />
+ <option name="push" value="v4-only-original.apk->/data/local/tmp/cts/content/v4-only-original.apk" />
+ <option name="push" value="v4-only-original.apk.idsig->/data/local/tmp/cts/content/v4-only-original.apk.idsig" />
+ </target_preparer>
<target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
<option name="cleanup-apks" value="true" />
diff --git a/tests/tests/content/data/v4-only-original.apk.idsig b/tests/tests/content/data/v4-only-original.apk.idsig
index aa2d5d5..3ac4c80 100644
--- a/tests/tests/content/data/v4-only-original.apk.idsig
+++ b/tests/tests/content/data/v4-only-original.apk.idsig
Binary files differ
diff --git a/tests/tests/content/src/android/content/pm/cts/PackageManagerShellCommandIncrementalTest.java b/tests/tests/content/src/android/content/pm/cts/PackageManagerShellCommandIncrementalTest.java
index ce37d05..fa55d18 100644
--- a/tests/tests/content/src/android/content/pm/cts/PackageManagerShellCommandIncrementalTest.java
+++ b/tests/tests/content/src/android/content/pm/cts/PackageManagerShellCommandIncrementalTest.java
@@ -20,14 +20,16 @@
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
+import android.content.Context;
+import android.content.pm.PackageManager;
import android.os.ParcelFileDescriptor;
-import android.os.incremental.IncrementalManager;
import android.platform.test.annotations.AppModeFull;
import androidx.test.InstrumentationRegistry;
import androidx.test.runner.AndroidJUnit4;
import org.junit.After;
+import org.junit.Assume;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -120,25 +122,13 @@
@Test
public void testInstallWithIdSig() throws Exception {
- if (!IncrementalManager.isAllowed()) {
- return;
- }
+ final Context context = InstrumentationRegistry.getInstrumentation().getContext();
+ Assume.assumeTrue(context.getPackageManager().hasSystemFeature(
+ PackageManager.FEATURE_INCREMENTAL_DELIVERY));
installPackage(TEST_APK);
assertTrue(isAppInstalled(TEST_APP_PACKAGE));
}
- @Test
- public void testProperty() {
- if (!IncrementalManager.isAllowed()) {
- return;
- }
-
- android.os.SystemProperties.set("incremental.allowed", "0");
- assertFalse(IncrementalManager.isAllowed());
- android.os.SystemProperties.set("incremental.allowed", null);
- assertTrue(IncrementalManager.isAllowed());
- }
-
private boolean isAppInstalled(String packageName) throws IOException {
final String commandResult = executeShellCommand("pm list packages");
final int prefixLength = "package:".length();