Handle filename variations for prebuilt_etc in bp2build
Bp2build now handles these cases: -filename is specified as a property -if filename is not specified and filename_from_src = true, filename is set as the src -filename defaults to the module name otherwise Bug: 228353188 Test: bp2build/prebuilt_etc_conversion_test.go Change-Id: Ia4c9b2c89f100e4ed9363dc3ba20ea501b776216
This commit is contained in:
@@ -181,3 +181,87 @@ prebuilt_etc {
|
||||
"dir": `"etc"`,
|
||||
})}})
|
||||
}
|
||||
|
||||
func TestFilenameAsProperty(t *testing.T) {
|
||||
runPrebuiltEtcTestCase(t, Bp2buildTestCase{
|
||||
Description: "prebuilt_etc - filename is specified as a property ",
|
||||
Filesystem: map[string]string{},
|
||||
Blueprint: `
|
||||
prebuilt_etc {
|
||||
name: "foo",
|
||||
src: "fooSrc",
|
||||
filename: "fooFileName",
|
||||
}
|
||||
`,
|
||||
ExpectedBazelTargets: []string{
|
||||
MakeBazelTarget("prebuilt_file", "foo", AttrNameToString{
|
||||
"filename": `"fooFileName"`,
|
||||
"src": `"fooSrc"`,
|
||||
"dir": `"etc"`,
|
||||
})}})
|
||||
}
|
||||
|
||||
func TestFileNameFromSrc(t *testing.T) {
|
||||
runPrebuiltEtcTestCase(t, Bp2buildTestCase{
|
||||
Description: "prebuilt_etc - filename_from_src is true ",
|
||||
Filesystem: map[string]string{},
|
||||
Blueprint: `
|
||||
prebuilt_etc {
|
||||
name: "foo",
|
||||
filename_from_src: true,
|
||||
src: "fooSrc",
|
||||
}
|
||||
`,
|
||||
ExpectedBazelTargets: []string{
|
||||
MakeBazelTarget("prebuilt_file", "foo", AttrNameToString{
|
||||
"filename": `"fooSrc"`,
|
||||
"src": `"fooSrc"`,
|
||||
"dir": `"etc"`,
|
||||
})}})
|
||||
}
|
||||
|
||||
func TestFileNameFromSrcMultipleSrcs(t *testing.T) {
|
||||
runPrebuiltEtcTestCase(t, Bp2buildTestCase{
|
||||
Description: "prebuilt_etc - filename_from_src is true but there are multiple srcs",
|
||||
Filesystem: map[string]string{},
|
||||
Blueprint: `
|
||||
prebuilt_etc {
|
||||
name: "foo",
|
||||
filename_from_src: true,
|
||||
arch: {
|
||||
arm: {
|
||||
src: "barSrc",
|
||||
},
|
||||
arm64: {
|
||||
src: "bazSrc",
|
||||
},
|
||||
}
|
||||
}
|
||||
`,
|
||||
ExpectedBazelTargets: []string{
|
||||
MakeBazelTarget("prebuilt_file", "foo", AttrNameToString{
|
||||
"filename_from_src": `True`,
|
||||
"dir": `"etc"`,
|
||||
"src": `select({
|
||||
"//build/bazel/platforms/arch:arm": "barSrc",
|
||||
"//build/bazel/platforms/arch:arm64": "bazSrc",
|
||||
"//conditions:default": None,
|
||||
})`,
|
||||
})}})
|
||||
}
|
||||
|
||||
func TestFilenameFromModuleName(t *testing.T) {
|
||||
runPrebuiltEtcTestCase(t, Bp2buildTestCase{
|
||||
Description: "prebuilt_etc - neither filename nor filename_from_src are specified ",
|
||||
Filesystem: map[string]string{},
|
||||
Blueprint: `
|
||||
prebuilt_etc {
|
||||
name: "foo",
|
||||
}
|
||||
`,
|
||||
ExpectedBazelTargets: []string{
|
||||
MakeBazelTarget("prebuilt_file", "foo", AttrNameToString{
|
||||
"filename": `"foo"`,
|
||||
"dir": `"etc"`,
|
||||
})}})
|
||||
}
|
||||
|
Reference in New Issue
Block a user