chiark / gitweb /
git-debrebase: test suite: t-gdr-good: Introduce etypes, a sequence
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 17 Jun 2018 11:12:09 +0000 (12:12 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 17 Jun 2018 11:12:09 +0000 (12:12 +0100)
Rather than having the next type recorded in netype, record it in
etypes.  This is more orthogonal, and will allow more subtle
specifications of what is expected.

No functional change for now.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
tests/lib-gdr

index b60ccb8..08717dd 100644 (file)
@@ -22,7 +22,7 @@ t-gdr-good () {
 
        git diff --quiet ${beforetag-t.before} -- ':.' ':!debian/patches'
 
-       local etype netype bwtip
+       local etypes bwtip
 
        LC_MESSAGES=C t-git-debrebase status >../status.check
        case $state in
@@ -36,13 +36,17 @@ t-gdr-good () {
                ;;
        esac
 
+       # etypes is either a type,
+       # or   PseudoMerge-<more etypes>
+       # or   AddPatches-<more etypes>
+
        case $state in
        laundered)
-                       etype=Upstream
+                       etypes=Upstream
                        bwtip=Y:`t-git-debrebase breakwater`
                ;;
-       stitched)       etype=Pseudomerge ;;
-       pushed)         etype=AddPatches; netype=Pseudomerge ;;
+       stitched)       etypes=Pseudomerge-Upstream ;;
+       pushed)         etypes=AddPatches-Pseudomerge-Upstream ;;
        esac
 
        t-git-debrebase analyse >../anal.check
@@ -52,8 +56,8 @@ t-gdr-good () {
        while read cid ctype info; do
                : ===== $cid $ctype $info =====
                test $cid = $expect
-               local cetype=$etype
-               if [ "x$ctype" = "x$etype" ]; then cetype=SAME; fi
+               local cetype=${etypes%%-*}
+               if [ "x$ctype" = "x$cetype" ]; then cetype=SAME; fi
                local parents="`git log -n1 --pretty=format:%P $cid`"
                expect="$parents"
                enparents=1
@@ -70,11 +74,11 @@ t-gdr-good () {
                Anchor/Upstream)                        ;;
                Anchor/Packaging)                       ;;
                *)
-                       fail "etype=$etype ctype=$ctype cetype=$cetype $cid"
+                       fail "etypes=$etypes ctype=$ctype cetype=$cetype $cid"
                        ;;
                esac
 
-               case "$ctype/$etype" in
+               case "$ctype/$etypes" in
                Packaging/Upstream|\
                Changelog/Upstream)
                        if [ "x$bwtip" != x ]; then
@@ -89,7 +93,7 @@ t-gdr-good () {
                        expect=${expect%% *}
                        enparents=2
                        git diff --quiet $expect..$cid
-                       etype=Upstream
+                       etypes=${etypes#*-}
 
                        : 'reject pointless pseudomerges'
                        local overwritten=${parents/$expect/}
@@ -104,18 +108,17 @@ t-gdr-good () {
                Packaging)
                        git diff --quiet $expect..$cid -- ':.' ':!debian' 
                        git diff --quiet $expect..$cid -- ':debian/patches'
-                       etype=Packaging
+                       etypes=Packaging
                        ;;
                AddPatches)
                        git diff --quiet $expect..$cid -- \
                                ':.' ':!debian/patches'
-                       etype=$netype
-                       netype=Upstream
+                       etypes=${etypes#*-}
                        ;;
                Changelog)
                        git diff --quiet $expect..$cid -- \
                                ':.' ':!debian/changelog'
-                       etype=Packaging
+                       etypes=Packaging
                        ;;
                Upstream/SAME)
                        git diff --quiet $expect..$cid -- ':debian'