Merge "Add test that LTO isn't propagated to runtime_libs"

This commit is contained in:
Trevor Radcliffe 2023-02-14 17:09:03 +00:00 committed by Gerrit Code Review
commit 0620c7c56a

View file

@ -209,3 +209,33 @@ func TestLtoDisabledButEnabledForArch(t *testing.T) {
android.AssertStringDoesNotContain(t, "got flag for LTO in variant that doesn't expect it",
libFooWithoutLto.Args["ldFlags"], "-flto=thin")
}
func TestLtoDoesNotPropagateToRuntimeLibs(t *testing.T) {
t.Parallel()
bp := `
cc_library {
name: "runtime_libbar",
srcs: ["bar.c"],
}
cc_library {
name: "libfoo",
srcs: ["foo.c"],
runtime_libs: ["runtime_libbar"],
lto: {
thin: true,
},
}`
result := android.GroupFixturePreparers(
prepareForCcTest,
).RunTestWithBp(t, bp)
libFoo := result.ModuleForTests("libfoo", "android_arm_armv7-a-neon_shared").Rule("ld")
libBar := result.ModuleForTests("runtime_libbar", "android_arm_armv7-a-neon_shared").Rule("ld")
android.AssertStringDoesContain(t, "missing flag for LTO in LTO enabled library",
libFoo.Args["ldFlags"], "-flto=thin")
android.AssertStringDoesNotContain(t, "got flag for LTO in runtime_lib",
libBar.Args["ldFlags"], "-flto=thin")
}