#! /bin/bash
#
# Run a test in tap mode, ensuring we have a temporary directory.
#
# The test binary is passed as $1

srcd=$(cd $(dirname $1) && pwd)
bn=$(basename $1)
shift
tempdir=$(mktemp -d /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
        rm "${tempdir}" -rf
    fi
    fi
}
trap cleanup EXIT
cd ${tempdir}
if [[ $bn == *.wrap ]]; then
    WRAPPER=${srcd}/test-wrapper.sh
fi
$WRAPPER ${srcd}/${bn} -k --tap "$@"
