chiark / gitweb /
test suite: dpkgsourceignores-docs: Check dgit-maint-merge(7) -i -I rune
[dgit.git] / tests / lib
index 62e47ddac839fac8a177c7de22a54c38dd6746a8..8fd35147431f884637c195ddde9ba41b34cfd58f 100644 (file)
--- a/tests/lib
+++ b/tests/lib
@@ -12,6 +12,7 @@ t-report-failure () {
        rc=$1
        cat <<END >&2
 TEST FAILED
+cwd: $PWD
 funcs: ${FUNCNAME[*]}
 lines: ${BASH_LINENO[*]}
 files: ${BASH_SOURCE[*]}
@@ -28,6 +29,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 +54,7 @@ tmp=`pwd`
 
 t-set-using-tmp
 
+test -f $tmp/.save-env || \
 env -0 >$tmp/.save-env
 
 ln -f $troot/ssh ssh
@@ -385,13 +389,14 @@ t-fscks () {
        (
        shopt -s nullglob
        for d in $tmp/*/.git $tmp/git/*.git; do
-               cd "$d"
+               cd "${d%/.git}"
                t-git-fsck
        done
        )
 }
 
 t-ok () {
+       : '========================================'
        t-fscks
        echo ok.
 }
@@ -402,16 +407,29 @@ t-rm-dput-dropping () {
 
 t-dgit () {
        local dgit=${DGIT_TEST-dgit}
-       pwd
+       pwd >&2
        : '
 {{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{'
        $dgit --dgit=$dgit --dget:-u --dput:--config=$tmp/dput.cf \
-               -dtest-dummy $DGIT_TEST_OPTS $DGIT_TEST_DEBUG \
+ ${dgit_config_debian_alias-"--config-lookup-explode=dgit-distro.debian.alias-canon"} \
+               ${distro+${distro:+-d}}${distro--dtest-dummy} \
+               $DGIT_TEST_OPTS $DGIT_TEST_DEBUG \
                -k39B13D8A $t_dgit_xopts "$@"
        : '}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
 '
 }
 
+t-dgit-manpage () {
+       local section=$1
+       local page=$2
+       (export LC_ALL=C.UTF-8
+        if [ "$DGIT_TEST_INTREE" ]; then
+               make -C $DGIT_TEST_INTREE $page.$section.view
+        else
+               man $section $page
+        fi)
+}
+
 t-diff-nogit () {
        diff --exclude=.git --exclude=.pc -ruN $*
 }
@@ -775,6 +793,12 @@ t-822-field () {
        ' <$file
 }
 
+t-defdistro () {
+       export DGIT_TEST_DISTRO=''
+       distro=''
+       t-git-config dgit-suite.unstable.distro test-dummy
+}
+
 t-stunt-envvar () {
        local var=$1
        local tstunt=$2
@@ -798,7 +822,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
 
@@ -1006,7 +1037,9 @@ t-dsd () {
 }
 
 t-policy-admin () {
+       : '(((((((((((((((((((((((((((((((((((((((('
        ${DGIT_INFRA_PFX}dgit-repos-admin-debian --repos $tmp/git "$@"
+       : '))))))))))))))))))))))))))))))))))))))))'
 }
 
 t-policy-nonexist () {
@@ -1038,8 +1071,10 @@ t-debpolicy () {
 }
 
 t-policy-periodic () {
+       : '(((((((((((((((((((((((((((((((((((((((('
        ${DGIT_REPOS_SERVER_TEST-dgit-repos-server} \
                test-dummy $drs_dispatch '' --cron
+       : '))))))))))))))))))))))))))))))))))))))))'
 }
 
 t-restrict () {
@@ -1067,6 +1102,8 @@ t-alt-test () {
        t-chain-test "${t#*-}"
 }
 
+t-git-config dgit.default.old-dsc-distro test-dummy
+
 case "$0" in
 */gnupg) ;;
 *)     t-setup-import gnupg    ;;