chiark / gitweb /
autopkgtests: t-git: take p and v args
[dgit.git] / tests / lib
index 1d2d06ade6fd4a6fa1857b2d4360822c92eb4139..6f2558061d343f8545d2e459f793a9ffd47b13b5 100644 (file)
--- a/tests/lib
+++ b/tests/lib
@@ -37,6 +37,13 @@ t-worktree () {
        tar xf $troot/worktrees/${p}_$1.tar
 }
 
+t-git () {
+       p=$1
+       v=$2
+       mkdir -p $tmp/git
+       (set -e; cd $tmp/git; tar xf $troot/git-srcs/${p}_$v.git.tar)
+}
+
 t-git-none () {
        mkdir -p $tmp/git
        (set -e; cd $tmp/git; tar xf $troot/git-template.tar)
@@ -103,7 +110,7 @@ t-clean-on-branch () {
 
 t-git-get-ref () {
        local ref=$1
-       git-show-ref -d $1 | perl -ne '
+       git show-ref -d $1 | perl -ne '
                $x = $1 if m#^(\w+) \Q'$1'\E(?:\^\{\})?$#;
                END { print "$x\n" if length $x; }
        '
@@ -130,11 +137,16 @@ t-refs-notexist () {
        done
 }
 
+t-v-tag () {
+       echo refs/tags/debian/${v//\~/_}
+}
+
 t-pushed-good () {
+       local branch=$1
        t-ref-dsc-dgit
        t-refs-same-more \
-               refs/heads/master \
-               refs/tags/debian/$v \
+               refs/heads/$branch \
+               `t-v-tag` \
                refs/remotes/dgit/dgit/sid
        t-refs-notexist \
                refs/heads/dgit/unstable \
@@ -142,10 +154,11 @@ t-pushed-good () {
        (set -e; cd $tmp/git/$p.git
         t-refs-same-more \
                refs/dgit/sid \
-               refs/tags/debian/$v
+               `t-v-tag`
         t-refs-notexist \
                refs/dgit/unstable
        )
+       git verify-tag `t-v-tag`
 }
 
 t-ref-dsc-dgit () {
@@ -158,3 +171,10 @@ t-ref-dsc-dgit () {
                print $ref,"\n";
        ' <$tmp/incoming/${p}_${v}.dsc >$tmp/t.ref1
 }
+
+t-apply-diff () {
+       local v1=$1
+       local v2=$2
+       (cd $troot/pkg-srcs; debdiff ${p}_${v1}.dsc ${p}_${v2}.dsc) \
+               | patch -p1 -u
+}