Block CFI on static libraries

Bug: 295805467
Test: Unit tests and inspecting generated BUILD files
Change-Id: I1bbd2f48ad384e0b5b6f7cc1458b12ded2748e8f
This commit is contained in:
Trevor Radcliffe
2023-08-14 19:16:32 +00:00
parent 962bcdb18e
commit f9abec0987
8 changed files with 70 additions and 26 deletions

View File

@@ -2135,9 +2135,9 @@ cc_library_static {
})
}
func TestCcLibraryStaticWithCfi(t *testing.T) {
func TestCcLibraryStaticNoCfi(t *testing.T) {
runCcLibraryStaticTestCase(t, Bp2buildTestCase{
Description: "cc_library_static has correct features when cfi is enabled",
Description: "cc_library_static never explicitly enables CFI",
Blueprint: `
cc_library_static {
name: "foo",
@@ -2147,7 +2147,6 @@ cc_library_static {
}`,
ExpectedBazelTargets: []string{
MakeBazelTarget("cc_library_static", "foo", AttrNameToString{
"features": `["android_cfi"]`,
"local_includes": `["."]`,
}),
},
@@ -2156,7 +2155,7 @@ cc_library_static {
func TestCcLibraryStaticWithCfiOsSpecific(t *testing.T) {
runCcLibraryStaticTestCase(t, Bp2buildTestCase{
Description: "cc_library_static has correct features when cfi is enabled for specific variants",
Description: "cc_library_static never explicitly enables CFI even for specific variants",
Blueprint: `
cc_library_static {
name: "foo",
@@ -2170,10 +2169,6 @@ cc_library_static {
}`,
ExpectedBazelTargets: []string{
MakeBazelTarget("cc_library_static", "foo", AttrNameToString{
"features": `select({
"//build/bazel/platforms/os:android": ["android_cfi"],
"//conditions:default": [],
})`,
"local_includes": `["."]`,
}),
},
@@ -2182,7 +2177,7 @@ cc_library_static {
func TestCcLibraryStaticWithCfiAndCfiAssemblySupport(t *testing.T) {
runCcLibraryStaticTestCase(t, Bp2buildTestCase{
Description: "cc_library_static has correct features when cfi is enabled with cfi_assembly_support",
Description: "cc_library_static will specify cfi_assembly_support feature but not cfi feature",
Blueprint: `
cc_library_static {
name: "foo",
@@ -2195,10 +2190,7 @@ cc_library_static {
}`,
ExpectedBazelTargets: []string{
MakeBazelTarget("cc_library_static", "foo", AttrNameToString{
"features": `[
"android_cfi",
"android_cfi_assembly_support",
]`,
"features": `["android_cfi_assembly_support"]`,
"local_includes": `["."]`,
}),
},