chiark / gitweb /
test suite: manpages-format: work properly when no expected warnings
[dgit.git] / tests / tests / quilt-gbp
index e528567ffd93886b80c3d24995ff5768e5b2ee90..cf148f613ee6f3b6ac150828cefa86154f579e69 100755 (executable)
@@ -2,46 +2,76 @@
 set -e
 . tests/lib
 
-t-tstunt-parsechangelog
+# `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-newtag
+t-tstunt-parsechangelog
 
 t-gbp-example-prep
 
 t-expect-fail 'quilt fixup cannot be linear' \
   t-dgit build-source
 
-t-dgit --quilt=gbp build-source
+t-git-config dgit-distro.test-dummy.dgit-tag-format new
+t-expect-fail 'requires split view so server needs to support' \
+t-dgit -wgf --quilt=gbp build-source
+t-newtag
+
+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 --gbp-pq=no-such-command-gbp build-source
 
-t-dgit --quilt=gbp --clean=git build-source
+test-push-1 () {
+       t-refs-same-start
+       t-ref-head
+}
 
-t-expect-fail 'specifies a different tree to your HEAD commit' \
-  t-dgit push
+test-push-2 () {
+       t-dgit --quilt=gbp --dgit-view-save=split.p push
+
+       t-gbp-pushed-good
+}
 
-t-refs-same-start
-t-ref-head
+test-push-1
 
-t-dgit --quilt=gbp push
+t-dgit --quilt=gbp --clean=git --dgit-view-save=split.b build-source
 
-t-gbp-pushed-good
+t-expect-fail "HEAD specifies a different tree to $p" \
+  t-dgit push
 
-exit 0
+test-push-2
+
+echo wombat >>debian/pointless-for-dgit-test
+git add debian/pointless-for-dgit-test
+git commit -m 'Pointless 2'
 
-===
+t-commit 'Check pseudomerge' 1.0-3
 
-want to
+test-push-1
 
-make a new change
+t-dgit --quilt=gbp --clean=git --dgit-view-save=split.b build-source
 
-push it
+test-push-2
 
-check that the synthetic fast forward worked
+t-ok