summaryrefslogtreecommitdiff
path: root/tests/run-all
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2018-09-03 21:28:39 -0700
committerSean Whitton <spwhitton@spwhitton.name>2018-09-03 21:28:39 -0700
commitcc704da52293859135140d783697360b55ea34a5 (patch)
tree7ca5bdb2177cb05a798d4ac8d292057a2c3abcf1 /tests/run-all
parent29176533eff12cd3e90e3a3ce60e59ec1077b2ac (diff)
parent80660b109ae671e5164c6738919f34db06719236 (diff)
Merge tag 'debian/6.11' into stretch-bpo
dgit release 6.11 for unstable (sid) [dgit] [dgit distro=debian] # gpg: Signature made Sun 26 Aug 2018 01:58:34 PM MST # gpg: using RSA key 559AE46C2D6B6D3265E7CBA1E3E3392348B50D39 # gpg: Can't check signature: No public key
Diffstat (limited to 'tests/run-all')
-rwxr-xr-xtests/run-all34
1 files changed, 30 insertions, 4 deletions
diff --git a/tests/run-all b/tests/run-all
index c930171..736e0fe 100755
--- a/tests/run-all
+++ b/tests/run-all
@@ -2,6 +2,9 @@
set -e
# convenience script for running the tests outside adt-run
# usage: tests/using-intree tests/run-all [-p|--progressive] [tests/tests/*]
+#
+# passing `:' as if it were tests/tests/something is
+# a no-op and therefore just means to (delete and) set up the tmpdir
set -o pipefail
@@ -17,13 +20,36 @@ done
ncpus=$(nproc || echo 1)
jcpus=-j$(( ncpus * 134 / 100 ))
-if [ $# != 0 ]; then
- set TESTSCRIPTS="$*"
+if [ "x$DGIT_TESTS_TMPDIR" != x ]; then
+ tmpdir="$PWD"
+ tmpdir="${tmpdir#/}"
+ tmpdir="${tmpdir//!/!#!}"
+ tmpdir="${tmpdir//\//!}"
+ tmpdir="$DGIT_TESTS_TMPDIR/$tmpdir"
+ rm -f tests/tmp
+ ln -ns -- "$tmpdir" tests/tmp
+else
+ tmpdir=tests/tmp
fi
-mkdir -p tests/tmp
+case "$DGIT_TESTS_PROGRESSIVE" in
+''|n)
+ rm -rf -- "$tmpdir"
+ ;;
+esac
+
+mkdir -p -- "$tmpdir"
+
+case "$1" in
+:)
+ shift
+ if [ $# = 0 ]; then exit 0; fi
+ ;;
+esac
-${DGIT_TESTS_PROGRESSIVE+:} rm -f tests/tmp/*.ok
+if [ $# != 0 ]; then
+ set TESTSCRIPTS="$*"
+fi
export DGIT_GNUPG_STUNT_ERRLOG=$( tty -s ||: )