Refactor bp2build tests for allowlist v2

Allowlist v2 will change bp2build by automatically disabling rdeps of
unconvertible modules. Many bp2build tests create bp2build stub modules
without an implementation,
This CL changes setup of such tests to also contain a BUILD file with
"stub implementations" of equivalent targets, to keep these test targets
convertible.

To verify this change in-place, this CL removes `bp2build_available:
false` from these dependencies.

This is a test-only change for bp2build tests.

Bug: 285631638
Test: m bp2build
Change-Id: I489480cbc4158a416b7abf57c35a6e2bc2ad6173
diff --git a/bp2build/cc_library_static_conversion_test.go b/bp2build/cc_library_static_conversion_test.go
index b9508e9..0587aae 100644
--- a/bp2build/cc_library_static_conversion_test.go
+++ b/bp2build/cc_library_static_conversion_test.go
@@ -96,41 +96,37 @@
 			"implicit_include_1.h": "",
 			"implicit_include_2.h": "",
 		},
+		StubbedBuildDefinitions: []string{"header_lib_1", "header_lib_2",
+			"static_lib_1", "static_lib_2", "whole_static_lib_1", "whole_static_lib_2"},
 		Blueprint: soongCcLibraryStaticPreamble + `
 cc_library_headers {
     name: "header_lib_1",
     export_include_dirs: ["header_lib_1"],
-    bazel_module: { bp2build_available: false },
 }
 
 cc_library_headers {
     name: "header_lib_2",
     export_include_dirs: ["header_lib_2"],
-    bazel_module: { bp2build_available: false },
 }
 
 cc_library_static {
     name: "static_lib_1",
     srcs: ["static_lib_1.cc"],
-    bazel_module: { bp2build_available: false },
 }
 
 cc_library_static {
     name: "static_lib_2",
     srcs: ["static_lib_2.cc"],
-    bazel_module: { bp2build_available: false },
 }
 
 cc_library_static {
     name: "whole_static_lib_1",
     srcs: ["whole_static_lib_1.cc"],
-    bazel_module: { bp2build_available: false },
 }
 
 cc_library_static {
     name: "whole_static_lib_2",
     srcs: ["whole_static_lib_2.cc"],
-    bazel_module: { bp2build_available: false },
 }
 
 cc_library_static {
@@ -392,16 +388,15 @@
 
 func TestCcLibraryStaticArchSpecificStaticLib(t *testing.T) {
 	runCcLibraryStaticTestCase(t, Bp2buildTestCase{
-		Description: "cc_library_static arch-specific static_libs",
-		Filesystem:  map[string]string{},
+		Description:             "cc_library_static arch-specific static_libs",
+		Filesystem:              map[string]string{},
+		StubbedBuildDefinitions: []string{"static_dep", "static_dep2"},
 		Blueprint: soongCcLibraryStaticPreamble + `
 cc_library_static {
     name: "static_dep",
-    bazel_module: { bp2build_available: false },
 }
 cc_library_static {
     name: "static_dep2",
-    bazel_module: { bp2build_available: false },
 }
 cc_library_static {
     name: "foo_static",
@@ -425,16 +420,15 @@
 
 func TestCcLibraryStaticOsSpecificStaticLib(t *testing.T) {
 	runCcLibraryStaticTestCase(t, Bp2buildTestCase{
-		Description: "cc_library_static os-specific static_libs",
-		Filesystem:  map[string]string{},
+		Description:             "cc_library_static os-specific static_libs",
+		Filesystem:              map[string]string{},
+		StubbedBuildDefinitions: []string{"static_dep", "static_dep2"},
 		Blueprint: soongCcLibraryStaticPreamble + `
 cc_library_static {
     name: "static_dep",
-    bazel_module: { bp2build_available: false },
 }
 cc_library_static {
     name: "static_dep2",
-    bazel_module: { bp2build_available: false },
 }
 cc_library_static {
     name: "foo_static",
@@ -460,22 +454,20 @@
 	runCcLibraryStaticTestCase(t, Bp2buildTestCase{
 		Description: "cc_library_static base, arch and os-specific static_libs",
 		Filesystem:  map[string]string{},
+		StubbedBuildDefinitions: []string{"static_dep", "static_dep2", "static_dep3",
+			"static_dep4"},
 		Blueprint: soongCcLibraryStaticPreamble + `
 cc_library_static {
     name: "static_dep",
-    bazel_module: { bp2build_available: false },
 }
 cc_library_static {
     name: "static_dep2",
-    bazel_module: { bp2build_available: false },
 }
 cc_library_static {
     name: "static_dep3",
-    bazel_module: { bp2build_available: false },
 }
 cc_library_static {
     name: "static_dep4",
-    bazel_module: { bp2build_available: false },
 }
 cc_library_static {
     name: "foo_static",
@@ -756,12 +748,12 @@
 
 func TestCcLibraryStaticMultipleDepSameName(t *testing.T) {
 	runCcLibraryStaticTestCase(t, Bp2buildTestCase{
-		Description: "cc_library_static multiple dep same name panic",
-		Filesystem:  map[string]string{},
+		Description:             "cc_library_static multiple dep same name panic",
+		Filesystem:              map[string]string{},
+		StubbedBuildDefinitions: []string{"static_dep"},
 		Blueprint: soongCcLibraryStaticPreamble + `
 cc_library_static {
     name: "static_dep",
-    bazel_module: { bp2build_available: false },
 }
 cc_library_static {
     name: "foo_static",
@@ -961,17 +953,16 @@
 
 func TestCcLibraryStaticGeneratedHeadersAllPartitions(t *testing.T) {
 	runCcLibraryStaticTestCase(t, Bp2buildTestCase{
+		StubbedBuildDefinitions: []string{"generated_hdr", "export_generated_hdr"},
 		Blueprint: soongCcLibraryStaticPreamble + `
 genrule {
     name: "generated_hdr",
     cmd: "nothing to see here",
-    bazel_module: { bp2build_available: false },
 }
 
 genrule {
     name: "export_generated_hdr",
     cmd: "nothing to see here",
-    bazel_module: { bp2build_available: false },
 }
 
 cc_library_static {
@@ -1005,19 +996,18 @@
 
 func TestCcLibraryStaticGeneratedHeadersMultipleExports(t *testing.T) {
 	runCcLibraryStaticTestCase(t, Bp2buildTestCase{
+		StubbedBuildDefinitions: []string{"generated_hdr", "export_generated_hdr"},
 		Blueprint: soongCcLibraryStaticPreamble + `
 genrule {
     name: "generated_hdr",
     cmd: "nothing to see here",
     export_include_dirs: ["foo", "bar"],
-    bazel_module: { bp2build_available: false },
 }
 
 genrule {
     name: "export_generated_hdr",
     cmd: "nothing to see here",
     export_include_dirs: ["a", "b"],
-    bazel_module: { bp2build_available: false },
 }
 
 cc_library_static {
@@ -1040,22 +1030,26 @@
 func TestCcLibraryStaticArchSrcsExcludeSrcsGeneratedFiles(t *testing.T) {
 	runCcLibraryStaticTestCase(t, Bp2buildTestCase{
 		Description: "cc_library_static arch srcs/exclude_srcs with generated files",
+		StubbedBuildDefinitions: []string{"//dep:generated_src_other_pkg", "//dep:generated_hdr_other_pkg",
+			"//dep:generated_src_other_pkg_x86", "//dep:generated_hdr_other_pkg_x86", "//dep:generated_hdr_other_pkg_android",
+			"generated_src", "generated_src_not_x86", "generated_src_android", "generated_hdr",
+		},
 		Filesystem: map[string]string{
 			"common.cpp":             "",
 			"for-x86.cpp":            "",
 			"not-for-x86.cpp":        "",
 			"not-for-everything.cpp": "",
-			"dep/Android.bp": SimpleModuleDoNotConvertBp2build("genrule", "generated_src_other_pkg") +
-				SimpleModuleDoNotConvertBp2build("genrule", "generated_hdr_other_pkg") +
-				SimpleModuleDoNotConvertBp2build("genrule", "generated_src_other_pkg_x86") +
-				SimpleModuleDoNotConvertBp2build("genrule", "generated_hdr_other_pkg_x86") +
-				SimpleModuleDoNotConvertBp2build("genrule", "generated_hdr_other_pkg_android"),
+			"dep/Android.bp": simpleModule("genrule", "generated_src_other_pkg") +
+				simpleModule("genrule", "generated_hdr_other_pkg") +
+				simpleModule("genrule", "generated_src_other_pkg_x86") +
+				simpleModule("genrule", "generated_hdr_other_pkg_x86") +
+				simpleModule("genrule", "generated_hdr_other_pkg_android"),
 		},
 		Blueprint: soongCcLibraryStaticPreamble +
-			SimpleModuleDoNotConvertBp2build("genrule", "generated_src") +
-			SimpleModuleDoNotConvertBp2build("genrule", "generated_src_not_x86") +
-			SimpleModuleDoNotConvertBp2build("genrule", "generated_src_android") +
-			SimpleModuleDoNotConvertBp2build("genrule", "generated_hdr") + `
+			simpleModule("genrule", "generated_src") +
+			simpleModule("genrule", "generated_src_not_x86") +
+			simpleModule("genrule", "generated_src_android") +
+			simpleModule("genrule", "generated_hdr") + `
 cc_library_static {
     name: "foo_static",
     srcs: ["common.cpp", "not-for-*.cpp"],
@@ -1340,11 +1334,11 @@
 
 func TestStaticLibrary_SystemSharedLibsBionicEmpty(t *testing.T) {
 	runCcLibraryStaticTestCase(t, Bp2buildTestCase{
-		Description: "cc_library_static system_shared_lib empty for bionic variant",
+		Description:             "cc_library_static system_shared_lib empty for bionic variant",
+		StubbedBuildDefinitions: []string{"libc_musl"},
 		Blueprint: soongCcLibraryStaticPreamble + `
 cc_library {
 		name: "libc_musl",
-		bazel_module: { bp2build_available: false },
 }
 
 cc_library_static {
@@ -1374,11 +1368,11 @@
 	// only for linux_bionic, but `android` had `["libc", "libdl", "libm"].
 	// b/195791252 tracks the fix.
 	runCcLibraryStaticTestCase(t, Bp2buildTestCase{
-		Description: "cc_library_static system_shared_lib empty for linux_bionic variant",
+		Description:             "cc_library_static system_shared_lib empty for linux_bionic variant",
+		StubbedBuildDefinitions: []string{"libc_musl"},
 		Blueprint: soongCcLibraryStaticPreamble + `
 cc_library {
 		name: "libc_musl",
-		bazel_module: { bp2build_available: false },
 }
 
 cc_library_static {
@@ -1458,12 +1452,12 @@
 
 func TestStaticLibrary_SystemSharedLibsBionic(t *testing.T) {
 	runCcLibraryStaticTestCase(t, Bp2buildTestCase{
-		Description: "cc_library_static system_shared_libs set for bionic variant",
+		Description:             "cc_library_static system_shared_libs set for bionic variant",
+		StubbedBuildDefinitions: []string{"libc", "libc_musl"},
 		Blueprint: soongCcLibraryStaticPreamble +
-			SimpleModuleDoNotConvertBp2build("cc_library", "libc") + `
+			simpleModule("cc_library", "libc") + `
 cc_library {
 	name: "libc_musl",
-	bazel_module: { bp2build_available: false },
 }
 
 cc_library_static {
@@ -1491,13 +1485,13 @@
 
 func TestStaticLibrary_SystemSharedLibsLinuxRootAndLinuxBionic(t *testing.T) {
 	runCcLibraryStaticTestCase(t, Bp2buildTestCase{
-		Description: "cc_library_static system_shared_libs set for root and linux_bionic variant",
+		Description:             "cc_library_static system_shared_libs set for root and linux_bionic variant",
+		StubbedBuildDefinitions: []string{"libc", "libm", "libc_musl"},
 		Blueprint: soongCcLibraryStaticPreamble +
-			SimpleModuleDoNotConvertBp2build("cc_library", "libc") +
-			SimpleModuleDoNotConvertBp2build("cc_library", "libm") + `
+			simpleModule("cc_library", "libc") +
+			simpleModule("cc_library", "libm") + `
 cc_library {
 	name: "libc_musl",
-	bazel_module: { bp2build_available: false },
 }
 
 cc_library_static {
@@ -1525,9 +1519,10 @@
 
 func TestCcLibrarystatic_SystemSharedLibUsedAsDep(t *testing.T) {
 	runCcLibraryStaticTestCase(t, Bp2buildTestCase{
-		Description: "cc_library_static system_shared_lib empty for linux_bionic variant",
+		Description:             "cc_library_static system_shared_lib empty for linux_bionic variant",
+		StubbedBuildDefinitions: []string{"libc", "libm"},
 		Blueprint: soongCcLibraryStaticPreamble +
-			SimpleModuleDoNotConvertBp2build("cc_library", "libc") + `
+			simpleModule("cc_library", "libc") + `
 
 cc_library {
     name: "libm",
@@ -1535,7 +1530,6 @@
         symbol_file: "libm.map.txt",
         versions: ["current"],
     },
-    bazel_module: { bp2build_available: false },
     apex_available: ["com.android.runtime"],
 }
 
@@ -1613,6 +1607,7 @@
 
 func TestCcLibraryStaticProto(t *testing.T) {
 	runCcLibraryStaticTestCase(t, Bp2buildTestCase{
+		StubbedBuildDefinitions: []string{"libprotobuf-cpp-full", "libprotobuf-cpp-lite"},
 		Blueprint: soongCcProtoPreamble + `cc_library_static {
 	name: "foo",
 	srcs: ["foo.proto"],
@@ -1639,6 +1634,7 @@
 		Filesystem: map[string]string{
 			soongCcVersionLibBpPath: soongCcVersionLibBp,
 		},
+		StubbedBuildDefinitions: []string{"//build/soong/cc/libbuildversion:libbuildversion", "libprotobuf-cpp-full", "libprotobuf-cpp-lite"},
 		Blueprint: soongCcProtoPreamble + `cc_library_static {
 	name: "foo",
 	use_version_lib: true,
@@ -1658,6 +1654,8 @@
 		Filesystem: map[string]string{
 			soongCcVersionLibBpPath: soongCcVersionLibBp,
 		},
+		StubbedBuildDefinitions: []string{"//build/soong/cc/libbuildversion:libbuildversion", "libprotobuf-cpp-full", "libprotobuf-cpp-lite"},
+
 		Blueprint: soongCcProtoPreamble + `cc_library_static {
 	name: "foo",
 	use_version_lib: true,
@@ -1674,6 +1672,7 @@
 
 func TestCcLibraryStaticStdInFlags(t *testing.T) {
 	runCcLibraryStaticTestCase(t, Bp2buildTestCase{
+		StubbedBuildDefinitions: []string{"libprotobuf-cpp-full", "libprotobuf-cpp-lite"},
 		Blueprint: soongCcProtoPreamble + `cc_library_static {
 	name: "foo",
 	cflags: ["-std=candcpp"],
@@ -1767,14 +1766,14 @@
 
 cc_library_static {
   name: "foo",
-  runtime_libs: ["foo"],
+  runtime_libs: ["bar"],
 }`,
 		ExpectedBazelTargets: []string{
 			MakeBazelTarget("cc_library_shared", "bar", AttrNameToString{
 				"local_includes": `["."]`,
 			}),
 			MakeBazelTarget("cc_library_static", "foo", AttrNameToString{
-				"runtime_deps":   `[":foo"]`,
+				"runtime_deps":   `[":bar"]`,
 				"local_includes": `["."]`,
 			}),
 		},
@@ -2260,6 +2259,7 @@
 		Description:                "cc_library with a .proto file generated from a genrule",
 		ModuleTypeUnderTest:        "cc_library_static",
 		ModuleTypeUnderTestFactory: cc.LibraryStaticFactory,
+		StubbedBuildDefinitions:    []string{"libprotobuf-cpp-lite"},
 		Blueprint: soongCcLibraryPreamble + `
 cc_library_static {
 	name: "mylib",
@@ -2269,7 +2269,7 @@
 	name: "myprotogen",
 	out: ["myproto.proto"],
 }
-` + SimpleModuleDoNotConvertBp2build("cc_library", "libprotobuf-cpp-lite"),
+` + simpleModule("cc_library", "libprotobuf-cpp-lite"),
 		ExpectedBazelTargets: []string{
 			MakeBazelTarget("cc_library_static", "mylib", AttrNameToString{
 				"local_includes":                    `["."]`,