chiark / gitweb /
test suite: baredebian: Break out baredebian-test-minimum
[dgit.git] / tests / lib-baredebian
index f3ee03e8f11065e81f09694f700876d7b7dc354a..3ef6569d9474dc0ed9f973cfe9dfdc845dfda04f 100644 (file)
@@ -1,15 +1,36 @@
 #
 
-baredebian-test () {
-       t-expect-fail 'contradicts clean mode git-ff' \
-       t-dgit -wgf --dgit-view-save=split.f1 --baredebian quilt-fixup
-
-       t-dgit -wn --dgit-view-save=split.f1 --baredebian quilt-fixup
-
+baredebian-test-vars () {
+       quiltmode=baredebian
        v=1.0-1
        suite=sid
+       uv=${v%-*}
+       uvtag=v$uv
+       origbase=${p}_${uv}.orig
+       xorigcomps=''
+}
+
+baredebian-tarball-mode () {
+       git tag -d $uvtag
+       uvtag=''
+       quiltmode=baredebian+tarball
+}
 
-       tar --strip-components=1 -axf ../${p}_${v%-*}.orig.tar.*
+baredebian-test-minimum () {
+       t-expect-fail 'contradicts clean mode git-ff' \
+       t-dgit -wgf --dgit-view-save=split.f1 --$quiltmode quilt-fixup
+
+       t-dgit -wn --dgit-view-save=split.f1 --$quiltmode quilt-fixup
+}
+
+baredebian-test-core () {
+       tar --strip-components=1 -axf ../$origbase.tar.*
+       for comp in $xorigcomps; do
+               mkdir $comp
+               cd $comp
+               tar --strip-components=1 -axf ../../$origbase-$comp.tar.*
+               cd ..
+       done
 
        cd debian
        git clean -xdff
@@ -40,12 +61,14 @@ baredebian-test () {
        #   (rather than dgit build), but so that we can check that our
        #   output is the same as users are used to.
 
-       t-dgit -wn --quilt=baredebian --dgit-view-save=split.b quilt-fixup
-       t-dgit -wn --quilt=baredebian --dgit-view-save=split.p --new push
+       t-dgit -wn --quilt=$quiltmode --dgit-view-save=split.b quilt-fixup
+       t-dgit -wn --quilt=$quiltmode --dgit-view-save=split.p --new push
 
-       git merge-base --is-ancestor v${v%-*} split.p
        git merge-base --is-ancestor HEAD     split.p
-       set +e; git merge-base HEAD v${v%-*}; rc=$?; set -e; [ $rc = 1 ]
+       if [ "$uvtag" ]; then
+               git merge-base --is-ancestor $uvtag split.p
+               set +e; git merge-base HEAD $uvtag; rc=$?; set -e; [ $rc = 1 ]
+       fi
 
        git clean -xdff
        # t-pushed-good-* wants a clean tree to start with, but this
@@ -62,3 +85,9 @@ baredebian-test () {
 
        t-splitbrain-pushed-good-end-made-dep14
 }
+
+baredebian-test () {
+       baredebian-test-vars
+       baredebian-test-minimum
+       baredebian-test-core
+}