summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2018-09-17 20:12:59 -0700
committerEdward Thomson <ethomson@edwardthomson.com>2018-09-29 18:11:37 +0100
commit429c7f1141f812d266cfd7d33a142871c21f8874 (patch)
tree423fa6b5210de114a86add2990e6a3f8b295e898
parent7c9769d94799c7bc6341d64e18bbd13bc8993ad6 (diff)
downloadlibgit2-ethomson/ci-refactor.tar.gz
ci: don't stop on failureethomson/ci-refactor
Don't stop on test failures; run all the tests, even when a test fails.
-rw-r--r--ci/test.ps15
-rwxr-xr-xci/test.sh20
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