diff options
author | Thomas Bracht Laumann Jespersen <t@laumann.xyz> | 2022-07-07 10:27:21 +0200 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-07-12 07:56:26 +0100 |
commit | 6a37ee83a847c9e108e140c1445dc261d5e3253a (patch) | |
tree | db0ad0126acc888a4e61686f46fbe02043182c01 /media-libs/openjpeg | |
parent | app-office/gtg: add missing gtksourceview dep (diff) | |
download | gentoo-6a37ee83a847c9e108e140c1445dc261d5e3253a.tar.gz gentoo-6a37ee83a847c9e108e140c1445dc261d5e3253a.tar.bz2 gentoo-6a37ee83a847c9e108e140c1445dc261d5e3253a.zip |
media-libs/openjpeg: rework testing phase
Instead of running all the test, and filtering for failures, collect the
names of all known failures and skip them.
Closes: https://bugs.gentoo.org/856505
Signed-off-by: Thomas Bracht Laumann Jespersen <t@laumann.xyz>
Closes: https://github.com/gentoo/gentoo/pull/26256
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-libs/openjpeg')
-rw-r--r-- | media-libs/openjpeg/openjpeg-2.5.0-r2.ebuild | 63 |
1 files changed, 12 insertions, 51 deletions
diff --git a/media-libs/openjpeg/openjpeg-2.5.0-r2.ebuild b/media-libs/openjpeg/openjpeg-2.5.0-r2.ebuild index b7f5f6918adf..d4f51290425f 100644 --- a/media-libs/openjpeg/openjpeg-2.5.0-r2.ebuild +++ b/media-libs/openjpeg/openjpeg-2.5.0-r2.ebuild @@ -74,67 +74,28 @@ multilib_src_test() { return 0 fi - local myctestargs= - pushd "${BUILD_DIR}" > /dev/null || die [[ -e CTestTestfile.cmake ]] || die "Test suite not available! Check source!" - if [[ -n ${TEST_VERBOSE} ]]; then - myctestargs+=( --extra-verbose --output-on-failure ) - fi - - echo ctest "${myctestargs[@]}" - if ctest "${myctestargs[@]}" ; then - popd > /dev/null || die - einfo "Tests succeeded." - return 0 - fi - - local FAILEDTEST_LOG="${BUILD_DIR}/Testing/Temporary/LastTestsFailed.log" - - # Should never happen - [[ -f "${FAILEDTEST_LOG}" ]] || die "Cannot analyze test failures: LastTestsFailed.log is missing!" - - elog elog "Note: Upstream maintains a list of known test failures." - elog "We will now compare our test results against this list and remove any known failures." + elog "We collect all the known failures and skip them." elog - local KNOWN_FAILURES_LIST="${T}/known_failures_compiled.txt" - cp "${S}/tools/travis-ci/knownfailures-all.txt" "${KNOWN_FAILURES_LIST}" || die - - local ARCH_SPECIFIC_FAILURES= + local toskip=( "${S}"/tools/travis-ci/knownfailures-all.txt ) if use amd64 ; then - ARCH_SPECIFIC_FAILURES="$(find "${S}/tools/travis-ci/" -name 'knownfailures-*x86_64*.txt' -print0 | sort -z | tail -z -n 1 | tr -d '\0')" + toskip+=( "${S}"/tools/travis-ci/knownfailures-*x86_64*.txt ) elif use x86 || use arm || use arm64; then - ARCH_SPECIFIC_FAILURES="$(find "${S}/tools/travis-ci/" -name 'knownfailures-*i386*.txt' -print0 | sort -z | tail -z -n 1 | tr -d '\0')" - fi - - if [[ -f "${ARCH_SPECIFIC_FAILURES}" ]]; then - elog "Adding architecture specific failures (${ARCH_SPECIFIC_FAILURES}) to known failures list ..." - elog - <"${ARCH_SPECIFIC_FAILURES}" >> "${KNOWN_FAILURES_LIST}" || die + toskip+=( "${S}"/tools/travis-ci/knownfailures-*i386*.txt ) fi - # Logic copied from $S/tools/travis-ci/run.sh - local FAILEDTEST= - local HAS_UNKNOWN_TEST_FAILURES=0 - - while read FAILEDTEST; do - # is this failure known? - if grep -xq "${FAILEDTEST}" "${KNOWN_FAILURES_LIST}" ; then - elog "Test '${FAILEDTEST}' is known to fail, ignoring ..." - else - eerror "New/unknown test failure found: '${FAILEDTEST}'" - HAS_UNKNOWN_TEST_FAILURES=1 - fi - done < <(awk -F: '{ print $2 }' "${FAILEDTEST_LOG}") - - [[ ${HAS_UNKNOWN_TEST_FAILURES} -eq 0 ]] || die "Test suite failed. New/unknown test failure(s) found!" + local exp=$(sort "${toskip[@]}" | uniq | tr '\n' '|'; assert) + popd > /dev/null || die - elog - elog "Test suite passed. No new/unknown test failure(s) found!" + local myctestargs=() + if [[ -n ${TEST_VERBOSE} ]]; then + myctestargs+=( --extra-verbose --output-on-failure ) + fi + myctestargs+=( -E "(${exp::-1})" ) - popd > /dev/null || die - return 0 + cmake_src_test } |