chiark / gitweb /
Test suite: import-quilt: Initial version of new test case
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 8 Oct 2016 17:58:04 +0000 (18:58 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 8 Oct 2016 18:27:24 +0000 (19:27 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
debian/tests/control
tests/tests/import-quilt [new file with mode: 0755]

index 8777c4b..08d5f77 100644 (file)
@@ -21,7 +21,7 @@ Tests-Directory: tests/tests
 Depends: dgit, dgit-infrastructure, devscripts
 Restrictions: x-dgit-git-only
 
-Tests: build-modes build-modes-asplit build-modes-gbp-asplit clone-gitnosuite clone-nogit debpolicy-dbretry debpolicy-newreject debpolicy-quilt-gbp distropatches-reject drs-clone-nogit drs-push-masterupdate drs-push-rejects dsd-clone-nogit dsd-divert fetch-localgitonly fetch-somegit-notlast inarchivecopy newtag-clone-nogit oldnewtagalt oldtag-clone-nogit overwrite-chkclog overwrite-version push-buildproductsdir push-newpackage push-nextdgit quilt quilt-gbp quilt-gbp-build-modes quilt-singlepatch quilt-splitbrains rpush tag-updates test-list-uptodate trustingpolicy-replay
+Tests: build-modes build-modes-asplit build-modes-gbp-asplit clone-gitnosuite clone-nogit debpolicy-dbretry debpolicy-newreject debpolicy-quilt-gbp distropatches-reject drs-clone-nogit drs-push-masterupdate drs-push-rejects dsd-clone-nogit dsd-divert fetch-localgitonly fetch-somegit-notlast import-quilt inarchivecopy newtag-clone-nogit oldnewtagalt oldtag-clone-nogit overwrite-chkclog overwrite-version push-buildproductsdir push-newpackage push-nextdgit quilt quilt-gbp quilt-gbp-build-modes quilt-singlepatch quilt-splitbrains rpush tag-updates test-list-uptodate trustingpolicy-replay
 Tests-Directory: tests/tests
 Depends: dgit, dgit-infrastructure, devscripts
 
diff --git a/tests/tests/import-quilt b/tests/tests/import-quilt
new file mode 100755 (executable)
index 0000000..08ea866
--- /dev/null
@@ -0,0 +1,74 @@
+#!/bin/bash
+set -e
+. tests/lib
+
+t-tstunt-parsechangelog
+
+chk () {
+       p=$1
+       v=$2
+
+       t-archive $p $v
+       t-git-none
+       t-dgit --no-rm-on-error clone $p
+
+       echo xxx do some basic checks
+
+       # And now we make an update using the same orig tarball, and
+       # check that the orig import is stable.
+
+       cd $p
+
+       git branch first-import
+
+       m='Commit for import check'
+       echo "$m" >>import-check
+
+       v=${v%-*}-99
+       dch -v $v -D unstable -m "$m"
+
+       git add import-check debian/changelog
+       git commit -m "$m"
+
+       t-dgit -wgf quilt-fixup
+       t-dgit -wgf build-source
+
+       # The resulting .dsc does not have a Dgit line (because dgit push
+       # puts that in).  So we just shove it in the archive now
+
+       ln ../${p}_${v}.* $tmp/mirror/pool/main/
+       t-archive-query
+
+       t-dgit fetch
+
+       git branch first-2nd-import remotes/dgit/dgit/sid
+
+       export GIT_AUTHOR_DATE=1475947851
+       export GIT_COMMITTER_DATE=1475947851
+
+       t-dgit fetch
+
+       t-refs-same-start
+       t-ref-same refs/remotes/dgit/dgit/sid
+       t-ref-same refs/heads/first-2nd-import
+
+       for orig in ../${p}_${v%-*}.orig*.tar.*; do
+               orig=${orig#../}
+               pat="^Import ${orig//./\\.}\$"
+               t-refs-same-start
+               for start in first-import first-2nd-import; do
+                       git log --pretty='tformat:%H' --grep "$pat" $start \
+                               >../t.imp
+                       test $(wc -l <../t.imp) = 1
+                       imp=$(cat ../t.imp)
+                       t-ref-same-val "$orig $start" "$imp"
+               done
+       done
+       cd ..
+}
+
+chk example 1.0-1
+
+chk sunxi-tools 1.2-2.~~dgittest
+
+echo xxx need more.