chiark / gitweb /
test suite: lib: Provide $tmp/must-clean directory to tests
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 25 Jul 2019 18:01:44 +0000 (19:01 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 10 Aug 2019 23:09:27 +0000 (00:09 +0100)
This is a directory for things which should be removed on exit.
Currently there are none.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
tests/lib

index 78ec9a712153d56b8a349532d6e18fc106cd48e5..6f36130007d3aa2450f754b89202e6f41b4c1bc6 100644 (file)
--- a/tests/lib
+++ b/tests/lib
@@ -22,7 +22,13 @@ END
        exit 16
 }
 
-trap 'test $? = 0 || t-report-failure' EXIT
+trap '
+       rc=$?
+       set +e
+       [ "x$DGIT_TEST_TMP" = x ] || rm -rf $DGIT_TEST_TMP/must-clean
+       set -e
+       test $rc = 0 || t-report-failure
+' EXIT
 
 t-filter-out-git-hyphen-dir
 
@@ -74,6 +80,11 @@ export DEBCHANGE_VENDOR=dpkg
 unset VISUAL
 unset GIT_EDITOR
 
+mkdir -p $tmp/must-clean
+# must-clean is usually removed after each test, on success or failure.
+# But this must not be relied on for correctness, only for garbage
+# collection etc.
+
 mkdir -p $tmp/incoming
 cat <<END >$tmp/dput.cf
 [test-dummy]
@@ -573,6 +584,8 @@ t-setup-import () {
                (set -e; cd $tmp; tar xf "$simport.tar")
        fi
 
+       mkdir -p $tmp/must-clean
+
        . "$simport"
 }