X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=tests%2Flib;h=adbd79ff587870bcd39e5443fd5e7f42f49258dc;hb=1b2c10f57b0257aac61a696378e9c8c05df8bf4f;hp=bba49a3f11e8d0dc92adcc3cbfcd1bfea0949e77;hpb=6f3d4836d4e9aedbaf929a231db64e5536631c95;p=dgit.git diff --git a/tests/lib b/tests/lib index bba49a3f..adbd79ff 100644 --- a/tests/lib +++ b/tests/lib @@ -3,6 +3,13 @@ exec 2>&1 set -x +if [ "x$DGIT_TEST_INTREE" != x ]; then + : ${DGIT_TEST:=$DGIT_TEST_INTREE/dgit} + : ${DGIT_REPOS_SERVER_TEST:=$DGIT_TEST_INTREE/infra/dgit-repos-server} + : ${DGIT_SSH_DISPATCH_TEST:=$DGIT_TEST_INTREE/infra/dgit-ssh-dispatch} + export DGIT_TEST DGIT_REPOS_SERVER_TEST DGIT_SSH_DISPATCH_TEST +fi + root=`pwd` troot=$root/tests testname="${DGIT_TEST_TESTNAME-${0##*/}}" @@ -82,23 +89,33 @@ t-archive-none () { echo sid >$tmp/aq/suite.unstable } +t-archive-process-incoming () { + mv incoming/${p}_${v}[._]* mirror/ + t-archive-query +} + +t-archive-query () { + local dscf=${p}_${v}.dsc + echo "${v} $dscf" >>$tmp/aq/package.sid.${p} +} + t-archive () { t-archive-none $1 v=$2 local dscf=${p}_$2.dsc rm -f $tmp/mirror/${p}_* ln $troot/pkg-srcs/${p}_${2%-*}* $tmp/mirror/ - echo "$2 $dscf" >>$tmp/aq/package.sid.${p} + t-archive-query rm -rf $tmp/extract mkdir $tmp/extract (set -e; cd $tmp/extract; dpkg-source -x ../mirror/$dscf) } t-dgit () { + local dgit=${DGIT_TEST-dgit} : ' - {{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{' - ${DGIT_TEST-dgit} --dget:-u --dput:--config=$tmp/dput.cf \ + $dgit --dgit=$dgit --dget:-u --dput:--config=$tmp/dput.cf \ -dtest-dummy $DGIT_TEST_OPTS ${DGIT_TEST_DEBUG--D} \ -k39B13D8A "$@" : '}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} @@ -106,7 +123,7 @@ t-dgit () { } t-diff-nogit () { - diff --exclude=.git -ruN $* + diff --exclude=.git --exclude=.pc -ruN $* } t-cloned-fetched-good () { @@ -246,10 +263,43 @@ t-drs () { cp $root/tests/suites $tmp/. } -t-drs-test () { +t-dss () { t-drs + t-git-config dgit-distro.test-dummy.ssh "$troot/dss-ssh" + t-git-config dgit-distro.test-dummy.git-check ssh-cmd + t-git-config dgit-distro.test-dummy.git-create true + t-git-config dgit-distro.test-dummy.git-url \ + "ext::$troot/dss-ssh X %S /dgit/test-dummy/repos" + + t-git-config dgit-distro.test-dummy.diverts.drs /drs + t-git-config dgit-distro.test-dummy/drs.ssh "$troot/ssh" + t-git-config dgit-distro.test-dummy/drs.git-url $tmp/git + t-git-config dgit-distro.test-dummy/drs.git-check ssh-cmd + t-git-config dgit-distro.test-dummy/drs.git-create ssh-cmd + + dss_dispatch=$tmp/dispatch-dir/distro=test-dummy + mkdir -p $dss_dispatch + ln -sf $root $dss_dispatch/dgit-live + ln -sf $tmp/git $dss_dispatch/repos + ln -sf $tmp/suites $tmp/dm.txt $dss_dispatch/ + mkdir -p $dss_dispatch/keyrings + ln -sf $tmp/dd.gpg $dss_dispatch/keyrings/debian-keyring.gpg + ln -sf $tmp/dm.gpg $dss_dispatch/keyrings/debian-maintainers.gpg + + echo 'no-such-package* drs' >$dss_dispatch/diverts +} + +t-chain-test () { + local ct=$1 + local d=${0%/*} cd $root export DGIT_TEST_TESTNAME="$testname" export ADTTMP=$tmp - exec "${0///drs-//}" "$@" + exec "$d/$ct" +} + +t-alt-test () { + local t=${0##*/} + t-${t%%-*} + t-chain-test "${t#*-}" }