chiark / gitweb /
test suite: lib-gdr: t-gdr-good: Introduce t-gdr-analyse
[dgit.git] / tests / lib-gdr
index 479ef414b08238c1262201e2161cb2fd30104a47..6c744657b6e270c86655aee777d822cdc031a695 100644 (file)
@@ -23,8 +23,6 @@ t-gdr-good () {
 
        git diff --quiet ${beforetag-t.before} -- ':.' ':!debian/patches'
 
-       local etypes bwtip
-
        LC_MESSAGES=C t-git-debrebase status >../status.check
        case $state in
        laundered)
@@ -37,6 +35,15 @@ t-gdr-good () {
                ;;
        esac
 
+       t-gdr-good-analyse HEAD $state
+}
+
+t-gdr-good-analyse () {
+       local head=$1
+       local state=$2
+       local wsfx=$3
+       local etypes bwtip
+
        # etypes is either a type,
        # or   PseudoMerge-<more etypes>
        # or   AddPatches-<more etypes>
@@ -51,9 +58,10 @@ t-gdr-good () {
        pushed-interop) etypes=Pseudomerge-AddPatchesInterop-Upstream ;;
        esac
 
-       t-git-debrebase analyse >../anal.check
-       expect=`git rev-parse HEAD`
-       exec <../anal.check
+       anal=../anal$wsfx
+       t-git-debrebase analyse $head >$anal.check
+       expect=`git rev-parse $head`
+       exec <$anal.check
        local cid ctype info nparents
        while read cid ctype info; do
                : ===== $cid $ctype $info =====
@@ -108,9 +116,9 @@ t-gdr-good () {
                        : 'reject pointless pseudomerges'
                        local overwritten=${parents/$expect/}
                        overwritten=${overwritten// /}
-                       t-git-debrebase analyse $overwritten >../anal.overwr
+                       t-git-debrebase analyse $overwritten >$anal.overwr
                        local ocid otype oinfo
-                       read <../anal.overwr ocid otype oinfo
+                       read <$anal.overwr ocid otype oinfo
                        case "$otype" in
                        Pseudomerge) test "x$info" != "x$oinfo" ;;
                        esac
@@ -156,32 +164,34 @@ t-gdr-good () {
 
 t-some-changes () {
        local token=$1
-       local which=${2-dum}
+       local which=${2:-dum}
+       local fsuffix=$3
 
        t-git-next-date
 
        case "$which" in
        *d*)
-               echo >>debian/zorkmid "// debian $token"
-               git add debian/zorkmid
-               git commit -m "DEBIAN add zorkmid ($token)"
+               echo >>debian/zorkmid$fsuffix "// debian $token"
+               git add debian/zorkmid$fsuffix
+               git commit -m "DEBIAN add zorkmid$fsuffix ($token)"
                ;;
        esac
 
        case "$which" in
        *u*)
-               echo >>src.c "// upstream $token"
-               git commit -a -m "UPSTREAM edit src.c ($token)"
+               echo >>src$fsuffix.c "// upstream $token"
+               git add src$fsuffix.c
+               git commit -m "UPSTREAM edit src$fsuffix.c ($token)"
                ;;
        esac
 
        case "$which" in
        *m*)
-               for f in debian/zorkmid src.c; do
+               for f in debian/zorkmid$fsuffix src$fsuffix.c; do
                        echo "// both! $token" >>$f
                        git add $f
                done
-               git commit -m "MIXED add both ($token)"
+               git commit -m "MIXED add both($fsuffix) ($token)"
                ;;
        esac
 
@@ -289,3 +299,14 @@ t-nmu-reconciled-good () {
        git checkout master
        t-dgit -wgf quilt-fixup
 }
+
+t-gdr-prep-new-upstream () {
+       uv=$1
+       t-git-next-date
+       git checkout make-upstream
+       git reset --hard upstream
+       t-make-new-upstream-tarball $uv
+       git push . make-upstream:upstream
+       git checkout master
+       t-git-next-date
+}