summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2016-10-09 01:13:41 +0100
committerIan Jackson <ijackson@chiark.greenend.org.uk>2016-10-10 01:01:10 +0100
commit20ee7135bcbbd6e2882a4c3c7a48aa6519e05608 (patch)
tree846b41c300e2030bc1a536cc86f34336b114f1e0
parenta6ba75765d8161841a511cc5eddb79d0209cf0d9 (diff)
Test suite: quilt: Test that our patch makes it through dgit and gbp pq
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
-rwxr-xr-xtests/tests/quilt41
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/tests/quilt b/tests/tests/quilt
index a6f78cd..4988b2b 100755
--- a/tests/tests/quilt
+++ b/tests/tests/quilt
@@ -52,4 +52,45 @@ done
t-822-field ../${p}_${v}_*.changes Changes |
grep -Fx 'ruby-rails-3.2 (3.2.6-2~dummy1) unstable; urgency=low'
+t-git-next-date
+
+# Now we are going to check that our dgit-generated patches round
+# trip to similar git commits when imported by gbp pq:
+
+git clean -xdf
+
+# We need to make a patches-unapplied version
+unpa=$(git-log --pretty=format:'%H' --grep '^\[dgit import unpatched')
+git checkout -b for-gbp
+git reset "$unpa" .
+git reset HEAD debian
+git commit -m UNAPPY
+git reset --hard
+git clean -xdf
+
+export GIT_AUTHOR_NAME='Someone Else'
+export GIT_AUTHOR_EMAIL='else@example.com'
+export GIT_COMMITTER_NAME='Someone Else'
+export GIT_COMMITTER_EMAIL='else@example.com'
+
+gbp pq import
+
+for compare in $(git log --pretty='format:%H' \
+ --grep 'Change something in the upstream yml')
+do
+ git cat-file commit $compare >../this.cmp
+ # normalise
+ perl -i~$compare~ -0777 -pe '
+ s/\n+$//; $_ .= "\n";
+ s/^(?:committer|parent|tree) .*\n//gm;
+ s/\n+(\(cherry picked from .*\)\n)\n*/\n\n/m
+ and s/$/$1/;
+ s/\n+$//; $_ .= "\n";
+ ' ../this.cmp
+ if test -f ../last.cmp; then
+ diff -u ../last.cmp ../this.cmp
+ fi
+ mv ../this.cmp ../last.cmp
+done
+
echo ok.