Test changes to prepare for allowlist v2
This implements a number of in-place unit test changes to prepare for some fundamental changes to bp2build ("allowlist v2"). This will change bp2build so that rdeps of unconverted or missing modules will not be converted by bp2build. Bug: 301312260 Test: Unit tests Test: Unit tests, with a local copy of allowlist v2 on Change-Id: I8c8c0a24ba173e213fffcb0f8d7e99845705f4a7
This commit is contained in:
parent
3fb5c15adf
commit
d078337796
6 changed files with 56 additions and 53 deletions
|
@ -102,6 +102,7 @@ android_library {
|
|||
sdk_version: "current",
|
||||
}
|
||||
`,
|
||||
StubbedBuildDefinitions: []string{"lib_dep"},
|
||||
ExpectedBazelTargets: []string{
|
||||
MakeBazelTarget(
|
||||
"android_library",
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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",
|
||||
]`,
|
||||
}),
|
||||
},
|
||||
|
|
|
@ -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"),
|
||||
},
|
||||
|
|
|
@ -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,
|
||||
})
|
||||
})
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
|
|
Loading…
Reference in a new issue