entrypoint: fix pausing after test failure

The --pause option for the entrypoint script is useful for interactive
debugging after a test failure, but the script was not pausing if the
test suite failed. Add code to explicitly handle test failures including
pausing.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
This commit is contained in:
John Mulligan 2020-02-03 14:32:48 -05:00 committed by Niels de Vos
parent 691cd8d99b
commit 7790594ee4

View File

@ -51,6 +51,13 @@ while true ; do
esac
done
test_failed() {
local pkg="$1"
echo "*** ERROR: ${pkg} tests failed"
pause_if_needed
return 1
}
test_pkg() {
local pkg="$1"
if [[ "$TEST_PKG" && "$TEST_PKG" != "$pkg" ]]; then
@ -67,7 +74,9 @@ test_pkg() {
fi
go test -v "${testargs[@]}" "./$pkg"
ret=$?
grep -v "^mode: count" "$pkg.cover.out" >> "cover.out"
return ${ret}
}
pre_all_tests() {
@ -105,13 +114,14 @@ test_go_ceph() {
)
pre_all_tests
for pkg in "${pkgs[@]}"; do
test_pkg "$pkg"
test_pkg "$pkg" || test_failed "$pkg"
done
post_all_tests
}
pause_if_needed() {
if [[ ${PAUSE} = yes ]]; then
echo "*** pausing execution"
sleep infinity
fi
}