summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2022-12-11 11:43:01 +0000
committerIan Jackson <ijackson@chiark.greenend.org.uk>2022-12-11 16:18:33 +0000
commitbe887e86c392f2a3c10821ce3f08c3237a538b7d (patch)
tree6ed39b6856a6d7eed49f88cbc4244fc83164425d
parent9edccace4330e71b6cc3abe3231a50647c14ef5d (diff)
dgit: tests: include-binaries: Basic test
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
-rw-r--r--debian/tests/control2
-rwxr-xr-xtests/tests/quilt-include-binaries62
2 files changed, 63 insertions, 1 deletions
diff --git a/debian/tests/control b/debian/tests/control
index 0bd86ae..4fd3856 100644
--- a/debian/tests/control
+++ b/debian/tests/control
@@ -96,7 +96,7 @@ Tests: trustingpolicy-replay
Tests-Directory: tests/tests
Depends: dgit, dgit-infrastructure, devscripts, debhelper (>=8), fakeroot, build-essential, chiark-utils-bin, bc, faketime, liburi-perl, dput-ng
-Tests: absurd-gitapply badcommit-rewrite build-modes build-modes-long build-modes-source checkout clone-clogsigpipe debpolicy-dbretry debpolicy-newreject debpolicy-quilt-gbp debpolicy-taintrm defdistro-rpush defdistro-setup distropatches-reject dpkgsourceignores-correct drs-push-masterupdate drs-push-rejects dsd-divert fetch-localgitonly fetch-somegit-notlast forcesplit-linear forcesplit-overwrite gbp-orig gitconfig gitworktree import-dsc import-linkorigs import-maintmangle import-native import-nonnative import-tarbomb inarchivecopy mismatches-contents mismatches-dscchanges multisuite orig-include-exclude orig-include-exclude-chkquery overwrite-chkclog overwrite-junk overwrite-splitbrains overwrite-version pbuilder protocol-compat push-buildproductsdir push-newpackage push-newrepeat push-nextdgit push-source push-source-with-changes quilt quilt-gbp quilt-gbp-build-modes quilt-singlepatch quilt-splitbrains quilt-useremail rpush rpush-quilt sourceonlypolicy tag-updates unrepresentable unrepresentable-single-dpkg unrepresentable-single-git version-opt
+Tests: absurd-gitapply badcommit-rewrite build-modes build-modes-long build-modes-source checkout clone-clogsigpipe debpolicy-dbretry debpolicy-newreject debpolicy-quilt-gbp debpolicy-taintrm defdistro-rpush defdistro-setup distropatches-reject dpkgsourceignores-correct drs-push-masterupdate drs-push-rejects dsd-divert fetch-localgitonly fetch-somegit-notlast forcesplit-linear forcesplit-overwrite gbp-orig gitconfig gitworktree import-dsc import-linkorigs import-maintmangle import-native import-nonnative import-tarbomb inarchivecopy mismatches-contents mismatches-dscchanges multisuite orig-include-exclude orig-include-exclude-chkquery overwrite-chkclog overwrite-junk overwrite-splitbrains overwrite-version pbuilder protocol-compat push-buildproductsdir push-newpackage push-newrepeat push-nextdgit push-source push-source-with-changes quilt quilt-gbp quilt-gbp-build-modes quilt-include-binaries quilt-singlepatch quilt-splitbrains quilt-useremail rpush rpush-quilt sourceonlypolicy tag-updates unrepresentable unrepresentable-single-dpkg unrepresentable-single-git version-opt
Tests-Directory: tests/tests
Depends: dgit, dgit-infrastructure, devscripts, debhelper (>=8), fakeroot, build-essential, chiark-utils-bin, bc, faketime, liburi-perl
diff --git a/tests/tests/quilt-include-binaries b/tests/tests/quilt-include-binaries
new file mode 100755
index 0000000..4d5f183
--- /dev/null
+++ b/tests/tests/quilt-include-binaries
@@ -0,0 +1,62 @@
+#!/bin/bash
+set -e
+. tests/lib
+t-tstunt-parsechangelog
+
+p=example
+
+mkdir example
+cd example
+git init
+
+r=1
+v0=1.0-$r
+t-dgit import-dsc $troot/pkg-srcs/${p}_${v0}.dsc +import
+
+git reset --hard import
+
+cat >debian/source/include-binaries <<END
+# comment
+
+enoent/file
+bins/file
+debian/binfile
+END
+
+git add debian/source/include-binaries
+git commit -m 'specify include binaries'
+
+t-prep () {
+ local m=$1
+ git checkout -B work master
+ t-git-next-date
+ r=$(( $r + 1 ))
+ v=1.0-$r
+ t-dch-commit -v$v -m "$1"
+}
+
+t-make-some-bin () {
+ local file="$1"
+ perl -e '
+ use autodie;
+ print pack "H*", "d41d8cd98f00b204e9800998ecf8427e";
+ print "\n'"$file $r"'\n";
+ ' >"$file"
+}
+
+t-roundtrips () {
+ t-dgit --quilt=nofix --since-version=$v0 build-source
+ t-dgit import-dsc ../${p}_${v}.dsc +reimport
+ git diff --exit-code work reimport --
+}
+
+t-prep 'straightforward'
+
+mkdir bins
+t-make-some-bin bins/file
+git add bins/file
+git commit -m 'add bin'
+
+t-roundtrips
+
+t-ok