chiark
/
gitweb
/
~ianmdlvl
/
dgit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
dgit clone: No longer create an "origin" remote
[dgit.git]
/
tests
/
run-all
diff --git
a/tests/run-all
b/tests/run-all
index c93017192ee428ee1135b133bc39ea4c1f7808b7..736e0fe0a9189a42ef7295648a3630305085b10b 100755
(executable)
--- 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/*]
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
set -o pipefail
@@
-17,13
+20,36
@@
done
ncpus=$(nproc || echo 1)
jcpus=-j$(( ncpus * 134 / 100 ))
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
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 ||: )
export DGIT_GNUPG_STUNT_ERRLOG=$( tty -s ||: )