Loading cc/cc_test.go +47 −2 Original line number Diff line number Diff line Loading @@ -612,7 +612,6 @@ func TestDataLibsRelativeInstallPath(t *testing.T) { } outputPath := outputFiles[0].String() testBinaryPath := testBinary.dataPaths()[0] if !strings.HasSuffix(outputPath, "/main_test") { t.Errorf("expected test output file to be 'main_test', but was '%s'", outputPath) Loading @@ -620,7 +619,7 @@ func TestDataLibsRelativeInstallPath(t *testing.T) { entries := android.AndroidMkEntriesForTest(t, config, "", module)[0] if !strings.HasSuffix(entries.EntryMap["LOCAL_TEST_DATA"][0], ":test_lib.so:foo/bar/baz") { t.Errorf("expected LOCAL_TEST_DATA to end with `:test_lib.so:foo/bar/baz`,"+ " but was '%s'", testBinaryPath) " but was '%s'", entries.EntryMap["LOCAL_TEST_DATA"][0]) } } Loading Loading @@ -2967,6 +2966,52 @@ func TestRecovery(t *testing.T) { } } func TestDataLibsPrebuiltSharedTestLibrary(t *testing.T) { bp := ` cc_prebuilt_test_library_shared { name: "test_lib", relative_install_path: "foo/bar/baz", srcs: ["srcpath/dontusethispath/baz.so"], } cc_test { name: "main_test", data_libs: ["test_lib"], gtest: false, } ` config := TestConfig(buildDir, android.Android, nil, bp, nil) config.TestProductVariables.DeviceVndkVersion = StringPtr("current") config.TestProductVariables.Platform_vndk_version = StringPtr("VER") config.TestProductVariables.VndkUseCoreVariant = BoolPtr(true) ctx := testCcWithConfig(t, config) module := ctx.ModuleForTests("main_test", "android_arm_armv7-a-neon").Module() testBinary := module.(*Module).linker.(*testBinary) outputFiles, err := module.(android.OutputFileProducer).OutputFiles("") if err != nil { t.Fatalf("Expected cc_test to produce output files, error: %s", err) } if len(outputFiles) != 1 { t.Errorf("expected exactly one output file. output files: [%s]", outputFiles) } if len(testBinary.dataPaths()) != 1 { t.Errorf("expected exactly one test data file. test data files: [%s]", testBinary.dataPaths()) } outputPath := outputFiles[0].String() if !strings.HasSuffix(outputPath, "/main_test") { t.Errorf("expected test output file to be 'main_test', but was '%s'", outputPath) } entries := android.AndroidMkEntriesForTest(t, config, "", module)[0] if !strings.HasSuffix(entries.EntryMap["LOCAL_TEST_DATA"][0], ":test_lib.so:foo/bar/baz") { t.Errorf("expected LOCAL_TEST_DATA to end with `:test_lib.so:foo/bar/baz`,"+ " but was '%s'", entries.EntryMap["LOCAL_TEST_DATA"][0]) } } func TestVersionedStubs(t *testing.T) { ctx := testCc(t, ` cc_library_shared { Loading cc/prebuilt.go +11 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ func RegisterPrebuiltBuildComponents(ctx android.RegistrationContext) { ctx.RegisterModuleType("cc_prebuilt_library", PrebuiltLibraryFactory) ctx.RegisterModuleType("cc_prebuilt_library_shared", PrebuiltSharedLibraryFactory) ctx.RegisterModuleType("cc_prebuilt_library_static", PrebuiltStaticLibraryFactory) ctx.RegisterModuleType("cc_prebuilt_test_library_shared", PrebuiltSharedTestLibraryFactory) ctx.RegisterModuleType("cc_prebuilt_object", prebuiltObjectFactory) ctx.RegisterModuleType("cc_prebuilt_binary", prebuiltBinaryFactory) } Loading Loading @@ -243,6 +244,16 @@ func PrebuiltSharedLibraryFactory() android.Module { return module.Init() } // cc_prebuilt_test_library_shared installs a precompiled shared library // to be used as a data dependency of a test-related module (such as cc_test, or // cc_test_library). func PrebuiltSharedTestLibraryFactory() android.Module { module, library := NewPrebuiltLibrary(android.HostAndDeviceSupported) library.BuildOnlyShared() library.baseInstaller = NewTestInstaller() return module.Init() } func NewPrebuiltSharedLibrary(hod android.HostOrDeviceSupported) (*Module, *libraryDecorator) { module, library := NewPrebuiltLibrary(hod) library.BuildOnlyShared() Loading Loading
cc/cc_test.go +47 −2 Original line number Diff line number Diff line Loading @@ -612,7 +612,6 @@ func TestDataLibsRelativeInstallPath(t *testing.T) { } outputPath := outputFiles[0].String() testBinaryPath := testBinary.dataPaths()[0] if !strings.HasSuffix(outputPath, "/main_test") { t.Errorf("expected test output file to be 'main_test', but was '%s'", outputPath) Loading @@ -620,7 +619,7 @@ func TestDataLibsRelativeInstallPath(t *testing.T) { entries := android.AndroidMkEntriesForTest(t, config, "", module)[0] if !strings.HasSuffix(entries.EntryMap["LOCAL_TEST_DATA"][0], ":test_lib.so:foo/bar/baz") { t.Errorf("expected LOCAL_TEST_DATA to end with `:test_lib.so:foo/bar/baz`,"+ " but was '%s'", testBinaryPath) " but was '%s'", entries.EntryMap["LOCAL_TEST_DATA"][0]) } } Loading Loading @@ -2967,6 +2966,52 @@ func TestRecovery(t *testing.T) { } } func TestDataLibsPrebuiltSharedTestLibrary(t *testing.T) { bp := ` cc_prebuilt_test_library_shared { name: "test_lib", relative_install_path: "foo/bar/baz", srcs: ["srcpath/dontusethispath/baz.so"], } cc_test { name: "main_test", data_libs: ["test_lib"], gtest: false, } ` config := TestConfig(buildDir, android.Android, nil, bp, nil) config.TestProductVariables.DeviceVndkVersion = StringPtr("current") config.TestProductVariables.Platform_vndk_version = StringPtr("VER") config.TestProductVariables.VndkUseCoreVariant = BoolPtr(true) ctx := testCcWithConfig(t, config) module := ctx.ModuleForTests("main_test", "android_arm_armv7-a-neon").Module() testBinary := module.(*Module).linker.(*testBinary) outputFiles, err := module.(android.OutputFileProducer).OutputFiles("") if err != nil { t.Fatalf("Expected cc_test to produce output files, error: %s", err) } if len(outputFiles) != 1 { t.Errorf("expected exactly one output file. output files: [%s]", outputFiles) } if len(testBinary.dataPaths()) != 1 { t.Errorf("expected exactly one test data file. test data files: [%s]", testBinary.dataPaths()) } outputPath := outputFiles[0].String() if !strings.HasSuffix(outputPath, "/main_test") { t.Errorf("expected test output file to be 'main_test', but was '%s'", outputPath) } entries := android.AndroidMkEntriesForTest(t, config, "", module)[0] if !strings.HasSuffix(entries.EntryMap["LOCAL_TEST_DATA"][0], ":test_lib.so:foo/bar/baz") { t.Errorf("expected LOCAL_TEST_DATA to end with `:test_lib.so:foo/bar/baz`,"+ " but was '%s'", entries.EntryMap["LOCAL_TEST_DATA"][0]) } } func TestVersionedStubs(t *testing.T) { ctx := testCc(t, ` cc_library_shared { Loading
cc/prebuilt.go +11 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ func RegisterPrebuiltBuildComponents(ctx android.RegistrationContext) { ctx.RegisterModuleType("cc_prebuilt_library", PrebuiltLibraryFactory) ctx.RegisterModuleType("cc_prebuilt_library_shared", PrebuiltSharedLibraryFactory) ctx.RegisterModuleType("cc_prebuilt_library_static", PrebuiltStaticLibraryFactory) ctx.RegisterModuleType("cc_prebuilt_test_library_shared", PrebuiltSharedTestLibraryFactory) ctx.RegisterModuleType("cc_prebuilt_object", prebuiltObjectFactory) ctx.RegisterModuleType("cc_prebuilt_binary", prebuiltBinaryFactory) } Loading Loading @@ -243,6 +244,16 @@ func PrebuiltSharedLibraryFactory() android.Module { return module.Init() } // cc_prebuilt_test_library_shared installs a precompiled shared library // to be used as a data dependency of a test-related module (such as cc_test, or // cc_test_library). func PrebuiltSharedTestLibraryFactory() android.Module { module, library := NewPrebuiltLibrary(android.HostAndDeviceSupported) library.BuildOnlyShared() library.baseInstaller = NewTestInstaller() return module.Init() } func NewPrebuiltSharedLibrary(hod android.HostOrDeviceSupported) (*Module, *libraryDecorator) { module, library := NewPrebuiltLibrary(hod) library.BuildOnlyShared() Loading