chiark / gitweb /
test suite: Break out t-tagupl-*
[dgit.git] / tests / lib
index a4f307f8a70c3770f09536a37225b543c1e07bbe..36de84b6ad3094fe7f8a51793eddd0ddec9faff7 100644 (file)
--- a/tests/lib
+++ b/tests/lib
@@ -36,6 +36,8 @@ export DGIT_TEST_DEBUG
 export GIT_COMMITTER_DATE='1530000000 +0100'
 export GIT_AUTHOR_DATE='1530000000 +0100'
 
+export LC_CTYPE=C.UTF-8
+
 root=`pwd`
 troot=$root/tests
 testname="${DGIT_TEST_TESTNAME-${0##*/}}"
@@ -92,7 +94,9 @@ t-expect-fail () {
        local mpat="$1"; shift
 
        set +o pipefail
-       LC_MESSAGES=C "$@" 2>&1 | tee $tmp/t.output
+       LC_MESSAGES=${expect_fail_lcmessages-C} \
+       LANGUAGE=${expect_fail_lcmessages-C} \
+       "$@" 2>&1 | tee $tmp/t.output
        local ps="${PIPESTATUS[*]}"
        set -o pipefail
 
@@ -516,6 +520,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"
@@ -732,6 +744,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
@@ -778,16 +791,21 @@ t-splitbrain-pushed-good-end-made-dep14 () {
        cd $tmp/$p
 }
 
-t-splitbrain-rm-gitignore-patch () {
+t-splitbrain-rm-1-patch () {
+       local patchname=$1
        perl -i -pe '
-               next unless $_ eq "auto-gitignore\n";
+               next unless $_ eq "'"$patchname"'\n";
                die if $counter++;
                chomp;
-               rename "debian/patches/$_", "../t-auto-gitignore" or die $!;
+               rename "debian/patches/$_", "../t-'"$patchname"'" or die $!;
                $_ = "";
        ' debian/patches/series
 }
 
+t-splitbrain-rm-gitignore-patch () {
+       t-splitbrain-rm-1-patch auto-gitignore
+}
+
 t-gbp-pushed-good () {
        local suite=${1:-sid}
        t-splitbrain-pushed-good-start
@@ -822,18 +840,27 @@ t-gbp-pushed-good () {
 }
 
 t-unapplied-pushed-good () {
+       local suite=${1:-sid}
        t-splitbrain-pushed-good-start
        t-splitbrain-pushed-good--unpack --skip-patches
        t-splitbrain-pushed-good-end-made-dep14
 }
 
 t-dpm-pushed-good () {
+       local suite=${1:-sid}
        t-splitbrain-pushed-good-start
        t-splitbrain-pushed-good--unpack
        t-splitbrain-rm-gitignore-patch
        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
@@ -1088,7 +1115,6 @@ t-drs () {
  t-git-config dgit-distro.test-dummy.git-url "ext::$troot/drs-git-ext %S "
  t-git-config dgit-distro.test-dummy.git-check true
  t-git-config dgit-distro.test-dummy.git-create true
- t-git-config dgit-distro.test-dummy.dgit-tag-format new,old,maint
        cp $troot/gnupg/{dd.gpg,dm.gpg,dm.txt} $tmp/.
        cp $troot/suites $tmp/.
        cp $troot/suites $tmp/suites-master
@@ -1110,15 +1136,6 @@ t-drs () {
        ln -sf /bin/true $drs_dispatch/policy-hook
 }
 
-t-newtag () {
- export tagpfx=archive/test-dummy
- t-git-config dgit-distro.test-dummy.dgit-tag-format new,maint
-}
-t-oldtag () {
- export tagpfx=test-dummy
- t-git-config dgit-distro.test-dummy.dgit-tag-format old
-}
-
 t-dsd () {
        t-drs
  t-git-config dgit-distro.test-dummy.ssh "$troot/dsd-ssh"
@@ -1177,6 +1194,31 @@ 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-test () {
+       ${DGIT_DEBPUSH_TEST-git debpush} \
+               --distro=test-dummy --no-push -u Senatus "$@"
+
+       cd ..
+       mkdir tagupl
+       cd tagupl
+
+       DGIT_DRS_ANY_URL=1 \
+       DGIT_DRS_MODE="tag2upload $tmp/$p $tagname" \
+        $troot/drs-git-ext 
+
+       cd $tmp/$p
+
+       t-dgit fetch
+       t-pushed-good master
+}
+
 t-buildproductsdir-config () {
        bpd=$tmp/bpd
        t-git-config dgit.default.build-products-dir $bpd
@@ -1196,13 +1238,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"
 }