X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=tests%2Ftests%2Fgdr-subcommands;h=e59fc07aaeab6ada1e0a510e3be9ff8b3027d299;hb=4eee70a2b1710c1a8fc71fbd3cdc7064682a799c;hp=371ad3425252ecdc1d05958a91ad04c0c690329e;hpb=b5bf8a0f318806562b3089ce8a84d864ee2b3f0f;p=dgit.git diff --git a/tests/tests/gdr-subcommands b/tests/tests/gdr-subcommands index 371ad342..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 @@ -12,10 +12,16 @@ t-dgit setup-mergechangelogs mix-it () { t-git-next-date + 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" + t-git-next-date } git checkout -b stitched-laundered master @@ -58,19 +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 @@ -130,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~ @@ -145,10 +172,14 @@ make_check () { f*) t-has-ancestor HEAD refs/heads/$before ;; + *) + fail "$1" + ;; esac } 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 @@ -163,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