eigen/ci/scripts/test.linux.script.sh

29 lines
842 B
Bash

#!/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