tests: Support TEST_SKIP_CLEANUP=err

I find myself often wanting to debug interactively failing tests.
This makes it more convenient to keep around the temporary directories
just for those tests, rather than accumulating tons of tempdirs from
the successful tests as well.

Closes: #588
Approved by: jlebon
This commit is contained in:
Colin Walters authored and Atomic Bot committed 2016-11-21 16:11:55 +00:00
1 parent 41ef2aeb38
commit a6eb8bbcf6
1 file changed
+16 -5
+16 -5
View File
@@ -11,13 +11,24 @@ bn=$(basename $1)
tempdir=$(mktemp -d /var/tmp/tap-test.XXXXXX)
touch ${tempdir}/.testtmp
function cleanup () {
if test -n "${TEST_SKIP_CLEANUP:-}"; then
echo "Skipping cleanup of ${tempdir}"
else if test -f ${tempdir}/.testtmp; then
if test -f ${tempdir}/.testtmp; then
rm "${tempdir}" -rf
fi
fi
}
trap cleanup EXIT
function skip_cleanup() {
echo "Skipping cleanup of ${tempdir}"
}
cd ${tempdir}
${srcd}/${bn} -k --tap
rc=$?
case "${TEST_SKIP_CLEANUP:-}" in
no|"") cleanup ;;
err)
if test $rc != 0; then
skip_cleanup
else
cleanup
fi ;;
*) skip_cleanup ;;
esac
exit $rc