chiark / gitweb /
autopkgtests: break out fetch-nogit
[dgit.git] / tests / lib
index baf3e4625cea893d4454f991cc5c58536d4686af..8823b287ba555d873f30405b84b59aee1b9eb8e8 100644 (file)
--- a/tests/lib
+++ b/tests/lib
@@ -1,6 +1,7 @@
 #
 
 exec 2>&1
+set -x
 
 root=`pwd`
 troot=$root/tests
@@ -21,34 +22,55 @@ ln $troot/ssh ssh
 mkdir $tmp/gnupg
 export GNUPGHOME=$tmp/gnupg
 
-t-git () {
-       mkdir -p git
-       cp -al $troot/git-srcs/$1 git/.
+t-worktree () {
+       rm -rf $p
+       tar xf $troot/worktrees/${p}_$1.tar
 }
 
 t-git-none () {
-       mkdir -p git
+       mkdir -p $tmp/git
 }
 
+t-has-ancestor () {
+       local ancestor=`git rev-parse $1`
+       local now=`git rev-parse HEAD`
+       local mbase=`git merge-base $ancestor $now`
+       if [ x$mbase != x$ancestor ]; then
+               echo "not ff $ancestor..$now, $mbase != $ancestor"
+               exit 1
+       fi
+}      
+
 t-archive () {
        p=$1
-       mkdir -p aq mirror
+       v=$2
+       mkdir -p $tmp/aq $tmp/mirror
        local dscf=${p}_$2.dsc
-       ln $troot/pkg-srcs/${p}_${2%-*}* mirror/
-       echo sid >aq/suite.unstable
-       echo "$2 $dscf" >>aq/package.sid.${p}
-       mkdir extract
-       (set -e; cd extract; dpkg-source -x ../mirror/$dscf)
+       rm -f $tmp/mirror/${p}_*
+       ln $troot/pkg-srcs/${p}_${2%-*}* $tmp/mirror/
+       echo sid >$tmp/aq/suite.unstable
+       echo "$2 $dscf" >>$tmp/aq/package.sid.${p}
+       rm -rf $tmp/extract
+       mkdir $tmp/extract
+       (set -e; cd $tmp/extract; dpkg-source -x ../mirror/$dscf)
 }
 
 t-dgit () {
-       ${DGIT_TEST-dgit} --dget:-u -dtest-dummy "$@"
+       : '{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{'
+       ${DGIT_TEST-dgit} --dget:-u -dtest-dummy -D "$@"
+       : '}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}'
 }
 
 t-diff-nogit () {
        diff --exclude=.git -ruN $*
 }
 
+t-cloned-fetched-good () {
+       t-diff-nogit ../extract/$p-${v%-*} .
+       t-clean-on-branch dgit/sid
+       t-refs-same HEAD remotes/dgit/dgit/sid
+}
+
 t-output () {
        printf "%s\n" "$1" >$tmp/t.want
        shift