X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=tests%2Flib;h=e7ab334cc3daae7dc644ba5a8b9d8b1c94b768a2;hp=50d614ee16e1346f302b2a58ef64a067b3d6dbc9;hb=224c9211c06b084eb9583708860ca1fff0e456ad;hpb=a5ab9e488522b8fb74a6eadc4a7acf9199e782c4 diff --git a/tests/lib b/tests/lib index 50d614ee..e7ab334c 100644 --- 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,9 @@ t-dgit () { : ' {{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{' $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 "$@" : '}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} ' @@ -775,6 +781,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 @@ -789,12 +801,48 @@ t-stunt-envvar () { ' } +t-tstunt--save-real () { + local f="$1" + case "$f" in + */*) return ;; + esac + + local rc + local real + set +e + real=$( + p=":$PATH:" + p="${p/:"$tmp/tstunt":/:}" + p="${p%:}" + p="${p#:}" + PATH="$p" + 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 +859,6 @@ t-tstunt-lintian () { } t-tstunt-debuild () { - : ${DGIT_TEST_REAL_DEBUILD:=$(type -p debuild)} - export DGIT_TEST_REAL_DEBUILD t-tstunt debuild } @@ -824,7 +870,11 @@ t-incoming-dsc () { t-ref-dsc-dgit () { t-incoming-dsc local val; val=`t-822-field $incoming_dsc Dgit` - perl -e '$_=shift @ARGV; die "Dgit $_ ?" unless m/^\w+\b/;' "$val" + val=$( perl -e ' + $_=shift @ARGV; + die "Dgit $_ ?" unless m/^\w+\b/; + print $&,"\n" or die $!; + ' "$val") t-ref-same-val $incoming_dsc "$val" } @@ -975,7 +1025,9 @@ t-dsd () { } t-policy-admin () { + : '((((((((((((((((((((((((((((((((((((((((' ${DGIT_INFRA_PFX}dgit-repos-admin-debian --repos $tmp/git "$@" + : '))))))))))))))))))))))))))))))))))))))))' } t-policy-nonexist () { @@ -1007,8 +1059,10 @@ t-debpolicy () { } t-policy-periodic () { + : '((((((((((((((((((((((((((((((((((((((((' ${DGIT_REPOS_SERVER_TEST-dgit-repos-server} \ test-dummy $drs_dispatch '' --cron + : '))))))))))))))))))))))))))))))))))))))))' } t-restrict () { @@ -1036,6 +1090,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 ;;