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'
 
 
        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
 
        LC_MESSAGES=C t-git-debrebase status >../status.check
        case $state in
@@ -36,13 +36,17 @@ t-gdr-good () {
                ;;
        esac
 
                ;;
        esac
 
+       # etypes is either a type,
+       # or   PseudoMerge-<more etypes>
+       # or   AddPatches-<more etypes>
+
        case $state in
        laundered)
        case $state in
        laundered)
-                       etype=Upstream
+                       etypes=Upstream
                        bwtip=Y:`t-git-debrebase breakwater`
                ;;
                        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
        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
        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
                local parents="`git log -n1 --pretty=format:%P $cid`"
                expect="$parents"
                enparents=1
@@ -70,11 +74,11 @@ t-gdr-good () {
                Anchor/Upstream)                        ;;
                Anchor/Packaging)                       ;;
                *)
                Anchor/Upstream)                        ;;
                Anchor/Packaging)                       ;;
                *)
-                       fail "etype=$etype ctype=$ctype cetype=$cetype $cid"
+                       fail "etypes=$etypes ctype=$ctype cetype=$cetype $cid"
                        ;;
                esac
 
                        ;;
                esac
 
-               case "$ctype/$etype" in
+               case "$ctype/$etypes" in
                Packaging/Upstream|\
                Changelog/Upstream)
                        if [ "x$bwtip" != x ]; then
                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
                        expect=${expect%% *}
                        enparents=2
                        git diff --quiet $expect..$cid
-                       etype=Upstream
+                       etypes=${etypes#*-}
 
                        : 'reject pointless pseudomerges'
                        local overwritten=${parents/$expect/}
 
                        : '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'
                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'
                        ;;
                AddPatches)
                        git diff --quiet $expect..$cid -- \
                                ':.' ':!debian/patches'
-                       etype=$netype
-                       netype=Upstream
+                       etypes=${etypes#*-}
                        ;;
                Changelog)
                        git diff --quiet $expect..$cid -- \
                                ':.' ':!debian/changelog'
                        ;;
                Changelog)
                        git diff --quiet $expect..$cid -- \
                                ':.' ':!debian/changelog'
-                       etype=Packaging
+                       etypes=Packaging
                        ;;
                Upstream/SAME)
                        git diff --quiet $expect..$cid -- ':debian'
                        ;;
                Upstream/SAME)
                        git diff --quiet $expect..$cid -- ':debian'