Refactor bp2build tests

Moves to specifying attributes as a map, such at it is possible to add
additional attributes conditionally. This is in particular useful once
supporting the `enabled` property which will add
`target_compatible_with`

Test: go test soong tests
Change-Id: Iade8eed1ce3acb1d1712a9ee3119d9ae59675624
This commit is contained in:
Liz Kammer
2021-11-08 12:56:31 -05:00
parent c0d9f8bd5e
commit 78cfdaa597
19 changed files with 1443 additions and 1751 deletions

View File

@@ -23,6 +23,9 @@ import (
func runPrebuiltEtcTestCase(t *testing.T, tc bp2buildTestCase) {
t.Helper()
(&tc).moduleTypeUnderTest = "prebuilt_etc"
(&tc).moduleTypeUnderTestFactory = etc.PrebuiltEtcFactory
(&tc).moduleTypeUnderTestBp2BuildMutator = etc.PrebuiltEtcBp2Build
runBp2BuildTestCase(t, registerPrebuiltEtcModuleTypes, tc)
}
@@ -31,11 +34,8 @@ func registerPrebuiltEtcModuleTypes(ctx android.RegistrationContext) {
func TestPrebuiltEtcSimple(t *testing.T) {
runPrebuiltEtcTestCase(t, bp2buildTestCase{
description: "prebuilt_etc - simple example",
moduleTypeUnderTest: "prebuilt_etc",
moduleTypeUnderTestFactory: etc.PrebuiltEtcFactory,
moduleTypeUnderTestBp2BuildMutator: etc.PrebuiltEtcBp2Build,
filesystem: map[string]string{},
description: "prebuilt_etc - simple example",
filesystem: map[string]string{},
blueprint: `
prebuilt_etc {
name: "apex_tz_version",
@@ -45,22 +45,19 @@ prebuilt_etc {
installable: false,
}
`,
expectedBazelTargets: []string{`prebuilt_etc(
name = "apex_tz_version",
filename = "tz_version",
installable = False,
src = "version/tz_version",
sub_dir = "tz",
)`}})
expectedBazelTargets: []string{
makeBazelTarget("prebuilt_etc", "apex_tz_version", attrNameToString{
"filename": `"tz_version"`,
"installable": `False`,
"src": `"version/tz_version"`,
"sub_dir": `"tz"`,
})}})
}
func TestPrebuiltEtcArchVariant(t *testing.T) {
runPrebuiltEtcTestCase(t, bp2buildTestCase{
description: "prebuilt_etc - simple example",
moduleTypeUnderTest: "prebuilt_etc",
moduleTypeUnderTestFactory: etc.PrebuiltEtcFactory,
moduleTypeUnderTestBp2BuildMutator: etc.PrebuiltEtcBp2Build,
filesystem: map[string]string{},
description: "prebuilt_etc - arch variant",
filesystem: map[string]string{},
blueprint: `
prebuilt_etc {
name: "apex_tz_version",
@@ -78,15 +75,15 @@ prebuilt_etc {
}
}
`,
expectedBazelTargets: []string{`prebuilt_etc(
name = "apex_tz_version",
filename = "tz_version",
installable = False,
src = select({
expectedBazelTargets: []string{
makeBazelTarget("prebuilt_etc", "apex_tz_version", attrNameToString{
"filename": `"tz_version"`,
"installable": `False`,
"src": `select({
"//build/bazel/platforms/arch:arm": "arm",
"//build/bazel/platforms/arch:arm64": "arm64",
"//conditions:default": "version/tz_version",
}),
sub_dir = "tz",
)`}})
})`,
"sub_dir": `"tz"`,
})}})
}