Loading apex/apex.go +7 −5 Original line number Diff line number Diff line Loading @@ -1207,12 +1207,14 @@ func useVendorAllowList(config android.Config) []string { }).([]string) } // setUseVendorAllowListForTest overrides useVendorAllowList and must be called before the first // call to useVendorAllowList() func setUseVendorAllowListForTest(config android.Config, allowList []string) { // setUseVendorAllowListForTest returns a FixturePreparer that overrides useVendorAllowList and // must be called before the first call to useVendorAllowList() func setUseVendorAllowListForTest(allowList []string) android.FixturePreparer { return android.FixtureModifyConfig(func(config android.Config) { config.Once(useVendorAllowListKey, func() interface{} { return allowList }) }) } var _ android.DepIsInSameApex = (*apexBundle)(nil) Loading apex/apex_test.go +82 −58 Original line number Diff line number Diff line Loading @@ -1021,11 +1021,13 @@ func TestApex_PlatformUsesLatestStubFromApex(t *testing.T) { srcs: ["mylib.cpp"], shared_libs: ["libstub"], } `, func(fs map[string][]byte, config android.Config) { config.TestProductVariables.Platform_sdk_codename = proptools.StringPtr("Z") config.TestProductVariables.Platform_sdk_final = proptools.BoolPtr(false) config.TestProductVariables.Platform_version_active_codenames = []string{"Z"} }) `, android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { variables.Platform_sdk_codename = proptools.StringPtr("Z") variables.Platform_sdk_final = proptools.BoolPtr(false) variables.Platform_version_active_codenames = []string{"Z"} }), ) // Ensure that mylib from myapex is built against the latest stub (current) mylibCflags := ctx.ModuleForTests("mylib", "android_arm64_armv8-a_static_apex10000").Rule("cc").Args["cFlags"] Loading Loading @@ -1373,9 +1375,10 @@ func TestApexDependsOnLLNDKTransitively(t *testing.T) { name: "libbar.llndk", symbol_file: "", } `, func(fs map[string][]byte, config android.Config) { setUseVendorAllowListForTest(config, []string{"myapex"}) }, withUnbundledBuild) `, setUseVendorAllowListForTest([]string{"myapex"}), withUnbundledBuild, ) // Ensure that LLNDK dep is not included ensureExactContents(t, ctx, "myapex", "android_common_myapex_image", []string{ Loading Loading @@ -1609,9 +1612,11 @@ func TestApexMinSdkVersion_SupportsCodeNames(t *testing.T) { versions: ["29", "R"], }, } `, func(fs map[string][]byte, config android.Config) { config.TestProductVariables.Platform_version_active_codenames = []string{"R"} }) `, android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { variables.Platform_version_active_codenames = []string{"R"} }), ) expectLink := func(from, from_variant, to, to_variant string) { ldArgs := ctx.ModuleForTests(from, "android_arm64_armv8-a_"+from_variant).Rule("ld").Args["libFlags"] Loading Loading @@ -1720,6 +1725,12 @@ func TestPlatformUsesLatestStubsFromApexes(t *testing.T) { expectNoLink("libz", "shared", "libz", "shared") } var prepareForTestWithSantitizeHwaddress = android.FixtureModifyProductVariables( func(variables android.FixtureProductVariables) { variables.SanitizeDevice = []string{"hwaddress"} }, ) func TestQApexesUseLatestStubsInBundledBuildsAndHWASAN(t *testing.T) { ctx := testApex(t, ` apex { Loading Loading @@ -1748,9 +1759,9 @@ func TestQApexesUseLatestStubsInBundledBuildsAndHWASAN(t *testing.T) { versions: ["29", "30"], }, } `, func(fs map[string][]byte, config android.Config) { config.TestProductVariables.SanitizeDevice = []string{"hwaddress"} }) `, prepareForTestWithSantitizeHwaddress, ) expectLink := func(from, from_variant, to, to_variant string) { ld := ctx.ModuleForTests(from, "android_arm64_armv8-a_"+from_variant).Rule("ld") libFlags := ld.Args["libFlags"] Loading Loading @@ -2143,10 +2154,12 @@ func TestApexMinSdkVersion_OkayEvenWhenDepIsNewer_IfItSatisfiesApexMinSdkVersion } func TestApexMinSdkVersion_WorksWithSdkCodename(t *testing.T) { withSAsActiveCodeNames := func(fs map[string][]byte, config android.Config) { config.TestProductVariables.Platform_sdk_codename = proptools.StringPtr("S") config.TestProductVariables.Platform_version_active_codenames = []string{"S"} } withSAsActiveCodeNames := android.FixtureModifyProductVariables( func(variables android.FixtureProductVariables) { variables.Platform_sdk_codename = proptools.StringPtr("S") variables.Platform_version_active_codenames = []string{"S"} }, ) testApexError(t, `libbar.*: should support min_sdk_version\(S\)`, ` apex { name: "myapex", Loading @@ -2173,10 +2186,10 @@ func TestApexMinSdkVersion_WorksWithSdkCodename(t *testing.T) { } func TestApexMinSdkVersion_WorksWithActiveCodenames(t *testing.T) { withSAsActiveCodeNames := func(fs map[string][]byte, config android.Config) { config.TestProductVariables.Platform_sdk_codename = proptools.StringPtr("S") config.TestProductVariables.Platform_version_active_codenames = []string{"S", "T"} } withSAsActiveCodeNames := android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { variables.Platform_sdk_codename = proptools.StringPtr("S") variables.Platform_version_active_codenames = []string{"S", "T"} }) ctx := testApex(t, ` apex { name: "myapex", Loading Loading @@ -2366,9 +2379,9 @@ func TestUseVendor(t *testing.T) { stl: "none", apex_available: [ "myapex" ], } `, func(fs map[string][]byte, config android.Config) { setUseVendorAllowListForTest(config, []string{"myapex"}) }) `, setUseVendorAllowListForTest([]string{"myapex"}), ) inputsList := []string{} for _, i := range ctx.ModuleForTests("myapex", "android_common_myapex_image").Module().BuildParamsForTests() { Loading Loading @@ -2399,9 +2412,9 @@ func TestUseVendorNotAllowedForSystemApexes(t *testing.T) { public_key: "testkey.avbpubkey", private_key: "testkey.pem", } `, func(fs map[string][]byte, config android.Config) { setUseVendorAllowListForTest(config, []string{""}) }) `, setUseVendorAllowListForTest([]string{""}), ) // no error with allow list testApex(t, ` apex { Loading @@ -2415,9 +2428,9 @@ func TestUseVendorNotAllowedForSystemApexes(t *testing.T) { public_key: "testkey.avbpubkey", private_key: "testkey.pem", } `, func(fs map[string][]byte, config android.Config) { setUseVendorAllowListForTest(config, []string{"myapex"}) }) `, setUseVendorAllowListForTest([]string{"myapex"}), ) } func TestUseVendorFailsIfNotVendorAvailable(t *testing.T) { Loading Loading @@ -2569,9 +2582,10 @@ func TestProductVariant(t *testing.T) { apex_available: ["myapex"], srcs: ["foo.cpp"], } `, func(fs map[string][]byte, config android.Config) { config.TestProductVariables.ProductVndkVersion = proptools.StringPtr("current") }) `, android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { variables.ProductVndkVersion = proptools.StringPtr("current") }), ) cflags := strings.Fields( ctx.ModuleForTests("foo", "android_product.VER_arm64_armv8-a_apex10000").Rule("cc").Args["cFlags"]) Loading Loading @@ -2639,9 +2653,9 @@ func TestAndroidMk_UseVendorRequired(t *testing.T) { vendor_available: true, apex_available: ["myapex"], } `, func(fs map[string][]byte, config android.Config) { setUseVendorAllowListForTest(config, []string{"myapex"}) }) `, setUseVendorAllowListForTest([]string{"myapex"}), ) apexBundle := ctx.ModuleForTests("myapex", "android_common_myapex_image").Module().(*apexBundle) data := android.AndroidMkDataForTest(t, ctx, apexBundle) Loading Loading @@ -4935,9 +4949,11 @@ func TestInstallExtraFlattenedApexes(t *testing.T) { public_key: "testkey.avbpubkey", private_key: "testkey.pem", } `, func(fs map[string][]byte, config android.Config) { config.TestProductVariables.InstallExtraFlattenedApexes = proptools.BoolPtr(true) }) `, android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { variables.InstallExtraFlattenedApexes = proptools.BoolPtr(true) }), ) ab := ctx.ModuleForTests("myapex", "android_common_myapex_image").Module().(*apexBundle) ensureListContains(t, ab.requiredDeps, "myapex.flattened") mk := android.AndroidMkDataForTest(t, ctx, ab) Loading Loading @@ -6250,10 +6266,12 @@ func TestApexMutatorsDontRunIfDisabled(t *testing.T) { public_key: "testkey.avbpubkey", private_key: "testkey.pem", } `, func(fs map[string][]byte, config android.Config) { `, android.FixtureModifyConfig(func(config android.Config) { delete(config.Targets, android.Android) config.AndroidCommonTarget = android.Target{} }) }), ) if expected, got := []string{""}, ctx.ModuleVariantsForTests("myapex"); !reflect.DeepEqual(expected, got) { t.Errorf("Expected variants: %v, but got: %v", expected, got) Loading Loading @@ -6325,7 +6343,7 @@ func TestAppSetBundle(t *testing.T) { } func TestAppSetBundlePrebuilt(t *testing.T) { ctx := testApex(t, "", func(fs map[string][]byte, config android.Config) { ctx := testApex(t, "", android.FixtureModifyMockFS(func(fs android.MockFS) { bp := ` apex_set { name: "myapex", Loading @@ -6336,9 +6354,9 @@ func TestAppSetBundlePrebuilt(t *testing.T) { }, }` fs["Android.bp"] = []byte(bp) config.TestProductVariables.SanitizeDevice = []string{"hwaddress"} }) }), prepareForTestWithSantitizeHwaddress, ) m := ctx.ModuleForTests("myapex", "android_common") extractedApex := m.Output(buildDir + "/.intermediates/myapex/android_common/foo_v2.apex") Loading Loading @@ -6903,13 +6921,17 @@ func TestApexSet(t *testing.T) { filename: "foo_v2.apex", overrides: ["foo"], } `, func(fs map[string][]byte, config android.Config) { config.TestProductVariables.Platform_sdk_version = intPtr(30) `, android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { variables.Platform_sdk_version = intPtr(30) }), android.FixtureModifyConfig(func(config android.Config) { config.Targets[android.Android] = []android.Target{ {Os: android.Android, Arch: android.Arch{ArchType: android.Arm, ArchVariant: "armv7-a-neon", Abi: []string{"armeabi-v7a"}}}, {Os: android.Android, Arch: android.Arch{ArchType: android.Arm64, ArchVariant: "armv8-a", Abi: []string{"arm64-v8a"}}}, } }) }), ) m := ctx.ModuleForTests("myapex", "android_common") Loading Loading @@ -7117,9 +7139,11 @@ func TestCompressedApex(t *testing.T) { public_key: "testkey.avbpubkey", private_key: "testkey.pem", } `, func(fs map[string][]byte, config android.Config) { config.TestProductVariables.CompressedApex = proptools.BoolPtr(true) }) `, android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { variables.CompressedApex = proptools.BoolPtr(true) }), ) compressRule := ctx.ModuleForTests("myapex", "android_common_myapex_image").Rule("compressRule") ensureContains(t, compressRule.Output.String(), "myapex.capex.unsigned") Loading apex/vndk_test.go +17 −11 Original line number Diff line number Diff line Loading @@ -48,9 +48,11 @@ func TestVndkApexForVndkLite(t *testing.T) { stl: "none", apex_available: [ "com.android.vndk.current" ], } `+vndkLibrariesTxtFiles("current"), func(fs map[string][]byte, config android.Config) { config.TestProductVariables.DeviceVndkVersion = proptools.StringPtr("") }) `+vndkLibrariesTxtFiles("current"), android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { variables.DeviceVndkVersion = proptools.StringPtr("") }), ) // VNDK-Lite contains only core variants of VNDK-Sp libraries ensureExactContents(t, ctx, "com.android.vndk.current", "android_common_image", []string{ "lib/libvndksp.so", Loading Loading @@ -113,20 +115,24 @@ func TestVndkApexUsesVendorVariant(t *testing.T) { }) t.Run("VNDK APEX gathers only vendor variants even if product variants are available", func(t *testing.T) { ctx := testApex(t, bp, func(fs map[string][]byte, config android.Config) { ctx := testApex(t, bp, android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { // Now product variant is available config.TestProductVariables.ProductVndkVersion = proptools.StringPtr("current") }) variables.ProductVndkVersion = proptools.StringPtr("current") }), ) files := getFiles(t, ctx, "com.android.vndk.current", "android_common_image") ensureFileSrc(t, files, "lib/libfoo.so", "libfoo/android_vendor.VER_arm_armv7-a-neon_shared/libfoo.so") }) t.Run("VNDK APEX supports coverage variants", func(t *testing.T) { ctx := testApex(t, bp, func(fs map[string][]byte, config android.Config) { config.TestProductVariables.GcovCoverage = proptools.BoolPtr(true) config.TestProductVariables.Native_coverage = proptools.BoolPtr(true) }) ctx := testApex(t, bp, android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { variables.GcovCoverage = proptools.BoolPtr(true) variables.Native_coverage = proptools.BoolPtr(true) }), ) files := getFiles(t, ctx, "com.android.vndk.current", "android_common_image") ensureFileSrc(t, files, "lib/libfoo.so", "libfoo/android_vendor.VER_arm_armv7-a-neon_shared/libfoo.so") Loading Loading
apex/apex.go +7 −5 Original line number Diff line number Diff line Loading @@ -1207,12 +1207,14 @@ func useVendorAllowList(config android.Config) []string { }).([]string) } // setUseVendorAllowListForTest overrides useVendorAllowList and must be called before the first // call to useVendorAllowList() func setUseVendorAllowListForTest(config android.Config, allowList []string) { // setUseVendorAllowListForTest returns a FixturePreparer that overrides useVendorAllowList and // must be called before the first call to useVendorAllowList() func setUseVendorAllowListForTest(allowList []string) android.FixturePreparer { return android.FixtureModifyConfig(func(config android.Config) { config.Once(useVendorAllowListKey, func() interface{} { return allowList }) }) } var _ android.DepIsInSameApex = (*apexBundle)(nil) Loading
apex/apex_test.go +82 −58 Original line number Diff line number Diff line Loading @@ -1021,11 +1021,13 @@ func TestApex_PlatformUsesLatestStubFromApex(t *testing.T) { srcs: ["mylib.cpp"], shared_libs: ["libstub"], } `, func(fs map[string][]byte, config android.Config) { config.TestProductVariables.Platform_sdk_codename = proptools.StringPtr("Z") config.TestProductVariables.Platform_sdk_final = proptools.BoolPtr(false) config.TestProductVariables.Platform_version_active_codenames = []string{"Z"} }) `, android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { variables.Platform_sdk_codename = proptools.StringPtr("Z") variables.Platform_sdk_final = proptools.BoolPtr(false) variables.Platform_version_active_codenames = []string{"Z"} }), ) // Ensure that mylib from myapex is built against the latest stub (current) mylibCflags := ctx.ModuleForTests("mylib", "android_arm64_armv8-a_static_apex10000").Rule("cc").Args["cFlags"] Loading Loading @@ -1373,9 +1375,10 @@ func TestApexDependsOnLLNDKTransitively(t *testing.T) { name: "libbar.llndk", symbol_file: "", } `, func(fs map[string][]byte, config android.Config) { setUseVendorAllowListForTest(config, []string{"myapex"}) }, withUnbundledBuild) `, setUseVendorAllowListForTest([]string{"myapex"}), withUnbundledBuild, ) // Ensure that LLNDK dep is not included ensureExactContents(t, ctx, "myapex", "android_common_myapex_image", []string{ Loading Loading @@ -1609,9 +1612,11 @@ func TestApexMinSdkVersion_SupportsCodeNames(t *testing.T) { versions: ["29", "R"], }, } `, func(fs map[string][]byte, config android.Config) { config.TestProductVariables.Platform_version_active_codenames = []string{"R"} }) `, android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { variables.Platform_version_active_codenames = []string{"R"} }), ) expectLink := func(from, from_variant, to, to_variant string) { ldArgs := ctx.ModuleForTests(from, "android_arm64_armv8-a_"+from_variant).Rule("ld").Args["libFlags"] Loading Loading @@ -1720,6 +1725,12 @@ func TestPlatformUsesLatestStubsFromApexes(t *testing.T) { expectNoLink("libz", "shared", "libz", "shared") } var prepareForTestWithSantitizeHwaddress = android.FixtureModifyProductVariables( func(variables android.FixtureProductVariables) { variables.SanitizeDevice = []string{"hwaddress"} }, ) func TestQApexesUseLatestStubsInBundledBuildsAndHWASAN(t *testing.T) { ctx := testApex(t, ` apex { Loading Loading @@ -1748,9 +1759,9 @@ func TestQApexesUseLatestStubsInBundledBuildsAndHWASAN(t *testing.T) { versions: ["29", "30"], }, } `, func(fs map[string][]byte, config android.Config) { config.TestProductVariables.SanitizeDevice = []string{"hwaddress"} }) `, prepareForTestWithSantitizeHwaddress, ) expectLink := func(from, from_variant, to, to_variant string) { ld := ctx.ModuleForTests(from, "android_arm64_armv8-a_"+from_variant).Rule("ld") libFlags := ld.Args["libFlags"] Loading Loading @@ -2143,10 +2154,12 @@ func TestApexMinSdkVersion_OkayEvenWhenDepIsNewer_IfItSatisfiesApexMinSdkVersion } func TestApexMinSdkVersion_WorksWithSdkCodename(t *testing.T) { withSAsActiveCodeNames := func(fs map[string][]byte, config android.Config) { config.TestProductVariables.Platform_sdk_codename = proptools.StringPtr("S") config.TestProductVariables.Platform_version_active_codenames = []string{"S"} } withSAsActiveCodeNames := android.FixtureModifyProductVariables( func(variables android.FixtureProductVariables) { variables.Platform_sdk_codename = proptools.StringPtr("S") variables.Platform_version_active_codenames = []string{"S"} }, ) testApexError(t, `libbar.*: should support min_sdk_version\(S\)`, ` apex { name: "myapex", Loading @@ -2173,10 +2186,10 @@ func TestApexMinSdkVersion_WorksWithSdkCodename(t *testing.T) { } func TestApexMinSdkVersion_WorksWithActiveCodenames(t *testing.T) { withSAsActiveCodeNames := func(fs map[string][]byte, config android.Config) { config.TestProductVariables.Platform_sdk_codename = proptools.StringPtr("S") config.TestProductVariables.Platform_version_active_codenames = []string{"S", "T"} } withSAsActiveCodeNames := android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { variables.Platform_sdk_codename = proptools.StringPtr("S") variables.Platform_version_active_codenames = []string{"S", "T"} }) ctx := testApex(t, ` apex { name: "myapex", Loading Loading @@ -2366,9 +2379,9 @@ func TestUseVendor(t *testing.T) { stl: "none", apex_available: [ "myapex" ], } `, func(fs map[string][]byte, config android.Config) { setUseVendorAllowListForTest(config, []string{"myapex"}) }) `, setUseVendorAllowListForTest([]string{"myapex"}), ) inputsList := []string{} for _, i := range ctx.ModuleForTests("myapex", "android_common_myapex_image").Module().BuildParamsForTests() { Loading Loading @@ -2399,9 +2412,9 @@ func TestUseVendorNotAllowedForSystemApexes(t *testing.T) { public_key: "testkey.avbpubkey", private_key: "testkey.pem", } `, func(fs map[string][]byte, config android.Config) { setUseVendorAllowListForTest(config, []string{""}) }) `, setUseVendorAllowListForTest([]string{""}), ) // no error with allow list testApex(t, ` apex { Loading @@ -2415,9 +2428,9 @@ func TestUseVendorNotAllowedForSystemApexes(t *testing.T) { public_key: "testkey.avbpubkey", private_key: "testkey.pem", } `, func(fs map[string][]byte, config android.Config) { setUseVendorAllowListForTest(config, []string{"myapex"}) }) `, setUseVendorAllowListForTest([]string{"myapex"}), ) } func TestUseVendorFailsIfNotVendorAvailable(t *testing.T) { Loading Loading @@ -2569,9 +2582,10 @@ func TestProductVariant(t *testing.T) { apex_available: ["myapex"], srcs: ["foo.cpp"], } `, func(fs map[string][]byte, config android.Config) { config.TestProductVariables.ProductVndkVersion = proptools.StringPtr("current") }) `, android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { variables.ProductVndkVersion = proptools.StringPtr("current") }), ) cflags := strings.Fields( ctx.ModuleForTests("foo", "android_product.VER_arm64_armv8-a_apex10000").Rule("cc").Args["cFlags"]) Loading Loading @@ -2639,9 +2653,9 @@ func TestAndroidMk_UseVendorRequired(t *testing.T) { vendor_available: true, apex_available: ["myapex"], } `, func(fs map[string][]byte, config android.Config) { setUseVendorAllowListForTest(config, []string{"myapex"}) }) `, setUseVendorAllowListForTest([]string{"myapex"}), ) apexBundle := ctx.ModuleForTests("myapex", "android_common_myapex_image").Module().(*apexBundle) data := android.AndroidMkDataForTest(t, ctx, apexBundle) Loading Loading @@ -4935,9 +4949,11 @@ func TestInstallExtraFlattenedApexes(t *testing.T) { public_key: "testkey.avbpubkey", private_key: "testkey.pem", } `, func(fs map[string][]byte, config android.Config) { config.TestProductVariables.InstallExtraFlattenedApexes = proptools.BoolPtr(true) }) `, android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { variables.InstallExtraFlattenedApexes = proptools.BoolPtr(true) }), ) ab := ctx.ModuleForTests("myapex", "android_common_myapex_image").Module().(*apexBundle) ensureListContains(t, ab.requiredDeps, "myapex.flattened") mk := android.AndroidMkDataForTest(t, ctx, ab) Loading Loading @@ -6250,10 +6266,12 @@ func TestApexMutatorsDontRunIfDisabled(t *testing.T) { public_key: "testkey.avbpubkey", private_key: "testkey.pem", } `, func(fs map[string][]byte, config android.Config) { `, android.FixtureModifyConfig(func(config android.Config) { delete(config.Targets, android.Android) config.AndroidCommonTarget = android.Target{} }) }), ) if expected, got := []string{""}, ctx.ModuleVariantsForTests("myapex"); !reflect.DeepEqual(expected, got) { t.Errorf("Expected variants: %v, but got: %v", expected, got) Loading Loading @@ -6325,7 +6343,7 @@ func TestAppSetBundle(t *testing.T) { } func TestAppSetBundlePrebuilt(t *testing.T) { ctx := testApex(t, "", func(fs map[string][]byte, config android.Config) { ctx := testApex(t, "", android.FixtureModifyMockFS(func(fs android.MockFS) { bp := ` apex_set { name: "myapex", Loading @@ -6336,9 +6354,9 @@ func TestAppSetBundlePrebuilt(t *testing.T) { }, }` fs["Android.bp"] = []byte(bp) config.TestProductVariables.SanitizeDevice = []string{"hwaddress"} }) }), prepareForTestWithSantitizeHwaddress, ) m := ctx.ModuleForTests("myapex", "android_common") extractedApex := m.Output(buildDir + "/.intermediates/myapex/android_common/foo_v2.apex") Loading Loading @@ -6903,13 +6921,17 @@ func TestApexSet(t *testing.T) { filename: "foo_v2.apex", overrides: ["foo"], } `, func(fs map[string][]byte, config android.Config) { config.TestProductVariables.Platform_sdk_version = intPtr(30) `, android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { variables.Platform_sdk_version = intPtr(30) }), android.FixtureModifyConfig(func(config android.Config) { config.Targets[android.Android] = []android.Target{ {Os: android.Android, Arch: android.Arch{ArchType: android.Arm, ArchVariant: "armv7-a-neon", Abi: []string{"armeabi-v7a"}}}, {Os: android.Android, Arch: android.Arch{ArchType: android.Arm64, ArchVariant: "armv8-a", Abi: []string{"arm64-v8a"}}}, } }) }), ) m := ctx.ModuleForTests("myapex", "android_common") Loading Loading @@ -7117,9 +7139,11 @@ func TestCompressedApex(t *testing.T) { public_key: "testkey.avbpubkey", private_key: "testkey.pem", } `, func(fs map[string][]byte, config android.Config) { config.TestProductVariables.CompressedApex = proptools.BoolPtr(true) }) `, android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { variables.CompressedApex = proptools.BoolPtr(true) }), ) compressRule := ctx.ModuleForTests("myapex", "android_common_myapex_image").Rule("compressRule") ensureContains(t, compressRule.Output.String(), "myapex.capex.unsigned") Loading
apex/vndk_test.go +17 −11 Original line number Diff line number Diff line Loading @@ -48,9 +48,11 @@ func TestVndkApexForVndkLite(t *testing.T) { stl: "none", apex_available: [ "com.android.vndk.current" ], } `+vndkLibrariesTxtFiles("current"), func(fs map[string][]byte, config android.Config) { config.TestProductVariables.DeviceVndkVersion = proptools.StringPtr("") }) `+vndkLibrariesTxtFiles("current"), android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { variables.DeviceVndkVersion = proptools.StringPtr("") }), ) // VNDK-Lite contains only core variants of VNDK-Sp libraries ensureExactContents(t, ctx, "com.android.vndk.current", "android_common_image", []string{ "lib/libvndksp.so", Loading Loading @@ -113,20 +115,24 @@ func TestVndkApexUsesVendorVariant(t *testing.T) { }) t.Run("VNDK APEX gathers only vendor variants even if product variants are available", func(t *testing.T) { ctx := testApex(t, bp, func(fs map[string][]byte, config android.Config) { ctx := testApex(t, bp, android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { // Now product variant is available config.TestProductVariables.ProductVndkVersion = proptools.StringPtr("current") }) variables.ProductVndkVersion = proptools.StringPtr("current") }), ) files := getFiles(t, ctx, "com.android.vndk.current", "android_common_image") ensureFileSrc(t, files, "lib/libfoo.so", "libfoo/android_vendor.VER_arm_armv7-a-neon_shared/libfoo.so") }) t.Run("VNDK APEX supports coverage variants", func(t *testing.T) { ctx := testApex(t, bp, func(fs map[string][]byte, config android.Config) { config.TestProductVariables.GcovCoverage = proptools.BoolPtr(true) config.TestProductVariables.Native_coverage = proptools.BoolPtr(true) }) ctx := testApex(t, bp, android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { variables.GcovCoverage = proptools.BoolPtr(true) variables.Native_coverage = proptools.BoolPtr(true) }), ) files := getFiles(t, ctx, "com.android.vndk.current", "android_common_image") ensureFileSrc(t, files, "lib/libfoo.so", "libfoo/android_vendor.VER_arm_armv7-a-neon_shared/libfoo.so") Loading