X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=tests%2Flib;h=749509c4fc240d301d77cb56c8d33adbb263362d;hb=HEAD;hp=efcf34db2580260d1fcf3ff1b485e9bcd4b75a21;hpb=f7ca5b3659a09a796bbeb3cee93fbf3ab22755a4;p=dgit.git diff --git a/tests/lib b/tests/lib index efcf34db..749509c4 100644 --- a/tests/lib +++ b/tests/lib @@ -22,7 +22,23 @@ END exit 16 } -trap 'test $? = 0 || t-report-failure' EXIT +trap ' + rc=$? + set +x + test $rc = 0 || echo " +%%%%%%%%%%%%%%%%%%%% EXITING $rc %%%%%%%%%%%%%%%%%%%% + + Most relevant logs are just before assignment rc=$rc + Will now do cleanup etc. +" + set -x + set +e + pwd + [ "x$DGIT_TEST_KEEP_MUSTCLEAN" != x ] || \ + [ "x$DGIT_TEST_TMP" = x ] || rm -rf $DGIT_TEST_TMP/must-clean + set -e + test $rc = 0 || t-report-failure +' EXIT t-filter-out-git-hyphen-dir @@ -40,6 +56,7 @@ export GIT_COMMITTER_DATE='1530000000 +0100' export GIT_AUTHOR_DATE='1530000000 +0100' export LC_CTYPE=C.UTF-8 +unset CDPATH root=`pwd` troot=$root/tests @@ -73,6 +90,11 @@ export DEBCHANGE_VENDOR=dpkg unset VISUAL unset GIT_EDITOR +mkdir -p $tmp/must-clean +# must-clean is usually removed after each test, on success or failure. +# But this must not be relied on for correctness, only for garbage +# collection etc. + mkdir -p $tmp/incoming cat <$tmp/dput.cf [test-dummy] @@ -349,7 +371,8 @@ t-archive () { v=$2 local dscf=${p}_$2.dsc rm -f $tmp/mirror/pool/main/${p}_* - ln -s $troot/pkg-srcs/${p}_${2%-*}* $tmp/mirror/pool/main/ + ${t_archive_ln_s-ln -s} \ + $troot/pkg-srcs/${p}_${2%-*}* $tmp/mirror/pool/main/ t-archive-query $suite rm -rf $tmp/extract mkdir $tmp/extract @@ -463,6 +486,19 @@ t-dgit () { ' } +t-non-dgit-upload () { + t-dgit -wgf build-source + + cd .. + c=${p}_${v}_source.changes + debsign -kBCD22CD83243B79D3DFAC33EA3DBCBC039B13D8A $c + dput -c $tmp/dput.cf test-dummy $c + + t-archive-process-incoming sid + t-git-next-date + cd $p +} + t-dgit-manpage () { local section=$1 local page=$2 @@ -572,6 +608,8 @@ t-setup-import () { (set -e; cd $tmp; tar xf "$simport.tar") fi + mkdir -p $tmp/must-clean + . "$simport" } @@ -776,11 +814,12 @@ t-splitbrain-pushed-good-start () { t-refs-same-start t-ref-same refs/heads/split.p - case "$(t-git-get-ref refs/heads/split.b)" in + local split_b=$(t-git-get-ref refs/heads/split.b) + case "$split_b" in "$t_ref_val") ;; "$(git rev-parse refs/heads/split.p^0)") ;; "$(git rev-parse refs/heads/split.p^1)") ;; - *) fail 'bad b/p' ;; + *) fail "bad b/p (b=$split_b)" ;; esac t-pushed-good-core @@ -1026,7 +1065,6 @@ t-git-pseudo-merge () { } t-gbp-example-prep-no-ff () { - t-tstunt-parsechangelog t-archive example 1.0-1 t-git-none t-worktree 1.0 @@ -1186,7 +1224,7 @@ t-debpolicy () { t-dsd t-policy dgit-repos-policy-debian - mkdir $tmp/git + mkdir -p $tmp/git t-policy-admin create-db } @@ -1202,24 +1240,39 @@ t-tagupl-settings () { 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 "$@" + mkdir ../pretend-salsa + (set -e; cd ../pretend-salsa; git init --bare) + git remote add salsa $tmp/pretend-salsa + # git branch --set-upstream-to complains, so + git config branch.master.remote salsa + git config branch.master.merge refs/heads/master +} +t-tagupl-run-drs () { + local source=$1 cd .. - mkdir tagupl cd tagupl DGIT_DRS_ANY_URL=1 \ - DGIT_DRS_MODE="tag2upload $tmp/$p $tagname" \ + DGIT_DRS_MODE="tag2upload $source $tagname" \ $troot/drs-git-ext cd $tmp/$p +} + +t-tagupl-test () { + ${DGIT_DEBPUSH_TEST-git debpush} \ + --distro=test-dummy -u Senatus "$@" + + mkdir ../tagupl + t-tagupl-run-drs $tmp/pretend-salsa + + cd ../pretend-salsa + t-refs-same refs/heads/master + cd ../$p t-dgit fetch - t-pushed-good master } t-buildproductsdir-config () {