chiark / gitweb /
test suite: tagupl: Check Source mismatch
[dgit.git] / tests / lib
index 248dca568f5214dabc24bb70eb0732af1b3ceec5..f6b653fa6578eab6948f5a972ef01a5ecc184c9e 100644 (file)
--- a/tests/lib
+++ b/tests/lib
@@ -31,6 +31,9 @@ t-set-intree
 : ${DGIT_TEST_DEBUG=-D}
 export DGIT_TEST_DEBUG
 
+: ${DGIT_TEST_DEBPUSH_DEBUG=x}
+export DGIT_TEST_DEBPUSH_DEBUG
+
 : ${DGIT_TEST_DISTRO+ ${distro=${DGIT_TEST_DISTRO}}}
 
 export GIT_COMMITTER_DATE='1530000000 +0100'
@@ -520,6 +523,14 @@ t-setup-done () {
                ' $vn "$(eval "printf '%s\n' \"\$$vn\"")"
        done
 
+       perl >&4 -"I$root" -MDebian::Dgit -we '
+               foreach my $vn (grep m/^DGIT_TEST_REAL_/, keys %ENV) {
+                       print STDERR "saving-exporting $vn\n";
+                       printf "export %s=%s\n", $vn, shellquote $ENV{$vn}
+                               or die $!;
+               }
+       '
+
        (set -e; cd $tmp; tar cf $import.tar $savedirs)
 
        printf >&4 "\n%s\n" "$importeval"
@@ -736,6 +747,7 @@ t-splitbrain-pushed-good--unpack () {
        ln -s $tmp/incoming/*.orig*.tar* . ||:
        ln -s $incoming_dsc .
        ln -s ${incoming_dsc/.dsc/.debian.tar}* .
+       ln -s ${incoming_dsc/.dsc/.tar}* . ||:
        dpkg-source "$@" -x *.dsc
        cd */.
        git init
@@ -845,6 +857,13 @@ t-dpm-pushed-good () {
        t-splitbrain-pushed-good-end-made-dep14
 }
 
+t-split-unchanged-pushed-good () {
+       local suite=${1:-sid}
+       t-splitbrain-pushed-good-start
+       t-splitbrain-pushed-good--unpack
+       t-splitbrain-pushed-good-end-made-dep14
+}
+
 t-commit-build-push-expect-log () {
        local msg=$1
        local mpat=$2
@@ -1178,6 +1197,35 @@ t-policy-periodic () {
        : '))))))))))))))))))))))))))))))))))))))))'
 }
 
+t-tagupl-settings () {
+       export DGIT_DRS_EMAIL_NOREPLY=noreply@example.org
+       export DGIT_DRS_SENDMAIL=$troot/tstunt/sendmail
+       export DGIT_DRS_DGIT=$troot/tstunt/dgit
+       t-chain-test-somehow
+}
+
+t-tagupl-run-drs () {
+       cd ..
+       cd tagupl
+
+       DGIT_DRS_ANY_URL=1 \
+       DGIT_DRS_MODE="tag2upload $tmp/$p $tagname" \
+        $troot/drs-git-ext 
+
+       cd $tmp/$p
+}
+
+t-tagupl-test () {
+       ${DGIT_DEBPUSH_TEST-git debpush} \
+               --distro=test-dummy --no-push -u Senatus "$@"
+
+       mkdir ../tagupl
+       t-tagupl-run-drs
+
+       t-dgit fetch
+       t-pushed-good master
+}
+
 t-buildproductsdir-config () {
        bpd=$tmp/bpd
        t-git-config dgit.default.build-products-dir $bpd
@@ -1197,13 +1245,17 @@ t-dependencies () {
        : "Hopefully installed: $*"
 }
 
+t-chain-test-somehow () {
+       export DGIT_TEST_TESTNAME="$testname"
+       export DGIT_TEST_TMPBASE="$tmpbase"
+       export ADTTMP=$tmp
+}
+
 t-chain-test () {
+       t-chain-test-somehow
        local ct=$1
        local d=${0%/*}
        cd $root
-       export DGIT_TEST_TESTNAME="$testname"
-       export DGIT_TEST_TMPBASE="$tmpbase"
-       export ADTTMP=$tmp
        exec "$d/$ct"
 }