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 2016-11-18 15:07:52 -05:00 committed by Atomic Bot
parent 41ef2aeb38
commit a6eb8bbcf6
1 changed files with 16 additions and 5 deletions

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