chiark / gitweb /
test suite: manpages-format: work properly when no expected warnings
[dgit.git] / tests / tests / quilt-gbp
index 085ef03a6aac4413261ac8bc5300c90eda1973d4..cf148f613ee6f3b6ac150828cefa86154f579e69 100755 (executable)
@@ -2,6 +2,22 @@
 set -e
 . tests/lib
 
+# `dgit build-source` cleans before applying patches.  However, the
+# clean targets of 3.0 (quilt) packages are allowed to assume that
+# patches are applied.  If they are not, the clean targets can
+# misbehave in basically two ways:
+#
+# - fail to clean everything
+# - error out and stop the build
+#
+# In this test, what we want to see is whether dgit detects that quilt
+# fixup cannot be linear because the user has failed to pass --gbp.
+# So we need to ensure the package's clean target does not error out,
+# because that blocks dgit attempting quilt linearisation.  This
+# environment variable tells the example package's clean target not to
+# error out if it notices that patches have not yet been applied.
+export DGIT_TEST_TOLERATE_UNPATCHED_CLEAN=true
+
 t-tstunt-parsechangelog
 
 t-gbp-example-prep
@@ -14,32 +30,37 @@ t-expect-fail 'requires split view so server needs to support' \
 t-dgit -wgf --quilt=gbp build-source
 t-newtag
 
-t-dgit --quilt=gbp build-source
+t-dgit --quilt=gbp --dgit-view-save=split.b1 build-source
+git rev-parse split.b1
 
-t-dgit --quilt=gbp --gbp=no-such-command-gbp build-source
+t-dgit --quilt=gbp --gbp-pq=no-such-command-gbp build-source
 
 echo spong >debian/pointless-for-dgit-test
 git add debian/pointless-for-dgit-test
 git commit -m Pointless
 
 t-expect-fail no-such-command-gbp \
-t-dgit --quilt=gbp --clean=git --gbp=no-such-command-gbp build-source
-
-t-dgit --quilt=gbp --clean=git build-source
+t-dgit --quilt=gbp --clean=git --gbp-pq=no-such-command-gbp build-source
 
-t-expect-fail 'specifies a different tree to your HEAD commit' \
-  t-dgit push
-
-test-push () {
+test-push-1 () {
        t-refs-same-start
        t-ref-head
+}
 
-       t-dgit --quilt=gbp push
+test-push-2 () {
+       t-dgit --quilt=gbp --dgit-view-save=split.p push
 
        t-gbp-pushed-good
 }
 
-test-push
+test-push-1
+
+t-dgit --quilt=gbp --clean=git --dgit-view-save=split.b build-source
+
+t-expect-fail "HEAD specifies a different tree to $p" \
+  t-dgit push
+
+test-push-2
 
 echo wombat >>debian/pointless-for-dgit-test
 git add debian/pointless-for-dgit-test
@@ -47,8 +68,10 @@ git commit -m 'Pointless 2'
 
 t-commit 'Check pseudomerge' 1.0-3
 
-t-dgit --quilt=gbp --clean=git build-source
+test-push-1
+
+t-dgit --quilt=gbp --clean=git --dgit-view-save=split.b build-source
 
-test-push
+test-push-2
 
-echo ok.
+t-ok