commit:     b91c99d07e33c296a23e3b18b2658b81815b6b31
Author:     Gabi Falk <gabifalk <AT> gmx <DOT> com>
AuthorDate: Mon Apr 15 08:00:00 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Apr 16 01:38:48 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b91c99d0

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 <AT> gmx.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/toolchain.eclass | 16 +++++++++-------
 1 file 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 <<----

Reply via email to