| #!/bin/bash |
| |
| set -x |
| |
| # Enter build directory. |
| rootdir=`pwd` |
| cd ${EIGEN_CI_BUILDDIR} |
| |
| target="" |
| if [[ ${EIGEN_CI_TEST_REGEX} ]]; then |
| target="-R ${EIGEN_CI_TEST_REGEX}" |
| elif [[ ${EIGEN_CI_TEST_LABEL} ]]; then |
| target="-L ${EIGEN_CI_TEST_LABEL}" |
| fi |
| |
| # Repeat tests up to three times to ignore flakes. Do not re-run with -T test, |
| # otherwise we lose test results for those that passed. |
| # Note: starting with CMake 3.17, we can use --repeat until-pass:3, but we have |
| # no way of easily installing this on ppc64le. |
| ctest --parallel ${NPROC} --output-on-failure --no-compress-output \ |
| --build-no-clean -T test ${target} || \ |
| ctest -j${NPROC} --output-on-failure --no-compress-output --rerun-failed || \ |
| ctest -j${NPROC} --output-on-failure --no-compress-output --rerun-failed |
| |
| # Return to root directory. |
| cd ${rootdir} |
| |
| set +x |