Fix PackageParser tests
Also adds the well-known-fields test to presubmit to prevent
similar breakage in the future.
Change-Id: I717396802b5978b2da9de78a6203303082663d38
Fixes: 75450512
Test: atest PackageParserTest
diff --git a/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java b/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java
index c491601..2f6e2c2 100644
--- a/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java
+++ b/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java
@@ -27,8 +27,10 @@
import android.content.pm.Signature;
import android.os.Bundle;
import android.os.Parcel;
+import android.platform.test.annotations.Presubmit;
+import android.support.test.filters.MediumTest;
+import android.support.test.filters.SmallTest;
import android.support.test.runner.AndroidJUnit4;
-import android.test.suitebuilder.annotation.MediumTest;
import java.io.File;
import java.lang.reflect.Array;
@@ -126,6 +128,8 @@
}
@Test
+ @SmallTest
+ @Presubmit
public void test_roundTripKnownFields() throws Exception {
PackageParser.Package pkg = new PackageParser.Package("foo");
setKnownFields(pkg);
@@ -266,6 +270,9 @@
assertEquals(a.mRestrictedAccountType, b.mRestrictedAccountType);
assertEquals(a.mRequiredAccountType, b.mRequiredAccountType);
assertEquals(a.mOverlayTarget, b.mOverlayTarget);
+ assertEquals(a.mOverlayCategory, b.mOverlayCategory);
+ assertEquals(a.mOverlayPriority, b.mOverlayPriority);
+ assertEquals(a.mOverlayIsStatic, b.mOverlayIsStatic);
assertEquals(a.mSigningDetails.publicKeys, b.mSigningDetails.publicKeys);
assertEquals(a.mUpgradeKeySets, b.mUpgradeKeySets);
assertEquals(a.mKeySetMapping, b.mKeySetMapping);
@@ -524,6 +531,15 @@
pkg.mCompileSdkVersionCodename = "foo23";
pkg.mCompileSdkVersion = 100;
pkg.mVersionCodeMajor = 100;
+
+ pkg.mOverlayCategory = "foo24";
+ pkg.mOverlayIsStatic = true;
+
+ pkg.baseHardwareAccelerated = true;
+ pkg.coreApp = true;
+ pkg.mRequiredForAllUsers = true;
+ pkg.visibleToInstantApps = true;
+ pkg.use32bitAbi = true;
}
private static void assertAllFieldsExist(PackageParser.Package pkg) throws Exception {
@@ -532,6 +548,7 @@
Set<String> nonSerializedFields = new HashSet<>();
nonSerializedFields.add("mExtras");
nonSerializedFields.add("packageUsageTimeMillis");
+ nonSerializedFields.add("isStub");
for (Field f : fields) {
final Class<?> fieldType = f.getType();
@@ -560,6 +577,10 @@
// int fields: Check that they're set to 100.
int value = (int) f.get(pkg);
assertEquals("Bad value for field: " + f, 100, value);
+ } else if (fieldType == boolean.class) {
+ // boolean fields: Check that they're set to true.
+ boolean value = (boolean) f.get(pkg);
+ assertEquals("Bad value for field: " + f, true, value);
} else {
// All other fields: Check that they're set.
Object o = f.get(pkg);