summaryrefslogtreecommitdiff
path: root/tests/lib
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2017-01-08 13:40:14 +0000
committerIan Jackson <ijackson@chiark.greenend.org.uk>2017-01-08 20:10:51 +0000
commitf897c3996411b844e971d66171c1e1aa290a6f24 (patch)
tree2b8cbf812afd83c6be02f21f774438213ed43e06 /tests/lib
parent7568f425b03445a30c11dec64266bc6b3123c3b3 (diff)
test suite: Generalise DGIT_TEST_REAL_<FOO> handling
No overall functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Diffstat (limited to 'tests/lib')
-rw-r--r--tests/lib31
1 files changed, 29 insertions, 2 deletions
diff --git a/tests/lib b/tests/lib
index 50d614e..993ec36 100644
--- a/tests/lib
+++ b/tests/lib
@@ -789,12 +789,41 @@ t-stunt-envvar () {
'
}
+t-tstunt--save-real () {
+ local f="$1"
+ case "$f" in
+ */*) return ;;
+ esac
+
+ local rc
+ local real
+ set +e
+ real=$(type -p "$f")
+ rc=$?
+ set -e
+
+ case $rc in
+ 1) return ;;
+ 0) ;;
+ *) fail "did not find $f on PATH $PATH" ;;
+ esac
+
+ local varname=${f//[^_0-9a-zA-Z]/_}
+ varname=DGIT_TEST_REAL_${varname^^}
+
+ eval "
+ : \${$varname:=\$real}
+ export $varname
+ "
+}
+
t-tstunt () {
local tstunt=$tmp/tstunt
t-stunt-envvar PATH $tstunt
t-stunt-envvar PERLLIB $tstunt
local f
for f in "$@"; do
+ t-tstunt--save-real $f
f="./$f"
local d="$tstunt/${f%/*}"
mkdir -p $d
@@ -811,8 +840,6 @@ t-tstunt-lintian () {
}
t-tstunt-debuild () {
- : ${DGIT_TEST_REAL_DEBUILD:=$(type -p debuild)}
- export DGIT_TEST_REAL_DEBUILD
t-tstunt debuild
}