diff options
-rw-r--r-- | ci/test.ps1 | 5 | ||||
-rwxr-xr-x | ci/test.sh | 20 |
2 files changed, 17 insertions, 8 deletions
diff --git a/ci/test.ps1 b/ci/test.ps1 index 5f75c0b62..7a55bff79 100644 --- a/ci/test.ps1 +++ b/ci/test.ps1 @@ -7,6 +7,7 @@ $PSDefaultParameterValues['*:ErrorAction'] = 'Stop' $SourceDir = Split-Path (Split-Path (Get-Variable MyInvocation).Value.MyCommand.Path) $BuildDir = Get-Location +$Success = $true if ($Env:SKIP_TESTS) { exit } @@ -24,7 +25,7 @@ function run_test { Write-Host $TestCommand Invoke-Expression $TestCommand - if ($LastExitCode -ne 0) { [Environment]::Exit($LastExitCode) } + if ($LastExitCode -ne 0) { $Success = $false } } Write-Host "##############################################################################" @@ -67,3 +68,5 @@ if (-not $Env:SKIP_PROXY_TESTS) { taskkill /F /IM javaw.exe } + +if (-not $Success) { exit 1 } diff --git a/ci/test.sh b/ci/test.sh index 0f8fc8783..e50e6fa9e 100755 --- a/ci/test.sh +++ b/ci/test.sh @@ -11,6 +11,8 @@ BUILD_DIR=$(pwd) TMPDIR=${TMPDIR:-/tmp} USER=${USER:-$(whoami)} +SUCCESS=1 + VALGRIND="valgrind --leak-check=full --show-reachable=yes --error-exitcode=125 --num-callers=50 --suppressions=\"$SOURCE_DIR/libgit2_clar.supp\"" LEAKS="MallocStackLogging=1 MallocScribble=1 leaks -quiet -atExit -- nohup" @@ -30,11 +32,9 @@ cleanup() { echo "Done." } -die() { +failure() { echo "Test exited with code: $1" - - cleanup - exit $1 + SUCCESS=0 } # Ask ctest what it would run if we were to invoke it directly. This lets @@ -54,7 +54,7 @@ run_test() { RUNNER="$TEST_CMD" fi - eval $RUNNER || die $? + eval $RUNNER || failure } # Configure the test environment; run them early so that we're certain @@ -194,10 +194,16 @@ if [ -z "$SKIP_FUZZERS" ]; then echo "##############################################################################" for fuzzer in fuzzers/*_fuzzer; do - "${fuzzer}" "${SOURCE_DIR}/fuzzers/corpora/$(basename "${fuzzer%_fuzzer}")" || die $? + "${fuzzer}" "${SOURCE_DIR}/fuzzers/corpora/$(basename "${fuzzer%_fuzzer}")" || failure done fi -echo "Success." cleanup + +if [ "$SUCCESS" -ne "1" ]; then + echo "Some tests failed." + exit 1 +fi + +echo "Success." exit 0 |