summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/tests/control2
-rwxr-xr-xtests/tests/push-source19
-rwxr-xr-xtests/tests/push-source-with-changes31
3 files changed, 51 insertions, 1 deletions
diff --git a/debian/tests/control b/debian/tests/control
index 7d2a486..f3d20f1 100644
--- a/debian/tests/control
+++ b/debian/tests/control
@@ -39,7 +39,7 @@ Tests-Directory: tests/tests
Depends: dgit, dgit-infrastructure, devscripts, debhelper (>=8), fakeroot, build-essential, chiark-utils-bin
Restrictions: x-dgit-git-only
-Tests: absurd-gitapply badcommit-rewrite build-modes build-modes-asplit build-modes-gbp-asplit clone-clogsigpipe clone-gitnosuite clone-nogit debpolicy-dbretry debpolicy-newreject debpolicy-quilt-gbp defdistro-rpush defdistro-setup distropatches-reject dpkgsourceignores-correct drs-clone-nogit drs-push-masterupdate drs-push-rejects dsd-clone-nogit dsd-divert fetch-localgitonly fetch-somegit-notlast gbp-orig gitconfig gitworktree import-dsc import-maintmangle import-native import-nonnative import-tarbomb inarchivecopy mismatches-contents mismatches-dscchanges multisuite newtag-clone-nogit oldnewtagalt oldtag-clone-nogit orig-include-exclude orig-include-exclude-chkquery overwrite-chkclog overwrite-junk overwrite-splitbrains overwrite-version protocol-compat push-buildproductsdir push-newpackage push-nextdgit quilt quilt-gbp quilt-gbp-build-modes quilt-singlepatch quilt-splitbrains quilt-useremail rpush tag-updates test-list-uptodate trustingpolicy-replay unrepresentable version-opt
+Tests: absurd-gitapply badcommit-rewrite build-modes build-modes-asplit build-modes-gbp-asplit clone-clogsigpipe clone-gitnosuite clone-nogit debpolicy-dbretry debpolicy-newreject debpolicy-quilt-gbp defdistro-rpush defdistro-setup distropatches-reject dpkgsourceignores-correct drs-clone-nogit drs-push-masterupdate drs-push-rejects dsd-clone-nogit dsd-divert fetch-localgitonly fetch-somegit-notlast gbp-orig gitconfig gitworktree import-dsc import-maintmangle import-native import-nonnative import-tarbomb inarchivecopy mismatches-contents mismatches-dscchanges multisuite newtag-clone-nogit oldnewtagalt oldtag-clone-nogit orig-include-exclude orig-include-exclude-chkquery overwrite-chkclog overwrite-junk overwrite-splitbrains overwrite-version protocol-compat push-buildproductsdir push-newpackage push-nextdgit push-source push-source-with-changes quilt quilt-gbp quilt-gbp-build-modes quilt-singlepatch quilt-splitbrains quilt-useremail rpush tag-updates test-list-uptodate trustingpolicy-replay unrepresentable version-opt
Tests-Directory: tests/tests
Depends: dgit, dgit-infrastructure, devscripts, debhelper (>=8), fakeroot, build-essential, chiark-utils-bin
diff --git a/tests/tests/push-source b/tests/tests/push-source
new file mode 100755
index 0000000..9d132e5
--- /dev/null
+++ b/tests/tests/push-source
@@ -0,0 +1,19 @@
+#!/bin/bash
+set -e
+. tests/lib
+
+t-tstunt-parsechangelog
+
+t-prep-newpackage example 1.0
+
+cd $p
+
+t-refs-same-start
+t-ref-head
+
+t-dgit --dpkg-buildpackage:-d push-source --new
+
+t-pushed-good master
+t-push-was-source-only
+
+t-ok
diff --git a/tests/tests/push-source-with-changes b/tests/tests/push-source-with-changes
new file mode 100755
index 0000000..b9a3906
--- /dev/null
+++ b/tests/tests/push-source-with-changes
@@ -0,0 +1,31 @@
+#!/bin/bash
+set -e
+. tests/lib
+
+arch=$(dpkg-architecture -qDEB_BUILD_ARCH)
+
+t-tstunt-parsechangelog
+
+t-prep-newpackage example 1.0
+
+cd $p
+
+t-refs-same-start
+t-ref-head
+
+# (1) try pushing a changes file containing binaries
+
+t-dgit --dpkg-buildpackage:-d build -F
+
+t-expect-push-fail 'user-specified changes file is not source-only' \
+t-dgit -C ../${p}_1.0_${arch}.changes push-source --new
+
+# (2) try pushing a source-only changes file
+
+t-dgit --dpkg-buildpackage:-d build-source
+t-dgit -C ../${p}_1.0_source.changes push-source --new
+
+t-pushed-good master
+t-push-was-source-only
+
+t-ok