Add EIGEN_CI_CTEST_ARGS to allow for custom timeout.

This commit is contained in:
Antonio Sánchez
2025-02-06 21:32:38 +00:00
parent 4c38131a16
commit 715deac188
9 changed files with 77 additions and 71 deletions

View File

@@ -7,20 +7,23 @@ 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}"
if [[ ${EIGEN_CI_CTEST_REGEX} ]]; then
target="-R ${EIGEN_CI_CTEST_REGEX}"
elif [[ ${EIGEN_CI_CTEST_LABEL} ]]; then
target="-L ${EIGEN_CI_CTEST_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 \
ctest ${EIGEN_CI_CTEST_ARGS} --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
ctest ${EIGEN_CI_CTEST_ARGS} --parallel ${NPROC} \
--output-on-failure --no-compress-output --rerun-failed || \
ctest ${EIGEN_CI_CTEST_ARGS} --parallel ${NPROC} \
--output-on-failure --no-compress-output --rerun-failed
# Return to root directory.
cd ${rootdir}

View File

@@ -7,19 +7,19 @@ $NPROC=${Env:NUMBER_OF_PROCESSORS}
# Set target based on regex or label.
$target = ""
if (${EIGEN_CI_TEST_REGEX}) {
$target = "-R","${EIGEN_CI_TEST_REGEX}"
} elseif (${EIGEN_CI_TEST_LABEL}) {
$target = "-L","${EIGEN_CI_TEST_LABEL}"
if (${EIGEN_CI_CTEST_REGEX}) {
$target = "-R","${EIGEN_CI_CTEST_REGEX}"
} elseif (${EIGEN_CI_CTEST_LABEL}) {
$target = "-L","${EIGEN_CI_CTEST_LABEL}"
}
# 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 -j$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
ctest $EIGEN_CI_CTEST_ARGS -j$NPROC --output-on-failure --no-compress-output --build-no-clean -T test $target || `
ctest $EIGEN_CI_CTEST_ARGS -j$NPROC --output-on-failure --no-compress-output --rerun-failed || `
ctest $EIGEN_CI_CTEST_ARGS -j$NPROC --output-on-failure --no-compress-output --rerun-failed
$success = $LASTEXITCODE

View File

@@ -8,5 +8,7 @@ export EIGEN_CI_BUILDDIR=".build"
export EIGEN_CI_C_COMPILER="clang"
export EIGEN_CI_CXX_COMPILER="clang++"
export EIGEN_CI_TEST_CUSTOM_CXX_FLAGS=""
export EIGEN_CI_TEST_LABEL="Official"
export EIGEN_CI_TEST_REGEX=""
export EIGEN_CI_CTEST_LABEL="Official"
export EIGEN_CI_CTEST_REGEX=""
export EIGEN_CI_CTEST_ARGS=""

View File

@@ -6,5 +6,6 @@ $EIGEN_CI_BUILDDIR = ".build"
$EIGEN_CI_MSVC_ARCH = "x64"
$EIGEN_CI_MSVC_VER = "14.29"
$EIGEN_CI_TEST_CUSTOM_CXX_FLAGS = "/d2ReducedOptimizeHugeFunctions /DEIGEN_STRONG_INLINE=inline /Os"
$EIGEN_CI_TEST_LABEL = "Official"
$EIGEN_CI_TEST_REGEX = ""
$EIGEN_CI_CTEST_LABEL = "Official"
$EIGEN_CI_CTEST_REGEX = ""
$EIGEN_CI_CTEST_ARGS = ""