diff --git a/bp2build/aar_conversion_test.go b/bp2build/aar_conversion_test.go index 57c38db97..475c2d666 100644 --- a/bp2build/aar_conversion_test.go +++ b/bp2build/aar_conversion_test.go @@ -102,6 +102,7 @@ android_library { sdk_version: "current", } `, + StubbedBuildDefinitions: []string{"lib_dep"}, ExpectedBazelTargets: []string{ MakeBazelTarget( "android_library", diff --git a/bp2build/build_conversion_test.go b/bp2build/build_conversion_test.go index dc56a17b0..8e51d9803 100644 --- a/bp2build/build_conversion_test.go +++ b/bp2build/build_conversion_test.go @@ -348,19 +348,6 @@ custom { }), }, }, - { - Description: "non-existent dep", - Blueprint: `custom { - name: "has_dep", - arch_paths: [":dep"], - bazel_module: { bp2build_available: true }, -}`, - ExpectedBazelTargets: []string{ - MakeBazelTarget("custom", "has_dep", AttrNameToString{ - "arch_paths": `[":dep__BP2BUILD__MISSING__DEP"]`, - }), - }, - }, { Description: "arch-variant srcs", Blueprint: `custom { diff --git a/bp2build/cc_library_conversion_test.go b/bp2build/cc_library_conversion_test.go index bc88f86b7..5ddae68eb 100644 --- a/bp2build/cc_library_conversion_test.go +++ b/bp2build/cc_library_conversion_test.go @@ -559,8 +559,8 @@ func TestCcLibraryWholeStaticLibsAlwaysLink(t *testing.T) { ModuleTypeUnderTest: "cc_library", ModuleTypeUnderTestFactory: cc.LibraryFactory, Dir: "foo/bar", - StubbedBuildDefinitions: []string{"//foo/bar:prebuilt_whole_static_lib_for_shared", "//foo/bar:prebuilt_whole_static_lib_for_static", - "//foo/bar:prebuilt_whole_static_lib_for_both"}, + StubbedBuildDefinitions: []string{"//foo/bar:whole_static_lib_for_shared", "//foo/bar:whole_static_lib_for_static", + "//foo/bar:whole_static_lib_for_both"}, Filesystem: map[string]string{ "foo/bar/Android.bp": ` cc_library { @@ -3355,6 +3355,7 @@ func TestCcLibraryWithTargetApex(t *testing.T) { Description: "cc_library with target.apex", ModuleTypeUnderTest: "cc_library", ModuleTypeUnderTestFactory: cc.LibraryFactory, + StubbedBuildDefinitions: []string{"bar", "baz", "buh"}, Blueprint: ` cc_library { name: "foo", @@ -3366,27 +3367,29 @@ cc_library { exclude_static_libs: ["buh"], } } -}`, +}` + simpleModule("cc_library_static", "baz") + + simpleModule("cc_library_static", "buh") + + simpleModule("cc_library_static", "bar"), ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_static", "foo_bp2build_cc_library_static", AttrNameToString{ - "implementation_deps": `[":baz__BP2BUILD__MISSING__DEP"] + select({ + "implementation_deps": `[":baz"] + select({ "//build/bazel/rules/apex:in_apex": [], - "//conditions:default": [":buh__BP2BUILD__MISSING__DEP"], + "//conditions:default": [":buh"], })`, - "implementation_dynamic_deps": `[":baz__BP2BUILD__MISSING__DEP"] + select({ + "implementation_dynamic_deps": `[":baz"] + select({ "//build/bazel/rules/apex:in_apex": [], - "//conditions:default": [":bar__BP2BUILD__MISSING__DEP"], + "//conditions:default": [":bar"], })`, "local_includes": `["."]`, }), MakeBazelTarget("cc_library_shared", "foo", AttrNameToString{ - "implementation_deps": `[":baz__BP2BUILD__MISSING__DEP"] + select({ + "implementation_deps": `[":baz"] + select({ "//build/bazel/rules/apex:in_apex": [], - "//conditions:default": [":buh__BP2BUILD__MISSING__DEP"], + "//conditions:default": [":buh"], })`, - "implementation_dynamic_deps": `[":baz__BP2BUILD__MISSING__DEP"] + select({ + "implementation_dynamic_deps": `[":baz"] + select({ "//build/bazel/rules/apex:in_apex": [], - "//conditions:default": [":bar__BP2BUILD__MISSING__DEP"], + "//conditions:default": [":bar"], })`, "local_includes": `["."]`, }), @@ -3412,20 +3415,23 @@ cc_library_static { exclude_static_libs: ["abc"], } } -}`, +}` + simpleModule("cc_library_static", "bar") + + simpleModule("cc_library_static", "baz") + + simpleModule("cc_library_static", "abc"), + StubbedBuildDefinitions: []string{"bar", "baz", "abc"}, ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_static", "foo", AttrNameToString{ "implementation_dynamic_deps": `select({ "//build/bazel/rules/apex:in_apex": [], - "//conditions:default": [":bar__BP2BUILD__MISSING__DEP"], + "//conditions:default": [":bar"], })`, "dynamic_deps": `select({ "//build/bazel/rules/apex:in_apex": [], - "//conditions:default": [":baz__BP2BUILD__MISSING__DEP"], + "//conditions:default": [":baz"], })`, "deps": `select({ "//build/bazel/rules/apex:in_apex": [], - "//conditions:default": [":abc__BP2BUILD__MISSING__DEP"], + "//conditions:default": [":abc"], })`, "local_includes": `["."]`, }), @@ -5198,7 +5204,7 @@ ndk_headers { name: "libfoo_headers", from: "from", to: "to", - srcs: ["from/foo.h", "from/foo_other.h"] + srcs: ["foo.h", "foo_other.h"] } `, ExpectedBazelTargets: []string{ @@ -5206,8 +5212,8 @@ ndk_headers { "strip_import_prefix": `"from"`, "import_prefix": `"to"`, "hdrs": `[ - "from/foo.h", - "from/foo_other.h", + "foo.h", + "foo_other.h", ]`, }), }, diff --git a/bp2build/cc_library_headers_conversion_test.go b/bp2build/cc_library_headers_conversion_test.go index e54f05162..5168fe95c 100644 --- a/bp2build/cc_library_headers_conversion_test.go +++ b/bp2build/cc_library_headers_conversion_test.go @@ -70,10 +70,6 @@ func TestCcLibraryHeadersSimple(t *testing.T) { runCcLibraryHeadersTestCase(t, Bp2buildTestCase{ Description: "cc_library_headers test", Filesystem: map[string]string{ - "lib-1/lib1a.h": "", - "lib-1/lib1b.h": "", - "lib-2/lib2a.h": "", - "lib-2/lib2b.h": "", "dir-1/dir1a.h": "", "dir-1/dir1b.h": "", "dir-2/dir2a.h": "", @@ -86,7 +82,6 @@ func TestCcLibraryHeadersSimple(t *testing.T) { cc_library_headers { name: "foo_headers", export_include_dirs: ["dir-1", "dir-2"], - header_libs: ["lib-1", "lib-2"], arch: { arm64: { @@ -322,7 +317,7 @@ func TestCcLibraryHeadersExportedStaticLibHeadersReexported(t *testing.T) { runCcLibraryHeadersTestCase(t, Bp2buildTestCase{ Description: "cc_library_headers exported_static_lib_headers is reexported", Filesystem: map[string]string{}, - StubbedBuildDefinitions: []string{"foo_export"}, + StubbedBuildDefinitions: []string{"foo_export", "foo_no_reexport"}, Blueprint: soongCcLibraryHeadersPreamble + ` cc_library_headers { name: "foo_headers", @@ -330,7 +325,8 @@ cc_library_headers { static_libs: ["foo_export", "foo_no_reexport"], bazel_module: { bp2build_available: true }, } -` + simpleModule("cc_library_headers", "foo_export"), +` + simpleModule("cc_library_headers", "foo_export") + + simpleModule("cc_library_headers", "foo_no_reexport"), ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_headers", "foo_headers", AttrNameToString{ "deps": `[":foo_export"]`, @@ -343,7 +339,7 @@ func TestCcLibraryHeadersExportedSharedLibHeadersReexported(t *testing.T) { runCcLibraryHeadersTestCase(t, Bp2buildTestCase{ Description: "cc_library_headers exported_shared_lib_headers is reexported", Filesystem: map[string]string{}, - StubbedBuildDefinitions: []string{"foo_export"}, + StubbedBuildDefinitions: []string{"foo_export", "foo_no_reexport"}, Blueprint: soongCcLibraryHeadersPreamble + ` cc_library_headers { name: "foo_headers", @@ -351,7 +347,8 @@ cc_library_headers { shared_libs: ["foo_export", "foo_no_reexport"], bazel_module: { bp2build_available: true }, } -` + simpleModule("cc_library_headers", "foo_export"), +` + simpleModule("cc_library_headers", "foo_export") + + simpleModule("cc_library_headers", "foo_no_reexport"), ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_headers", "foo_headers", AttrNameToString{ "deps": `[":foo_export"]`, @@ -364,7 +361,7 @@ func TestCcLibraryHeadersExportedHeaderLibHeadersReexported(t *testing.T) { runCcLibraryHeadersTestCase(t, Bp2buildTestCase{ Description: "cc_library_headers exported_header_lib_headers is reexported", Filesystem: map[string]string{}, - StubbedBuildDefinitions: []string{"foo_export"}, + StubbedBuildDefinitions: []string{"foo_export", "foo_no_reexport"}, Blueprint: soongCcLibraryHeadersPreamble + ` cc_library_headers { name: "foo_headers", @@ -372,7 +369,8 @@ cc_library_headers { header_libs: ["foo_export", "foo_no_reexport"], bazel_module: { bp2build_available: true }, } -` + simpleModule("cc_library_headers", "foo_export"), +` + simpleModule("cc_library_headers", "foo_export") + + simpleModule("cc_library_headers", "foo_no_reexport"), ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_headers", "foo_headers", AttrNameToString{ "deps": `[":foo_export"]`, @@ -426,7 +424,7 @@ cc_prebuilt_library_headers { func TestPrebuiltCcLibraryHeadersPreferredRdepUpdated(t *testing.T) { runCcLibraryHeadersTestCase(t, Bp2buildTestCase{ Description: "cc_library_headers prebuilt preferred is used as rdep", - StubbedBuildDefinitions: []string{"foo_export"}, + StubbedBuildDefinitions: []string{"foo_export", "//foo/bar:foo_headers"}, Filesystem: map[string]string{ "foo/bar/Android.bp": simpleModule("cc_library_headers", "foo_headers"), }, @@ -458,7 +456,7 @@ cc_library_shared { func TestPrebuiltCcLibraryHeadersRdepUpdated(t *testing.T) { runCcLibraryHeadersTestCase(t, Bp2buildTestCase{ Description: "cc_library_headers not preferred is not used for rdep", - StubbedBuildDefinitions: []string{"foo_export"}, + StubbedBuildDefinitions: []string{"foo_export", "//foo/bar:foo_headers"}, Filesystem: map[string]string{ "foo/bar/Android.bp": simpleModule("cc_library_headers", "foo_headers"), }, diff --git a/bp2build/gensrcs_conversion_test.go b/bp2build/gensrcs_conversion_test.go index e808340fa..e9fc61d43 100644 --- a/bp2build/gensrcs_conversion_test.go +++ b/bp2build/gensrcs_conversion_test.go @@ -15,16 +15,22 @@ package bp2build import ( + "testing" + "android/soong/android" "android/soong/genrule" - "testing" ) +func registerModulesForGensrcsTests(ctx android.RegistrationContext) { + ctx.RegisterModuleType("filegroup", android.FileGroupFactory) +} + func TestGensrcs(t *testing.T) { testcases := []struct { - name string - bp string - expectedBazelAttrs AttrNameToString + name string + bp string + expectedBazelAttrs AttrNameToString + stubbedBuildDefinitions []string }{ { name: "gensrcs with common usage of properties", @@ -37,18 +43,22 @@ func TestGensrcs(t *testing.T) { data: ["foo/file.txt", ":external_files"], output_extension: "out", bazel_module: { bp2build_available: true }, + } + filegroup { + name: "external_files", }`, + stubbedBuildDefinitions: []string{"external_files"}, expectedBazelAttrs: AttrNameToString{ "srcs": `[ "test/input.txt", - ":external_files__BP2BUILD__MISSING__DEP", + ":external_files", ]`, "tools": `["program.py"]`, "output_extension": `"out"`, - "cmd": `"$(location program.py) $(SRC) $(OUT) $(location foo/file.txt) $(location :external_files__BP2BUILD__MISSING__DEP)"`, + "cmd": `"$(location program.py) $(SRC) $(OUT) $(location foo/file.txt) $(location :external_files)"`, "data": `[ "foo/file.txt", - ":external_files__BP2BUILD__MISSING__DEP", + ":external_files", ]`, }, }, @@ -73,12 +83,13 @@ func TestGensrcs(t *testing.T) { MakeBazelTargetNoRestrictions("gensrcs", "foo", test.expectedBazelAttrs), } t.Run(test.name, func(t *testing.T) { - RunBp2BuildTestCase(t, func(ctx android.RegistrationContext) {}, + RunBp2BuildTestCase(t, registerModulesForGensrcsTests, Bp2buildTestCase{ ModuleTypeUnderTest: "gensrcs", ModuleTypeUnderTestFactory: genrule.GenSrcsFactory, Blueprint: test.bp, ExpectedBazelTargets: expectedBazelTargets, + StubbedBuildDefinitions: test.stubbedBuildDefinitions, }) }) } diff --git a/bp2build/java_library_conversion_test.go b/bp2build/java_library_conversion_test.go index 38571d4cc..426dffa2b 100644 --- a/bp2build/java_library_conversion_test.go +++ b/bp2build/java_library_conversion_test.go @@ -635,7 +635,7 @@ func TestJavaLibraryAidlNonAdjacentAidlFilegroup(t *testing.T) { Description: "java_library with non adjacent aidl filegroup", ModuleTypeUnderTest: "java_library", ModuleTypeUnderTestFactory: java.LibraryFactory, - StubbedBuildDefinitions: []string{"A_aidl"}, + StubbedBuildDefinitions: []string{"//path/to/A:A_aidl"}, Filesystem: map[string]string{ "path/to/A/Android.bp": ` filegroup {