X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=tests%2Flib;h=ce89a7091d015ead95d70602224c5212970c7af7;hp=7b9de175155708bf979ccf036453d1b0d6d3dbb3;hb=63911b5d576e7250c132d117c53e66aaf34b7f47;hpb=8e4a69d54bb811aabe6eb2b133d142771c30f997 diff --git a/tests/lib b/tests/lib index 7b9de175..ce89a709 100644 --- a/tests/lib +++ b/tests/lib @@ -12,6 +12,7 @@ t-report-failure () { rc=$1 cat <&2 TEST FAILED +cwd: $PWD funcs: ${FUNCNAME[*]} lines: ${BASH_LINENO[*]} files: ${BASH_SOURCE[*]} @@ -36,6 +37,7 @@ export GIT_AUTHOR_DATE='1440253867 +0100' root=`pwd` troot=$root/tests testname="${DGIT_TEST_TESTNAME-${0##*/}}" +export DGIT_TEST_TROOT=$troot tmp=$ADTTMP if [ x"$tmp" = x ]; then @@ -358,9 +360,11 @@ t-expect-fsck-fail () { } t-git-fsck () { + local fsckerrs=$(git rev-parse --git-dir)/dgit-test-fsck.errs + set +e LC_MESSAGES=C git fsck --no-dangling --strict 2>&1 \ - | tee dgit-test-fsck.errs + | tee $fsckerrs ps="${PIPESTATUS[*]}" set -e @@ -374,7 +378,7 @@ t-git-fsck () { pats+=(-e 'notice: No default references') set +e - grep -v "${pats[@]}" dgit-test-fsck.errs + grep -v "${pats[@]}" $fsckerrs rc=$? set -e case $rc in @@ -388,7 +392,7 @@ t-fscks () { ( shopt -s nullglob for d in $tmp/*/.git $tmp/git/*.git; do - cd "$d" + cd "${d%/.git}" t-git-fsck done ) @@ -406,18 +410,29 @@ t-rm-dput-dropping () { t-dgit () { local dgit=${DGIT_TEST-dgit} - pwd + pwd >&2 : ' {{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{' $dgit --dgit=$dgit --dget:-u --dput:--config=$tmp/dput.cf \ ${dgit_config_debian_alias-"--config-lookup-explode=dgit-distro.debian.alias-canon"} \ - ${distro--dtest-dummy} ${distro+${distro:+-d}${distro}} \ + ${distro+${distro:+-d}}${distro--dtest-dummy} \ $DGIT_TEST_OPTS $DGIT_TEST_DEBUG \ - -k39B13D8A $t_dgit_xopts "$@" + -kBCD22CD83243B79D3DFAC33EA3DBCBC039B13D8A $t_dgit_xopts "$@" : '}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} ' } +t-dgit-manpage () { + local section=$1 + local page=$2 + (export LC_ALL=C.UTF-8 + if [ "$DGIT_TEST_INTREE" ]; then + make -C $DGIT_TEST_INTREE $page.$section.view + else + man $section $page + fi) +} + t-diff-nogit () { diff --exclude=.git --exclude=.pc -ruN $* } @@ -620,6 +635,21 @@ t-check-pushed-master () { if [ x$mbase = x$master ]; then fail "failed to ff master"; fi } +t-push-was-source-only () { + local f + t-files-notexist $tmp/incoming/${p}_${v}_*.deb \ + $tmp/incoming/${p}_${v}_*.udeb + # we permit _source.buildinfo files; see test_changes_source_only() + for f in $tmp/incoming/${p}_${v}_*.buildinfo; do + if [ -e $f ]; then + case "$f" in + *_source.buildinfo) ;; + *) fail "non-source-only file $f exists!" ;; + esac + fi + done +} + t-pushed-good () { local branch=$1 local suite=${2:-sid} @@ -783,6 +813,7 @@ t-822-field () { t-defdistro () { export DGIT_TEST_DISTRO='' + distro='' t-git-config dgit-suite.unstable.distro test-dummy } @@ -971,7 +1002,6 @@ t-git-config () { } t-drs () { - export DGIT_TEST_TROOT=$troot 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