summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorGabi Falk <gabifalk@gmx.com>2024-04-15 08:00:00 +0000
committerSam James <sam@gentoo.org>2024-04-16 02:38:48 +0100
commitb91c99d07e33c296a23e3b18b2658b81815b6b31 (patch)
treeb4e68aba3e76394b6512dfdf0964833724c3b68f /eclass
parenttoolchain.eclass: do not ignore a baseline with GCC_TESTS_IGNORE_NO_BASELINE (diff)
downloadgentoo-b91c99d07e33c296a23e3b18b2658b81815b6b31.tar.gz
gentoo-b91c99d07e33c296a23e3b18b2658b81815b6b31.tar.bz2
gentoo-b91c99d07e33c296a23e3b18b2658b81815b6b31.zip
toolchain.eclass: always generate a new test-suite baseline manifest
Previously, a new baseline was generated only in cases of test suite success or when GCC_TESTS_IGNORE_NO_BASELINE was enabled. After this change, if there is a test suite regression, users will have the option to copy the new baseline file to the cache if they choose to tolerate the regression. Additionally, the toolchain_pkg_preinst() function will update the baseline automatically if the package is built with the FEATURES=test-fail-continue setting. Signed-off-by: Gabi Falk <gabifalk@gmx.com> Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'eclass')
-rw-r--r--eclass/toolchain.eclass16
1 files changed, 9 insertions, 7 deletions
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 37a806e1c800..786d65da2d9a 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1908,6 +1908,15 @@ toolchain_src_test() {
# 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}"
+ # Produce an updated failure manifest.
+ einfo "Generating a new failure manifest ${T}/${CHOST}.xfail"
+ rm -f "${T}"/${CHOST}.xfail
+ edo "${T}"/validate_failures.py \
+ --srcpath="${S}" \
+ --build_dir="${WORKDIR}"/build \
+ --manifest="${T}"/${CHOST}.xfail \
+ --produce_manifest &> /dev/null
+
if [[ -f "${GCC_TESTS_COMPARISON_DIR}/${GCC_TESTS_COMPARISON_SLOT}/${CHOST}.xfail" ]] ; then
# TODO: Distribute some baseline results in e.g. gcc-patches.git?
# validate_failures.py manifest files support include directives.
@@ -1936,13 +1945,6 @@ toolchain_src_test() {
die "Tests failed (failures occurred with no reference data)"
fi
fi
-
- # Produce an updated set of expected results
- edo "${T}"/validate_failures.py \
- --srcpath="${S}" \
- --build_dir="${WORKDIR}"/build \
- --manifest="${T}"/${CHOST}.xfail \
- --produce_manifest &> /dev/null
}
#---->> src_install <<----