Fix testUsesSdk test to use higher extension version.

The installation of sdk extension version that does not exist should
fail. Since extension 5 exist now, the test started failing.
This CL changes the non-existent extension version to a higher value to
ensure it does not exist, to ensure installation failure in the test.

(cherry-picked from 4dd1cbed4b)

Bug: 257466496
Test: atest FrameworksServicesTests:com.android.server.pm.parsing.PackageParserLegacyCoreTest#testUsesSdk

Change-Id: I5fb3ceed2b6db3dd5a5154df941918b97cb52204
Merged-In: I5fb3ceed2b6db3dd5a5154df941918b97cb52204
This commit is contained in:
Gurpreet Singh
2022-11-09 15:15:56 +00:00
committed by Paul Duffin
parent 2177223f35
commit b9b950035f
5 changed files with 7 additions and 20 deletions

View File

@@ -31,12 +31,6 @@ android_test_helper_app {
manifest: "AndroidManifest-r0.xml",
}
android_test_helper_app {
name: "FrameworksServicesTests_install_uses_sdk_r5",
defaults: ["FrameworksServicesTests_apks_defaults"],
manifest: "AndroidManifest-r5.xml",
}
android_test_helper_app {
name: "FrameworksServicesTests_install_uses_sdk_r1000",
defaults: ["FrameworksServicesTests_apks_defaults"],
@@ -55,12 +49,6 @@ android_test_helper_app {
manifest: "AndroidManifest-r0-s1000.xml",
}
android_test_helper_app {
name: "FrameworksServicesTests_install_uses_sdk_r0_s5",
defaults: ["FrameworksServicesTests_apks_defaults"],
manifest: "AndroidManifest-r0-s5.xml",
}
android_test_helper_app {
name: "FrameworksServicesTests_install_uses_sdk_0",
defaults: ["FrameworksServicesTests_apks_defaults"],

View File

@@ -19,7 +19,7 @@
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="29">
<!-- This fails because 31 is not version 5 -->
<extension-sdk android:sdkVersion="30" android:minExtensionVersion="0" />
<extension-sdk android:sdkVersion="31" android:minExtensionVersion="5" />
<extension-sdk android:sdkVersion="31" android:minExtensionVersion="1000" />
</uses-sdk>
<application>

View File

@@ -18,7 +18,7 @@
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="29">
<!-- This will fail to install, because minExtensionVersion is not met -->
<extension-sdk android:sdkVersion="30" android:minExtensionVersion="5" />
<extension-sdk android:sdkVersion="30" android:minExtensionVersion="1000" />
</uses-sdk>
<application>

View File

@@ -127,11 +127,9 @@ java_genrule {
":FrameworksServicesTests_install_uses_sdk_q0",
":FrameworksServicesTests_install_uses_sdk_q0_r0",
":FrameworksServicesTests_install_uses_sdk_r0",
":FrameworksServicesTests_install_uses_sdk_r5",
":FrameworksServicesTests_install_uses_sdk_r1000",
":FrameworksServicesTests_install_uses_sdk_r_none",
":FrameworksServicesTests_install_uses_sdk_r0_s0",
":FrameworksServicesTests_install_uses_sdk_r0_s5",
":FrameworksServicesTests_install_uses_sdk_r0_s1000",
":FrameworksServicesTests_keyset_permdef_sa_unone",
":FrameworksServicesTests_keyset_permuse_sa_ua_ub",

View File

@@ -630,10 +630,11 @@ public class PackageParserLegacyCoreTest {
assertEquals(0, minExtVers.get(31, -1));
Map<Pair<String, Integer>, Integer> appToError = new HashMap<>();
appToError.put(Pair.create("install_uses_sdk.apk_r5", R.raw.install_uses_sdk_r5),
PackageManager.INSTALL_FAILED_OLDER_SDK);
appToError.put(Pair.create("install_uses_sdk.apk_r0_s5", R.raw.install_uses_sdk_r0_s5),
appToError.put(Pair.create("install_uses_sdk.apk_r1000", R.raw.install_uses_sdk_r1000),
PackageManager.INSTALL_FAILED_OLDER_SDK);
appToError.put(
Pair.create("install_uses_sdk.apk_r0_s1000", R.raw.install_uses_sdk_r0_s1000),
PackageManager.INSTALL_FAILED_OLDER_SDK);
appToError.put(Pair.create("install_uses_sdk.apk_q0", R.raw.install_uses_sdk_q0),
PackageManager.INSTALL_PARSE_FAILED_MANIFEST_MALFORMED);
@@ -650,7 +651,7 @@ public class PackageParserLegacyCoreTest {
int result = entry.getValue();
try {
parsePackage(filename, resId, x -> x);
expect.withMessage("Expected parsing error %d from %s", result, filename).fail();
expect.withMessage("Expected parsing error %s from %s", result, filename).fail();
} catch (PackageManagerException expected) {
expect.that(expected.error).isEqualTo(result);
}