Block CFI on static libraries
Bug: 295805467
Test: Unit tests and inspecting generated BUILD files
Change-Id: I1bbd2f48ad384e0b5b6f7cc1458b12ded2748e8f
diff --git a/bp2build/cc_library_static_conversion_test.go b/bp2build/cc_library_static_conversion_test.go
index 89ec8f9..e7a75b4 100644
--- a/bp2build/cc_library_static_conversion_test.go
+++ b/bp2build/cc_library_static_conversion_test.go
@@ -2135,9 +2135,9 @@
})
}
-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 @@
}`,
ExpectedBazelTargets: []string{
MakeBazelTarget("cc_library_static", "foo", AttrNameToString{
- "features": `["android_cfi"]`,
"local_includes": `["."]`,
}),
},
@@ -2156,7 +2155,7 @@
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 @@
}`,
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 @@
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 @@
}`,
ExpectedBazelTargets: []string{
MakeBazelTarget("cc_library_static", "foo", AttrNameToString{
- "features": `[
- "android_cfi",
- "android_cfi_assembly_support",
- ]`,
+ "features": `["android_cfi_assembly_support"]`,
"local_includes": `["."]`,
}),
},