X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=tests%2Flib;h=248dca568f5214dabc24bb70eb0732af1b3ceec5;hb=e9f102d97eb1c24b16b0c5641fcfd1fbc4c0be20;hp=a297227fc73c6c6376927eb6db5f09b13e34b29a;hpb=f0b46b0422f6ce3bb7c360ee3717eef95d621526;p=dgit.git diff --git a/tests/lib b/tests/lib index a297227f..248dca56 100644 --- a/tests/lib +++ b/tests/lib @@ -33,13 +33,16 @@ export DGIT_TEST_DEBUG : ${DGIT_TEST_DISTRO+ ${distro=${DGIT_TEST_DISTRO}}} -export GIT_COMMITTER_DATE='1515000000 +0100' -export GIT_AUTHOR_DATE='1515000000 +0100' +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##*/}}" export DGIT_TEST_TROOT=$troot +bpd=.. tmp=$ADTTMP if [ x"$tmp" = x ]; then @@ -61,10 +64,11 @@ 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 +unset GIT_EDITOR mkdir -p $tmp/incoming cat <$tmp/dput.cf @@ -90,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 @@ -340,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 @@ -402,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 @@ -414,6 +427,7 @@ t-fscks () { t-ok () { : '========================================' + t-check-only-bpd t-fscks t-save-artifacts echo ok. @@ -674,6 +688,12 @@ t-push-was-source-only () { done } +t-push-included () { + for f in $@; do + stat $tmp/incoming/$f + done +} + t-pushed-good () { local branch=$1 local suite=${2:-sid} @@ -701,6 +721,12 @@ t-pushed-good-core () { git verify-tag `t-v-tag` } +t-pushed-good-check-changes () { + changes_filename="$tmp/incoming/${p}_${v}_*.changes" + grep -E "^Distribution: $suite" $changes_filename + grep -E "^Version: $v" $changes_filename +} + t-splitbrain-pushed-good--unpack () { cd $tmp rm -rf t-unpack @@ -756,16 +782,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 @@ -800,12 +831,14 @@ 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 @@ -1012,10 +1045,32 @@ t-make-badcommit () { t-expect-fsck-fail $badcommit } +t-make-orig () { + # leaves ust set to filename of orig tarball + local p=$1 + local v=$2 + local tag=${3-v$2} + ust=${p}_${v}.orig.tar.gz + GZIP=-1 git archive -o $bpd/$ust --prefix=${p}-${v}/ $tag +} + +t-merge-conflicted-stripping-conflict-markers () { + local otherbranch=$1 + local file=$2 + + t-expect-fail F:"Merge conflict in $file" \ + git merge $otherbranch + + perl -i~ -ne 'print unless m{^(?:\<\<\<|\>\>\>|===)}' "$file" + git add "$file" + git commit --no-edit +} + t-commit () { local msg=$1 v=${2:-${majorv:-1}.$revision} - dch --force-distribution -v$v --distribution ${3:-unstable} "$1" + $troot/tstunt/debchange \ + --force-distribution -v$v --distribution ${3:-unstable} "$1" git add debian/changelog debcommit revision=$(( ${revision-0} + 1 )) @@ -1032,7 +1087,7 @@ t-dch-commit-r () { } t-dch-commit () { - faketime @"${GIT_AUTHOR_DATE% *}" dch "$@" + $troot/tstunt/debchange "$@" git commit -m "dch $*" debian/changelog } @@ -1044,7 +1099,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 @@ -1066,15 +1120,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" @@ -1133,6 +1178,16 @@ t-policy-periodic () { : '))))))))))))))))))))))))))))))))))))))))' } +t-buildproductsdir-config () { + bpd=$tmp/bpd + t-git-config dgit.default.build-products-dir $bpd + mkdir -p $bpd + cat <>$tmp/.gbp.conf +[buildpackage] +export-dir = $bpd +END +} + t-restrict () { local restriction=$1 (cd $root; t-restriction-$restriction >&2)