deletion of clang_cflags & clang_asflags from Soong

Clang_cflags and clang_asflags are depecrated.
Set up BUILD_BROKEN flags so partners can bypass errors
from using them

Bug: 226636335
Test: m nothing & treehugger
Change-Id: Ic1d90b72decc4c6c1f7e6dda95a2c56ab2c26d86
This commit is contained in:
Alix
2022-04-26 19:17:51 +00:00
parent 5aa5dc4121
commit 1879c68261
4 changed files with 116 additions and 4 deletions

View File

@@ -4386,3 +4386,93 @@ func TestCcBuildBrokenClangProperty(t *testing.T) {
})
}
}
func TestCcBuildBrokenClangAsFlags(t *testing.T) {
tests := []struct {
name string
clangAsFlags []string
BuildBrokenClangAsFlags bool
err string
}{
{
name: "error when clang_asflags is set",
clangAsFlags: []string{"-a", "-b"},
err: "clang_asflags: property is deprecated",
},
{
name: "no error when BuildBrokenClangAsFlags is explicitly set to true",
clangAsFlags: []string{"-a", "-b"},
BuildBrokenClangAsFlags: true,
},
}
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
bp := fmt.Sprintf(`
cc_library {
name: "foo",
clang_asflags: %s,
}`, `["`+strings.Join(test.clangAsFlags, `","`)+`"]`)
if test.err == "" {
android.GroupFixturePreparers(
prepareForCcTest,
android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) {
if test.BuildBrokenClangAsFlags {
variables.BuildBrokenClangAsFlags = test.BuildBrokenClangAsFlags
}
}),
).RunTestWithBp(t, bp)
} else {
prepareForCcTest.
ExtendWithErrorHandler(android.FixtureExpectsOneErrorPattern(test.err)).
RunTestWithBp(t, bp)
}
})
}
}
func TestCcBuildBrokenClangCFlags(t *testing.T) {
tests := []struct {
name string
clangCFlags []string
BuildBrokenClangCFlags bool
err string
}{
{
name: "error when clang_cflags is set",
clangCFlags: []string{"-a", "-b"},
err: "clang_cflags: property is deprecated",
},
{
name: "no error when BuildBrokenClangCFlags is explicitly set to true",
clangCFlags: []string{"-a", "-b"},
BuildBrokenClangCFlags: true,
},
}
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
bp := fmt.Sprintf(`
cc_library {
name: "foo",
clang_cflags: %s,
}`, `["`+strings.Join(test.clangCFlags, `","`)+`"]`)
if test.err == "" {
android.GroupFixturePreparers(
prepareForCcTest,
android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) {
if test.BuildBrokenClangCFlags {
variables.BuildBrokenClangCFlags = test.BuildBrokenClangCFlags
}
}),
).RunTestWithBp(t, bp)
} else {
prepareForCcTest.
ExtendWithErrorHandler(android.FixtureExpectsOneErrorPattern(test.err)).
RunTestWithBp(t, bp)
}
})
}
}