commit: 6df977928704e77d2f672d3890ceadc8ba837ab5
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 8 10:04:02 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Aug 8 10:05:21 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6df97792
toolchain.eclass: more src_test flag fixes
We ended up not running many tests because it got interpreted as '--Werror'
with the braces/splitting (e.g. rust and such got skipped entirely).
With this change, we seem to be nearly there although we have issues
with Fortran tests that have C for interop because we get the unsupported
arg warnings...
Fixes: 5ca076594ad47b8347ebc9fd69b467a95846d005
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 41 ++++++++++++++++++++++++++---------------
1 file changed, 26 insertions(+), 15 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 550845b7dd47..86a29f5aacb8 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1924,9 +1924,14 @@ toolchain_src_test() {
# Use a subshell to allow meddling with flags just for the testsuite
(
+ # Unexpected warnings confuse the tests.
+ filter-flags -W*
+
# Workaround our -Wformat-security default which breaks
# various tests as it adds unexpected warning output.
- append-flags -Wno-format-security -Wno-format
+ # (Only for C/C++ here to avoid noise for Fortran.)
+ append-cflags -Wno-format-security -Wno-format
+ append-cxxflags -Wno-format-security -Wno-format
# Workaround our -Wtrampolines default which breaks
# tests too.
append-flags -Wno-trampolines
@@ -1948,24 +1953,30 @@ toolchain_src_test() {
filter-flags -Wbuiltin-declaration-mismatch
# TODO: Does this handle s390 (-m31) correctly?
- is_multilib && GCC_TESTS_RUNTESTFLAGS+="
--target_board=unix\{,-m32\}"
-
- GCC_TESTS_RUNTESTFLAGS=(
- "${GCC_TESTS_RUNTESTFLAGS}"
- CFLAGS_FOR_TARGET="${CFLAGS_FOR_TARGET:-${CFLAGS}}"
-
CXXFLAGS_FOR_TARGET="${CXXFLAGS_FOR_TARGET:-${CXXFLAGS}}"
- LDFLAGS_FOR_TARGET="${LDFLAGS_FOR_TARGET:-${LDFLAGS}}"
- CFLAGS="${CFLAGS}"
- CXXFLAGS="${CXXFLAGS}"
- FCFLAGS="${FCFLAGS}"
- FFLAGS="${FFLAGS}"
- LDFLAGS="${LDFLAGS}"
- )
+ is_multilib && GCC_TESTS_RUNTESTFLAGS+="
--target_board=unix{,-m32}"
# nonfatal here as we die if the comparison below fails. Also,
note that
# the exit code of targets other than 'check' may be unreliable.
nonfatal emake -C "${WORKDIR}"/build -k
"${GCC_TESTS_CHECK_TARGET}" \
- RUNTESTFLAGS="${GCC_TESTS_RUNTESTFLAGS[*]}"
+ RUNTESTFLAGS=" \
+ ${GCC_TESTS_RUNTESTFLAGS} \
+
CFLAGS_FOR_TARGET='${CFLAGS_FOR_TARGET:-${CFLAGS}}' \
+
CXXFLAGS_FOR_TARGET='${CXXFLAGS_FOR_TARGET:-${CXXFLAGS}}' \
+
LDFLAGS_FOR_TARGET='${LDFLAGS_FOR_TARGET:-${LDFLAGS}}' \
+ CFLAGS='${CFLAGS}' \
+ CXXFLAGS='${CXXFLAGS}' \
+ FCFLAGS='${FCFLAGS}' \
+ FFLAGS='${FFLAGS}' \
+ LDFLAGS='${LDFLAGS}' \
+ " \
+ CFLAGS_FOR_TARGET="${CFLAGS_FOR_TARGET:-${CFLAGS}}" \
+
CXXFLAGS_FOR_TARGET="${CXXFLAGS_FOR_TARGET:-${CXXFLAGS}}" \
+ LDFLAGS_FOR_TARGET="${LDFLAGS_FOR_TARGET:-${LDFLAGS}}" \
+ CFLAGS="${CFLAGS}" \
+ CXXFLAGS="${CXXFLAGS}" \
+ FCFLAGS="${FCFLAGS}" \
+ FFLAGS="${FFLAGS}" \
+ LDFLAGS="${LDFLAGS}"
)
# Produce an updated failure manifest.