[PATCH 1/3] meta-selftest/poison: improve sysroot poisoning test case


Ross Burton
 

It was discovered by Martin Jansa that the sysroot poisoning errors are
not functioning as they should. Due to either a bug from day 1 or a
bad rebase, -Werror=3Dpoison-system-directories is only passed when GCC
is invoking _just_ the preprocessor, not the compiler.

Demonstrate this by expanding the test case to exercise not just $CPP,
but also $CC for both C and C++ languages. This improved test case now
fails.

Signed-off-by: Ross Burton <ross.burton@...>
---
meta-selftest/recipes-test/poison/poison.bb | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/meta-selftest/recipes-test/poison/poison.bb b/meta-selftest/=
recipes-test/poison/poison.bb
index 7ace901cc3a..e9eee0cdbab 100644
--- a/meta-selftest/recipes-test/poison/poison.bb
+++ b/meta-selftest/recipes-test/poison/poison.bb
@@ -9,8 +9,12 @@ inherit nopackages
# will result in compiler errors. This recipe should will fail to build=
and
# oe-selftest has a test that verifies that.
do_compile() {
- touch empty.c
- ${CPP} ${CFLAGS} -I/usr/include empty.c
+ bbnote Testing preprocessor
+ echo "int main(int argc, char** argv) {}" | ${CPP} -I/usr/include -
+ bbnote Testing C compiler
+ echo "int main(int argc, char** argv) {}" | ${CC} -x c -I/usr/includ=
e -
+ bbnote Testing C++ compiler
+ echo "int main(int argc, char** argv) {}" | ${CC} -x c++ -I/usr/incl=
ude -
}
=20
EXCLUDE_FROM_WORLD =3D "1"
--=20
2.34.1

Join openembedded-core@lists.openembedded.org to automatically receive all group messages.