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.

(From OE-Core rev: 3ff9e67e278f6548952592675fc88ba41d1a8e96)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton
2022-09-07 14:02:05 +01:00
committed by Richard Purdie
parent bcdba1a56f
commit 8cbbc0ac7d

View File

@@ -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"