chiark / gitweb /
test suite: Fix trustingpolicy-replay & dput-ng.
[dgit.git] / tests / lib
index fcc2a69766e73b34a32b8ba0cdd1112893c1775f..4ef275ca1641f62804675c91ab1cf516b66d5692 100644 (file)
--- a/tests/lib
+++ b/tests/lib
@@ -31,8 +31,8 @@ export DGIT_TEST_DEBUG
 
 : ${DGIT_TEST_DISTRO+ ${distro=${DGIT_TEST_DISTRO}}}
 
-export GIT_COMMITTER_DATE='1440253867 +0100'
-export GIT_AUTHOR_DATE='1440253867 +0100'
+export GIT_COMMITTER_DATE='1515000000 +0100'
+export GIT_AUTHOR_DATE='1515000000 +0100'
 
 root=`pwd`
 troot=$root/tests
@@ -41,6 +41,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 +153,7 @@ t-reporefs () {
         exec >"$outputfile"
         if test -d $whichrepo; then
                cd $whichrepo
-               git show-ref |sort
+               git show-ref |t-sort
        fi)
 }
 
@@ -189,6 +190,13 @@ t-git-none () {
        (set -e; cd $tmp/git; tar xf $troot/git-template.tar)
 }
 
+t-salsa-add-remote () {
+       local d=$tmp/salsa/$p
+       mkdir -p $d
+       (set -e; cd $d; git init --bare)
+       git remote add ${1-origin} $d
+}
+
 t-git-merge-base () {
        git merge-base $1 $2 || test $? = 1
 }
@@ -415,9 +423,10 @@ 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 \
-               -k39B13D8A $t_dgit_xopts "$@"
+               -kBCD22CD83243B79D3DFAC33EA3DBCBC039B13D8A $t_dgit_xopts "$@"
        : '}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
 '
 }
@@ -472,12 +481,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
@@ -635,6 +644,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}
@@ -982,6 +1006,11 @@ t-commit () {
        revision=$(( ${revision-0} + 1 ))
 }
 
+t-dch-commit () {
+       faketime @"${GIT_AUTHOR_DATE% *}" dch "$@"
+       git commit -m "dch $*" debian/changelog
+}
+
 t-git-config () {
        git config --global "$@"
 }
@@ -1106,7 +1135,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