chiark / gitweb /
test suite: Arrange not to overwrite .save-env on t-chain-test
[dgit.git] / tests / lib
index 4f6f3078a9d15e099e86e47952670ac5f4f35637..7023dbfab7ce5e45a9a2175a4de7d4e0c567612b 100644 (file)
--- a/tests/lib
+++ b/tests/lib
@@ -28,6 +28,8 @@ t-set-intree
 : ${DGIT_TEST_DEBUG=-D}
 export DGIT_TEST_DEBUG
 
+: ${DGIT_TEST_DISTRO+ ${distro=${DGIT_TEST_DISTRO}}}
+
 export GIT_COMMITTER_DATE='1440253867 +0100'
 export GIT_AUTHOR_DATE='1440253867 +0100'
 
@@ -51,6 +53,7 @@ tmp=`pwd`
 
 t-set-using-tmp
 
+test -f $tmp/.save-env || \
 env -0 >$tmp/.save-env
 
 ln -f $troot/ssh ssh
@@ -392,6 +395,7 @@ t-fscks () {
 }
 
 t-ok () {
+       : '========================================'
        t-fscks
        echo ok.
 }
@@ -406,7 +410,7 @@ t-dgit () {
        : '
 {{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{'
        $dgit --dgit=$dgit --dget:-u --dput:--config=$tmp/dput.cf \
              --config-lookup-explode=dgit-distro.debian.alias-canon \
${dgit_config_debian_alias-"--config-lookup-explode=dgit-distro.debian.alias-canon"} \
                ${distro--dtest-dummy} ${distro+${distro:+-d}${distro}} \
                $DGIT_TEST_OPTS $DGIT_TEST_DEBUG \
                -k39B13D8A $t_dgit_xopts "$@"
@@ -777,6 +781,11 @@ t-822-field () {
        ' <$file
 }
 
+t-defdistro () {
+       export DGIT_TEST_DISTRO=''
+       t-git-config dgit-suite.unstable.distro test-dummy
+}
+
 t-stunt-envvar () {
        local var=$1
        local tstunt=$2
@@ -800,7 +809,14 @@ t-tstunt--save-real () {
        local rc
        local real
        set +e
-       real=$(type -p "$f")
+       real=$(
+               p=":$PATH:"
+               p="${p/:"$tmp/tstunt":/:}"
+               p="${p%:}"
+               p="${p#:}"
+               PATH="$p"
+               type -p "$f"
+       )
        rc=$?
        set -e