mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-04-18 15:49:37 +08:00
31 lines
1.1 KiB
PowerShell
31 lines
1.1 KiB
PowerShell
# Change to build directory.
|
|
$rootdir = Get-Location
|
|
cd $EIGEN_CI_BUILDDIR
|
|
|
|
# Determine number of processors for parallel tests.
|
|
$NPROC=${Env:NUMBER_OF_PROCESSORS}
|
|
|
|
# Set target based on regex or label.
|
|
$target = ""
|
|
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 $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
|
|
|
|
# Return to root directory.
|
|
cd ${rootdir}
|
|
|
|
# Explicitly propagate exit code to indicate pass/failure of test command.
|
|
if($success -ne 0) { Exit $success }
|