Fix epytest to call `die -n` after performing the cleanup, rather than
before.  This ensures that stray cache files are cleaned up even if
we're actually going to die, e.g. when using
`FEATURES=test-fail-continue`.

Signed-off-by: Michał Górny <mgo...@gentoo.org>
---
 eclass/python-utils-r1.eclass | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index 584ed831f816..f6ee6a39a1c7 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -1444,7 +1444,7 @@ epytest() {
        set -- "${EPYTHON}" -m pytest "${args[@]}" "${@}" ${EPYTEST_FLAGS}
 
        echo "${@}" >&2
-       "${@}" || die -n "pytest failed with ${EPYTHON}"
+       "${@}"
        local ret=${?}
 
        # remove common temporary directories left over by pytest plugins
@@ -1455,6 +1455,7 @@ epytest() {
                find "${BUILD_DIR}" -name '*-pytest-*.pyc' -delete || die
        fi
 
+       [[ ${ret} -ne 0 ]] && die -n "pytest failed for ${EPYTHON}"
        return ${ret}
 }
 
-- 
2.45.1


Reply via email to