From: Ross Burton Date: Wed, 7 Sep 2022 13:02:05 +0000 (+0100) Subject: meta-selftest/poison: improve sysroot poisoning test case X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~3029 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3ff9e67e278f6548952592675fc88ba41d1a8e96;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git meta-selftest/poison: improve sysroot poisoning test case 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=poison-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 Signed-off-by: Richard Purdie --- 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/include - + bbnote Testing C++ compiler + echo "int main(int argc, char** argv) {}" | ${CC} -x c++ -I/usr/include - } EXCLUDE_FROM_WORLD = "1"