libeigen/eigen!2509 Closes #2868 Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
43 lines
1.1 KiB
PowerShell
43 lines
1.1 KiB
PowerShell
# Change to build directory.
|
|
# SPDX-FileCopyrightText: The Eigen Authors
|
|
# SPDX-License-Identifier: MPL-2.0
|
|
$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}"
|
|
}
|
|
|
|
$ctest_cmd = { ctest ${EIGEN_CI_CTEST_ARGS} --parallel ${NPROC} --output-on-failure --no-compress-output --build-noclean ${target} @args }
|
|
|
|
Write-Host "Running initial tests..."
|
|
|
|
& $ctest_cmd "-T" "test"
|
|
$exit_code = $LASTEXITCODE
|
|
|
|
if ($exit_code -eq 0) {
|
|
Write-Host "Tests passed on the first attempt."
|
|
}
|
|
else {
|
|
Write-Host "Initial tests failed with exit code $exit_code. Retrying up to $EIGEN_CI_CTEST_REPEAT times..."
|
|
& $ctest_cmd "--rerun-failed" "--repeat" "until-pass:$EIGEN_CI_CTEST_REPEAT"
|
|
$exit_code = $LASTEXITCODE
|
|
|
|
if ($exit_code -eq 0) {
|
|
Write-Host "Tests passed on retry."
|
|
$exit_code = 42
|
|
}
|
|
}
|
|
|
|
# Return to root directory.
|
|
cd ${rootdir}
|
|
|
|
Exit $exit_code
|