Loading apex/apex_test.go +29 −1 Original line number Diff line number Diff line Loading @@ -5971,9 +5971,27 @@ func TestTestFor(t *testing.T) { srcs: ["mylib.cpp"], system_shared_libs: [], stl: "none", shared_libs: ["mylib", "myprivlib"], shared_libs: ["mylib", "myprivlib", "mytestlib"], test_for: ["myapex"] } cc_library { name: "mytestlib", srcs: ["mylib.cpp"], system_shared_libs: [], shared_libs: ["mylib", "myprivlib"], stl: "none", test_for: ["myapex"], } cc_benchmark { name: "mybench", srcs: ["mylib.cpp"], system_shared_libs: [], shared_libs: ["mylib", "myprivlib"], stl: "none", test_for: ["myapex"], } `) // the test 'mytest' is a test for the apex, therefore is linked to the Loading @@ -5981,6 +5999,16 @@ func TestTestFor(t *testing.T) { ldFlags := ctx.ModuleForTests("mytest", "android_arm64_armv8-a").Rule("ld").Args["libFlags"] ensureContains(t, ldFlags, "mylib/android_arm64_armv8-a_shared/mylib.so") ensureNotContains(t, ldFlags, "mylib/android_arm64_armv8-a_shared_1/mylib.so") // The same should be true for cc_library ldFlags = ctx.ModuleForTests("mytestlib", "android_arm64_armv8-a_shared").Rule("ld").Args["libFlags"] ensureContains(t, ldFlags, "mylib/android_arm64_armv8-a_shared/mylib.so") ensureNotContains(t, ldFlags, "mylib/android_arm64_armv8-a_shared_1/mylib.so") // ... and for cc_benchmark ldFlags = ctx.ModuleForTests("mybench", "android_arm64_armv8-a").Rule("ld").Args["libFlags"] ensureContains(t, ldFlags, "mylib/android_arm64_armv8-a_shared/mylib.so") ensureNotContains(t, ldFlags, "mylib/android_arm64_armv8-a_shared_1/mylib.so") } // TODO(jungjw): Move this to proptools Loading cc/cc.go +6 −7 Original line number Diff line number Diff line Loading @@ -332,6 +332,11 @@ type BaseProperties struct { // framework module from a snapshot. Exclude_from_vendor_snapshot *bool Exclude_from_recovery_snapshot *bool // List of APEXes that this module has private access to for testing purpose. The module // can depend on libraries that are not exported by the APEXes and use private symbols // from the exported libraries. Test_for []string } type VendorProperties struct { Loading Loading @@ -2935,13 +2940,7 @@ func (c *Module) AvailableFor(what string) bool { } func (c *Module) TestFor() []string { if test, ok := c.linker.(interface { testFor() []string }); ok { return test.testFor() } else { return c.ApexModuleBase.TestFor() } return c.Properties.Test_for } func (c *Module) UniqueApexVariations() bool { Loading cc/test.go +0 −9 Original line number Diff line number Diff line Loading @@ -29,11 +29,6 @@ type TestProperties struct { // if set, use the isolated gtest runner. Defaults to false. Isolated *bool // List of APEXes that this module tests. The module has access to // the private part of the listed APEXes even when it is not included in the // APEXes. Test_for []string } // Test option struct. Loading Loading @@ -241,10 +236,6 @@ func (test *testDecorator) gtest() bool { return BoolDefault(test.Properties.Gtest, true) } func (test *testDecorator) testFor() []string { return test.Properties.Test_for } func (test *testDecorator) linkerFlags(ctx ModuleContext, flags Flags) Flags { if !test.gtest() { return flags Loading cc/testing.go +8 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ func RegisterRequiredBuildComponentsForTest(ctx android.RegistrationContext) { ctx.RegisterModuleType("toolchain_library", ToolchainLibraryFactory) ctx.RegisterModuleType("llndk_library", LlndkLibraryFactory) ctx.RegisterModuleType("cc_benchmark", BenchmarkFactory) ctx.RegisterModuleType("cc_object", ObjectFactory) ctx.RegisterModuleType("cc_genrule", genRuleFactory) ctx.RegisterModuleType("ndk_prebuilt_shared_stl", NdkPrebuiltSharedStlFactory) Loading Loading @@ -437,6 +438,13 @@ func GatherRequiredDepsForTest(oses ...android.OsType) string { ndk_prebuilt_shared_stl { name: "ndk_libc++_shared", } cc_library_static { name: "libgoogle-benchmark", sdk_version: "current", stl: "none", system_shared_libs: [], } ` supportLinuxBionic := false Loading Loading
apex/apex_test.go +29 −1 Original line number Diff line number Diff line Loading @@ -5971,9 +5971,27 @@ func TestTestFor(t *testing.T) { srcs: ["mylib.cpp"], system_shared_libs: [], stl: "none", shared_libs: ["mylib", "myprivlib"], shared_libs: ["mylib", "myprivlib", "mytestlib"], test_for: ["myapex"] } cc_library { name: "mytestlib", srcs: ["mylib.cpp"], system_shared_libs: [], shared_libs: ["mylib", "myprivlib"], stl: "none", test_for: ["myapex"], } cc_benchmark { name: "mybench", srcs: ["mylib.cpp"], system_shared_libs: [], shared_libs: ["mylib", "myprivlib"], stl: "none", test_for: ["myapex"], } `) // the test 'mytest' is a test for the apex, therefore is linked to the Loading @@ -5981,6 +5999,16 @@ func TestTestFor(t *testing.T) { ldFlags := ctx.ModuleForTests("mytest", "android_arm64_armv8-a").Rule("ld").Args["libFlags"] ensureContains(t, ldFlags, "mylib/android_arm64_armv8-a_shared/mylib.so") ensureNotContains(t, ldFlags, "mylib/android_arm64_armv8-a_shared_1/mylib.so") // The same should be true for cc_library ldFlags = ctx.ModuleForTests("mytestlib", "android_arm64_armv8-a_shared").Rule("ld").Args["libFlags"] ensureContains(t, ldFlags, "mylib/android_arm64_armv8-a_shared/mylib.so") ensureNotContains(t, ldFlags, "mylib/android_arm64_armv8-a_shared_1/mylib.so") // ... and for cc_benchmark ldFlags = ctx.ModuleForTests("mybench", "android_arm64_armv8-a").Rule("ld").Args["libFlags"] ensureContains(t, ldFlags, "mylib/android_arm64_armv8-a_shared/mylib.so") ensureNotContains(t, ldFlags, "mylib/android_arm64_armv8-a_shared_1/mylib.so") } // TODO(jungjw): Move this to proptools Loading
cc/cc.go +6 −7 Original line number Diff line number Diff line Loading @@ -332,6 +332,11 @@ type BaseProperties struct { // framework module from a snapshot. Exclude_from_vendor_snapshot *bool Exclude_from_recovery_snapshot *bool // List of APEXes that this module has private access to for testing purpose. The module // can depend on libraries that are not exported by the APEXes and use private symbols // from the exported libraries. Test_for []string } type VendorProperties struct { Loading Loading @@ -2935,13 +2940,7 @@ func (c *Module) AvailableFor(what string) bool { } func (c *Module) TestFor() []string { if test, ok := c.linker.(interface { testFor() []string }); ok { return test.testFor() } else { return c.ApexModuleBase.TestFor() } return c.Properties.Test_for } func (c *Module) UniqueApexVariations() bool { Loading
cc/test.go +0 −9 Original line number Diff line number Diff line Loading @@ -29,11 +29,6 @@ type TestProperties struct { // if set, use the isolated gtest runner. Defaults to false. Isolated *bool // List of APEXes that this module tests. The module has access to // the private part of the listed APEXes even when it is not included in the // APEXes. Test_for []string } // Test option struct. Loading Loading @@ -241,10 +236,6 @@ func (test *testDecorator) gtest() bool { return BoolDefault(test.Properties.Gtest, true) } func (test *testDecorator) testFor() []string { return test.Properties.Test_for } func (test *testDecorator) linkerFlags(ctx ModuleContext, flags Flags) Flags { if !test.gtest() { return flags Loading
cc/testing.go +8 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ func RegisterRequiredBuildComponentsForTest(ctx android.RegistrationContext) { ctx.RegisterModuleType("toolchain_library", ToolchainLibraryFactory) ctx.RegisterModuleType("llndk_library", LlndkLibraryFactory) ctx.RegisterModuleType("cc_benchmark", BenchmarkFactory) ctx.RegisterModuleType("cc_object", ObjectFactory) ctx.RegisterModuleType("cc_genrule", genRuleFactory) ctx.RegisterModuleType("ndk_prebuilt_shared_stl", NdkPrebuiltSharedStlFactory) Loading Loading @@ -437,6 +438,13 @@ func GatherRequiredDepsForTest(oses ...android.OsType) string { ndk_prebuilt_shared_stl { name: "ndk_libc++_shared", } cc_library_static { name: "libgoogle-benchmark", sdk_version: "current", stl: "none", system_shared_libs: [], } ` supportLinuxBionic := false Loading