From 1c5a2c8bcc96b8bdfc5186d75953dfabd4b3842a Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Tue, 21 Jan 2025 18:23:08 +0000 Subject: oeqa/poisoning: fix gcc include poisoning test The test code in poison was flawed: as long as one CPP/CC/CXX has fatal poisoning enabled then the test passes. However, at the moment due to a bad rebase only CPP has fatal poisoning and CC/CXX do not. Rewrite the do_compile() task to more carefully check the output so the test harness itself just has to bitbake the recipe. Note that this results in the test failing: ERROR: poison-1.0-r0 do_compile: C Compiler is not poisoned. Exit status 0, output: cc1: warning: include location "/usr/include" is unsafe for cross-compilation [-Wpoison-system-directories] ERROR: poison-1.0-r0 do_compile: C++ Compiler is not poisoned. Exit status 0, output: cc1plus: warning: include location "/usr/include" is unsafe for cross-compilation [-Wpoison-system-directories] (From OE-Core rev: 5b413d1fdb4bdbaec86d630bb52c3ccf68aae789) Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/lib/oeqa/selftest/cases/buildoptions.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'meta') diff --git a/meta/lib/oeqa/selftest/cases/buildoptions.py b/meta/lib/oeqa/selftest/cases/buildoptions.py index 09272314bb..b509bcf951 100644 --- a/meta/lib/oeqa/selftest/cases/buildoptions.py +++ b/meta/lib/oeqa/selftest/cases/buildoptions.py @@ -234,6 +234,5 @@ PREMIRRORS = "\\ class Poisoning(OESelftestTestCase): def test_poisoning(self): - res = bitbake("poison", ignore_status=True) - self.assertNotEqual(res.status, 0) - self.assertTrue("is unsafe for cross-compilation" in res.output) + # The poison recipe fails if the poisoning didn't work + bitbake("poison") -- cgit v1.2.3-54-g00ecf