Loading bp2build/cc_binary_conversion_test.go +20 −0 Original line number Diff line number Diff line Loading @@ -1126,6 +1126,26 @@ func TestCcBinaryWithCfiAndCfiAssemblySupport(t *testing.T) { }) } func TestCcBinaryExplicitlyDisablesCfiWhenFalse(t *testing.T) { runCcBinaryTestCase(t, ccBinaryBp2buildTestCase{ description: "cc_binary disables cfi when explciitly set to false in the bp", blueprint: ` {rule_name} { name: "foo", sanitize: { cfi: false, }, } `, targets: []testBazelTarget{ {"cc_binary", "foo", AttrNameToString{ "features": `["-android_cfi"]`, "local_includes": `["."]`, }}, }, }) } func TestCcBinaryStem(t *testing.T) { runCcBinaryTestCase(t, ccBinaryBp2buildTestCase{ description: "cc_binary with stem property", Loading bp2build/cc_library_conversion_test.go +26 −0 Original line number Diff line number Diff line Loading @@ -4839,6 +4839,32 @@ cc_library { }) } func TestCcLibraryExplicitlyDisablesCfiWhenFalse(t *testing.T) { runCcLibraryTestCase(t, Bp2buildTestCase{ Description: "cc_library disables cfi when explciitly set to false in the bp", ModuleTypeUnderTest: "cc_library", ModuleTypeUnderTestFactory: cc.LibraryFactory, Blueprint: ` cc_library { name: "foo", sanitize: { cfi: false, }, } `, ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_static", "foo_bp2build_cc_library_static", AttrNameToString{ "features": `["-android_cfi"]`, "local_includes": `["."]`, }), MakeBazelTarget("cc_library_shared", "foo", AttrNameToString{ "features": `["-android_cfi"]`, "local_includes": `["."]`, }), }, }) } func TestCcLibraryWithStem(t *testing.T) { runCcLibraryTestCase(t, Bp2buildTestCase{ Description: "cc_library with stem property", Loading bp2build/cc_library_shared_conversion_test.go +20 −0 Original line number Diff line number Diff line Loading @@ -1535,3 +1535,23 @@ cc_library_static { }, }) } func TestCcLibrarySharedExplicitlyDisablesCfiWhenFalse(t *testing.T) { runCcLibrarySharedTestCase(t, Bp2buildTestCase{ Description: "cc_library_shared disables cfi when explciitly set to false in the bp", Blueprint: ` cc_library_shared { name: "foo", sanitize: { cfi: false, }, } `, ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_shared", "foo", AttrNameToString{ "features": `["-android_cfi"]`, "local_includes": `["."]`, }), }, }) } bp2build/cc_library_static_conversion_test.go +20 −0 Original line number Diff line number Diff line Loading @@ -2165,3 +2165,23 @@ cc_library_static { }, }) } func TestCcLibraryStaticExplicitlyDisablesCfiWhenFalse(t *testing.T) { runCcLibraryStaticTestCase(t, Bp2buildTestCase{ Description: "cc_library_static disables cfi when explciitly set to false in the bp", Blueprint: ` cc_library_static { name: "foo", sanitize: { cfi: false, }, } `, ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_static", "foo", AttrNameToString{ "features": `["-android_cfi"]`, "local_includes": `["."]`, }), }, }) } cc/bp2build.go +3 −1 Original line number Diff line number Diff line Loading @@ -1787,7 +1787,9 @@ func bp2buildSanitizerFeatures(ctx android.BazelConversionPathContext, m *Module blocklistFeatureSuffix := strings.Replace(strings.ToLower(*blocklist), ".", "_", -1) features = append(features, "ubsan_blocklist_"+blocklistFeatureSuffix) } if proptools.Bool(sanitizerProps.Sanitize.Cfi) { if sanitizerProps.Sanitize.Cfi != nil && !proptools.Bool(sanitizerProps.Sanitize.Cfi) { features = append(features, "-android_cfi") } else if proptools.Bool(sanitizerProps.Sanitize.Cfi) { features = append(features, "android_cfi") if proptools.Bool(sanitizerProps.Sanitize.Config.Cfi_assembly_support) { features = append(features, "android_cfi_assembly_support") Loading Loading
bp2build/cc_binary_conversion_test.go +20 −0 Original line number Diff line number Diff line Loading @@ -1126,6 +1126,26 @@ func TestCcBinaryWithCfiAndCfiAssemblySupport(t *testing.T) { }) } func TestCcBinaryExplicitlyDisablesCfiWhenFalse(t *testing.T) { runCcBinaryTestCase(t, ccBinaryBp2buildTestCase{ description: "cc_binary disables cfi when explciitly set to false in the bp", blueprint: ` {rule_name} { name: "foo", sanitize: { cfi: false, }, } `, targets: []testBazelTarget{ {"cc_binary", "foo", AttrNameToString{ "features": `["-android_cfi"]`, "local_includes": `["."]`, }}, }, }) } func TestCcBinaryStem(t *testing.T) { runCcBinaryTestCase(t, ccBinaryBp2buildTestCase{ description: "cc_binary with stem property", Loading
bp2build/cc_library_conversion_test.go +26 −0 Original line number Diff line number Diff line Loading @@ -4839,6 +4839,32 @@ cc_library { }) } func TestCcLibraryExplicitlyDisablesCfiWhenFalse(t *testing.T) { runCcLibraryTestCase(t, Bp2buildTestCase{ Description: "cc_library disables cfi when explciitly set to false in the bp", ModuleTypeUnderTest: "cc_library", ModuleTypeUnderTestFactory: cc.LibraryFactory, Blueprint: ` cc_library { name: "foo", sanitize: { cfi: false, }, } `, ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_static", "foo_bp2build_cc_library_static", AttrNameToString{ "features": `["-android_cfi"]`, "local_includes": `["."]`, }), MakeBazelTarget("cc_library_shared", "foo", AttrNameToString{ "features": `["-android_cfi"]`, "local_includes": `["."]`, }), }, }) } func TestCcLibraryWithStem(t *testing.T) { runCcLibraryTestCase(t, Bp2buildTestCase{ Description: "cc_library with stem property", Loading
bp2build/cc_library_shared_conversion_test.go +20 −0 Original line number Diff line number Diff line Loading @@ -1535,3 +1535,23 @@ cc_library_static { }, }) } func TestCcLibrarySharedExplicitlyDisablesCfiWhenFalse(t *testing.T) { runCcLibrarySharedTestCase(t, Bp2buildTestCase{ Description: "cc_library_shared disables cfi when explciitly set to false in the bp", Blueprint: ` cc_library_shared { name: "foo", sanitize: { cfi: false, }, } `, ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_shared", "foo", AttrNameToString{ "features": `["-android_cfi"]`, "local_includes": `["."]`, }), }, }) }
bp2build/cc_library_static_conversion_test.go +20 −0 Original line number Diff line number Diff line Loading @@ -2165,3 +2165,23 @@ cc_library_static { }, }) } func TestCcLibraryStaticExplicitlyDisablesCfiWhenFalse(t *testing.T) { runCcLibraryStaticTestCase(t, Bp2buildTestCase{ Description: "cc_library_static disables cfi when explciitly set to false in the bp", Blueprint: ` cc_library_static { name: "foo", sanitize: { cfi: false, }, } `, ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_static", "foo", AttrNameToString{ "features": `["-android_cfi"]`, "local_includes": `["."]`, }), }, }) }
cc/bp2build.go +3 −1 Original line number Diff line number Diff line Loading @@ -1787,7 +1787,9 @@ func bp2buildSanitizerFeatures(ctx android.BazelConversionPathContext, m *Module blocklistFeatureSuffix := strings.Replace(strings.ToLower(*blocklist), ".", "_", -1) features = append(features, "ubsan_blocklist_"+blocklistFeatureSuffix) } if proptools.Bool(sanitizerProps.Sanitize.Cfi) { if sanitizerProps.Sanitize.Cfi != nil && !proptools.Bool(sanitizerProps.Sanitize.Cfi) { features = append(features, "-android_cfi") } else if proptools.Bool(sanitizerProps.Sanitize.Cfi) { features = append(features, "android_cfi") if proptools.Bool(sanitizerProps.Sanitize.Config.Cfi_assembly_support) { features = append(features, "android_cfi_assembly_support") Loading