X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=tests%2Flib;h=87dd37617e7f6769a8eb42657e745ecf7af9b177;hb=45fad9bad87765ce13511a0ba8f302ba9ddd1cd5;hp=6533a90b7aac96ec9d0e93eb2b08c544cb361237;hpb=f59ad0b300d08bbc4ce630188d3fc990003ffdaf;p=dgit.git diff --git a/tests/lib b/tests/lib index 6533a90b..87dd3761 100644 --- a/tests/lib +++ b/tests/lib @@ -17,6 +17,8 @@ funcs: ${FUNCNAME[*]} lines: ${BASH_LINENO[*]} files: ${BASH_SOURCE[*]} END + t-save-artifacts + exit 16 } @@ -41,6 +43,7 @@ export DGIT_TEST_TROOT=$troot tmp=$ADTTMP if [ x"$tmp" = x ]; then + export DGIT_TEST_BYHAND=1 mkdir -p tests/tmp tmpbase=$troot/tmp tmp=tests/tmp/$testname @@ -152,7 +155,7 @@ t-reporefs () { exec >"$outputfile" if test -d $whichrepo; then cd $whichrepo - git show-ref |sort + git show-ref |t-sort fi) } @@ -408,9 +411,31 @@ t-fscks () { t-ok () { : '========================================' t-fscks + t-save-artifacts echo ok. } +t-save-artifacts () { + artifacts="$AUTOPKGTEST_ARTIFACTS" + if [ x"$artifacts" = x ]; then return; fi + if [ x"tmp" = x ]; then return; fi + : '(((((((((( t-save-artifacts ))))))))))' + cp -a "$tmp"/. "$artifacts"/. + cd "$artifacts"/. + find . \( -name \*.tar -o -name \*.sample \) -print0 | \ + xargs -0r rm -v + find . \( -name .git \ + -o -path ./salsa/\* \ + -o -path ./git/\*.git \ + \) -type d \ + \! -path '*/.git/*/.git' -exec sh -xec ' + cd "$1" + "$2"/playtree-save-refs + git gc --prune=all + ' x '{}' "$troot" \; + : ')))))))))) t-save-artifacts ))))))))))' +} + t-rm-dput-dropping () { rm -f $tmp/${p}_${v}_*.upload } @@ -422,6 +447,7 @@ t-dgit () { {{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{' $dgit --dgit=$dgit --dget:-u --dput:--config=$tmp/dput.cf \ ${dgit_config_debian_alias-"--config-lookup-explode=dgit-distro.debian.alias-canon"} \ + ${DGIT_GITDEBREBASE_TEST+--git-debrebase=}${DGIT_GITDEBREBASE_TEST} \ ${distro+${distro:+-d}}${distro--dtest-dummy} \ $DGIT_TEST_OPTS $DGIT_TEST_DEBUG \ -kBCD22CD83243B79D3DFAC33EA3DBCBC039B13D8A $t_dgit_xopts "$@" @@ -479,12 +505,12 @@ t-setup-done () { local savedirs=$2 local importeval=$3 - local import=IMPORT.${0##*/} + local import=IMPORT.${DGIT_TEST_TESTNAME-${0##*/}} exec 4>$tmp/$import.new local vn for vn in $savevars; do - perl >&4 -I. -MDebian::Dgit -e ' + perl >&4 -"I$root" -MDebian::Dgit -e ' printf "%s=%s\n", $ARGV[0], shellquote $ARGV[1] ' $vn "$(eval "printf '%s\n' \"\$$vn\"")" done @@ -1004,8 +1030,18 @@ t-commit () { revision=$(( ${revision-0} + 1 )) } +t-dch-r-rune () { + local cmd="$1"; shift + local suite=${1-unstable} + $cmd -r -D "$suite" '' +} + +t-dch-commit-r () { + t-dch-r-rune t-dch-commit "$@" +} + t-dch-commit () { - dch "$@" + faketime @"${GIT_AUTHOR_DATE% *}" dch "$@" git commit -m "dch $*" debian/changelog } @@ -1133,7 +1169,11 @@ t-alt-test () { t-git-config dgit.default.old-dsc-distro test-dummy -case "$0" in -*/gnupg) ;; -*) t-setup-import gnupg ;; -esac +for import in ${autoimport-gnupg}; do + case "$0" in + */$import) ;; + *) + t-setup-import $import + ;; + esac +done