X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=tests%2Ftests%2Fgdr-subcommands;h=e59fc07aaeab6ada1e0a510e3be9ff8b3027d299;hb=94518af3396d2ff724f98e5bb6b6a533e14c78e8;hp=2a90cdc0680c404d60c1884936d0ef85064538dc;hpb=759d9092784d1aea335bd277e930c8f50ef0a493;p=dgit.git diff --git a/tests/tests/gdr-subcommands b/tests/tests/gdr-subcommands index 2a90cdc0..e59fc07a 100755 --- a/tests/tests/gdr-subcommands +++ b/tests/tests/gdr-subcommands @@ -2,7 +2,7 @@ set -e . tests/lib -t-dependencies git-buildpackage libfile-fnmatch-perl faketime +t-dependencies GDR t-setup-import gdr-convert-gbp @@ -16,7 +16,8 @@ mix-it () { local m=$(git symbolic-ref HEAD) t-some-changes "subcommands $m 1" - t-dgit -wgf quilt-fixup + # we want patches mde by dgit, not gdr, for our test cases + t-dgit --git-debrebase=true -wgf quilt-fixup t-git-next-date t-some-changes "subcommands $m 2" @@ -63,22 +64,40 @@ subcmd () { before=before-$work git branch $before + local xopts='' + case "$checkletters" in XX*) fail "$checkletters" # for debugging ;; + esac + + case "$checkletters" in + X*) + t-expect-fail E:'snags: [0-9]* blockers' \ + t-git-debrebase $xopts $subcmd + xopts+=' --force' + next_checkletter + ;; + esac + + case "$checkletters" in N*) t-expect-fail E:. \ - t-git-debrebase $subcmd - t-git-debrebase --noop-ok $subcmd + t-git-debrebase $xopts $subcmd + xopts+=' --noop-ok' + next_checkletter ;; + esac + + case "$checkletters" in [EF]:*) t-expect-fail "$checkletters" \ - t-git-debrebase $subcmd + t-git-debrebase $xopts $subcmd continue ;; *) - t-git-debrebase $subcmd + t-git-debrebase $xopts $subcmd ;; esac @@ -138,7 +157,7 @@ make_check () { git reset --hard HEAD^1 ;; P*) - t-dgit -wgf --quilt=check quilt-fixup + t-dgit -wgf --quilt=nofix quilt-fixup git diff HEAD~ debian/patches | egrep . git diff --quiet HEAD~ -- ':.' ':!debian/patches' git reset --hard HEAD~ @@ -160,6 +179,7 @@ make_check () { } Ec="F:No ongoing git-debrebase session" +Ep="F:Patch export produced patch amendments" # input state: # stitched? st'd st'd unst'd unst'd @@ -174,13 +194,16 @@ subcmd stitch Ns Nu Sltf Stf subcmd prepush Ns Nu Sltf Stf subcmd quick ns Sl Sltf Sl subcmd conclude "$Ec" "$Ec" Sltf Sl -#subcmd make-patches sPft sPft uPft uPft -#subcmd dgit-upload-hook Psft Psft SPft SPft +subcmd make-patches sPft "$Ep" uPft "$Ep" +#subcmd dgit-upload-hook Psft "$Ep" SPft "$Ep" # # result codes, each one is a check: # E:$pat } this is an error (must come first) # F:$pat } arg is passed to expect-fail # +# X should fail due to snags, but succeed when forced +# XX crash out of script for manual debugging +# # N this is a noop, error unless --noop-ok # n this is a silent noop # both of these imply tf; but, specify also one of u s