summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/tests/control2
-rwxr-xr-xtests/tests/import-r1clog68
2 files changed, 69 insertions, 1 deletions
diff --git a/debian/tests/control b/debian/tests/control
index cf719ac..89a9200 100644
--- a/debian/tests/control
+++ b/debian/tests/control
@@ -100,7 +100,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 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-maintmangle import-native import-nonnative import-pushold 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 rpush-source sourceonlypolicy tag-updates unrepresentable unrepresentable-single-dpkg unrepresentable-single-git version-opt
+Tests: absurd-gitapply 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-maintmangle import-native import-nonnative import-pushold import-r1clog 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 rpush-source 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/import-r1clog b/tests/tests/import-r1clog
new file mode 100755
index 0000000..ae24d17
--- /dev/null
+++ b/tests/tests/import-r1clog
@@ -0,0 +1,68 @@
+#!/bin/bash
+set -e
+. tests/lib
+
+p=sunxi-tools
+v_upstr=1.2
+v_base=$v_upstr-2
+v_input=$v_base.~~dgittest
+
+dpkg-source -x $troot/pkg-srcs/${p}_${v_input}.dsc unmang
+
+mkdir $p
+cd $p
+git init
+cd ..
+
+perl-i-clog () {
+ perl -i "$@" debian/changelog
+}
+
+mangle-start () {
+ mang=$1
+ v="$v_base.$mang"
+ cp -al unmang $mang
+ cd $mang
+ perl-i-clog -pe 's{\~\~dgittest}{'$mang'} if $.==1'
+ cat >>debian/changelog <<'END'
+
+sunxi-tools (1.0-1) unstable; urgency=medium
+
+ * Lies for dgit testing
+
+ -- Example <example@example.org> Sat, 12 Jul 2011 20:51:56 +0100
+END
+}
+mangle-import () {
+ rm -f debian/*~
+ dpkg-source -b .
+ cd ../$p
+ t-dgit import-dsc ../${p}_${v}.dsc $mang
+ git checkout $mang
+}
+mangle-done () {
+ cd ..
+}
+
+mangle-start good
+mangle-import
+
+: ---------- 'check that if all is well we make right author line' ----------
+
+perl -ne <debian/changelog '
+ next unless m{^'$p' \('$v_upstr'-1\) }...m{^\S};
+ next unless m{^ -- (.*) (.*) ([-+]\d+)};
+ $time_t = `date -d "$2 $3" +%s`;
+ chomp $time_t;
+ $authline = "$1 $time_t $3";
+ print "author $authline\n";
+ print "committer $authline\n";
+ exit 0;
+' >../headlines-exp
+ch=$(git log -P --grep '^\[dgit import orig ' --pretty='format:%H')
+git cat-file commit $ch |
+perl -ne 'next if m/^$/..0; print if m/^(?:author|committer) /' \
+ >../headlines-got-orig
+diff ../headlines-exp ../headlines-got-orig
+
+mangle-done