X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=tests%2Flib;h=36de84b6ad3094fe7f8a51793eddd0ddec9faff7;hb=f7fd85c62514b8e46b580ba301449fb172c58c83;hp=5b6b1d51757682d49c7a0caeb36d071adc32791b;hpb=2062bb466224694014d2352879d9246aa4ad8258;p=dgit.git diff --git a/tests/lib b/tests/lib index 5b6b1d51..36de84b6 100644 --- 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##*/}}" @@ -62,7 +64,7 @@ t-set-using-tmp test -f $tmp/.save-env || \ env -0 >$tmp/.save-env -ln -f $troot/ssh ssh +ln -sf $troot/ssh ssh export DEBCHANGE_VENDOR=dpkg unset VISUAL @@ -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 @@ -342,7 +346,7 @@ t-archive () { v=$2 local dscf=${p}_$2.dsc rm -f $tmp/mirror/pool/main/${p}_* - ln $troot/pkg-srcs/${p}_${2%-*}* $tmp/mirror/pool/main/ + ln -s $troot/pkg-srcs/${p}_${2%-*}* $tmp/mirror/pool/main/ t-archive-query $suite rm -rf $tmp/extract mkdir $tmp/extract @@ -404,6 +408,13 @@ t-git-fsck () { esac } +t-check-only-bpd () { + if [ "$bpd" = .. ]; then return; fi + t-files-notexist \ + $tmp/*.{deb,changes,dsc,buildinfo} \ + $tmp/*.{tar,diff}.* +} + t-fscks () { ( shopt -s nullglob @@ -416,6 +427,7 @@ t-fscks () { t-ok () { : '========================================' + t-check-only-bpd t-fscks t-save-artifacts echo ok. @@ -508,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" @@ -724,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 @@ -770,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 @@ -814,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 @@ -1032,7 +1067,7 @@ t-make-orig () { local v=$2 local tag=${3-v$2} ust=${p}_${v}.orig.tar.gz - GZIP=-1 git archive -o ../$ust --prefix=${p}-${v}/ $tag + GZIP=-1 git archive -o $bpd/$ust --prefix=${p}-${v}/ $tag } t-merge-conflicted-stripping-conflict-markers () { @@ -1080,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 @@ -1102,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" @@ -1169,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 @@ -1188,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" }