Do enforcement check before granted check

The enforcement assertion provides better explanation of the problem and fix
instructions.

Test: Removed permission from a privapp xml and verified that test fails
Bug: 31008485
Change-Id: I58454d1b38722a232764dea14ebe2e4ada09e24f
This commit is contained in:
Fyodor Kupolov
2016-12-08 15:53:39 -08:00
parent 66ebaf7ff5
commit 7bfe074c78

View File

@@ -100,16 +100,17 @@ public class PackageManagerPresubmitTest {
if ((protectionLevel & PermissionInfo.PROTECTION_FLAG_PRIVILEGED) != 0) {
boolean granted = (packageInfo.requestedPermissionsFlags[i]
& PackageInfo.REQUESTED_PERMISSION_GRANTED) != 0;
assertTrue("Permission " + pName + " should be granted to " + packageName, granted);
// if privapp permissions are enforced, platform permissions must be whitelisted
// in SystemConfig
if (platformPermission && RoSystemProperties.CONTROL_PRIVAPP_PERMISSIONS_ENFORCE) {
assertTrue("Permission " + pName
+ " should be declared in privapp-permissions-platform.xml "
+ "or privapp-permissions-<product>.xml file for package "
+ " should be declared in "
+ "/etc/permissions/privapp-permissions-platform.xml "
+ "or privapp-permissions-<device>.xml file for package "
+ packageName,
privAppPermissions.contains(pName));
}
assertTrue("Permission " + pName + " should be granted to " + packageName, granted);
}
}
}