X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=tests%2Flib;h=836ce2e2d23967140c30aaee95bcadba9b40cd3f;hb=972202563e62f7be43431e31497f1d2a19ada0d8;hp=1158f0a1448b0248a564e04e19d16e8f2a1db38f;hpb=ae14faf72b4e06be6bdf9d88db2f524facc6dcc9;p=dgit.git diff --git a/tests/lib b/tests/lib index 1158f0a1..836ce2e2 100644 --- a/tests/lib +++ b/tests/lib @@ -24,14 +24,14 @@ fi cd $tmp tmp=`pwd` -export HOME=$tmp -export DGIT_TEST_DUMMY_DIR=$tmp + +t-set-using-tmp + ln -f $troot/ssh ssh mkdir -p $tmp/gnupg cp $troot/gnupg/* $tmp/gnupg chmod go-rw $tmp/gnupg/* -export GNUPGHOME=$tmp/gnupg mkdir -p $tmp/incoming cat <$tmp/dput.cf @@ -92,8 +92,10 @@ t-prep-newpackage () { t-git-none t-worktree $v cd $p - git branch -m dgit/sid master - git remote rm dgit + if ! git-show-ref --verify --quiet refs/heads/master; then + git branch -m dgit/sid master + git remote rm dgit + fi cd .. } @@ -150,15 +152,17 @@ t-archive-updated () { } t-archive-process-incoming () { - mv incoming/${p}_${v}[._]* mirror/pool/main/ - t-archive-query + local suite=$1 + mv $tmp/incoming/${p}_${v}[._]* $tmp/mirror/pool/main/ + t-archive-query "$suite" } t-archive-query () { + local suite=${1-sid} local dscf=main/${p}_${v}.dsc - local sha=`sha256sum >$tmp/aq/package.sid.${p} - t-archive-updated sid $p + local sha=`sha256sum <$tmp/mirror/pool/$dscf` + echo "${v} ${sha% -} $dscf" >>$tmp/aq/package.$suite.${p} + t-archive-updated $suite $p } t-archive () { @@ -173,6 +177,28 @@ t-archive () { (set -e; cd $tmp/extract; dpkg-source -x ../mirror/pool/main/$dscf) } +t-git-dir-time-passes () { + touch -d 'last year' $tmp/git/$p.git +} + +t-git-dir-check () { + local gitdir=$tmp/git/$p.git + case "$1" in + enoent) + if test -e "$gitdir"; then fail "$gitdir exists"; fi + return + ;; + public) wantstat='7[75]5' ;; + secret) wantstat='7[70]0' ;; + *) fail "$1 t-git-dir-check ?" ;; + esac + gotstat=`stat -c%a $gitdir` + case "$gotstat" in + *$wantstat) return ;; + *) fail "$gitdir has mode $gotstat, expected $wantstat" ;; + esac +} + t-dgit () { local dgit=${DGIT_TEST-dgit} : ' @@ -297,6 +323,35 @@ t-822-field () { ' <$file } +t-stunt-envvar () { + local var=$1 + local tstunt=$2 + eval ' + case "'$var'" in + "$tstunt:"*) ;; + *":$tstunt:"*) ;; + *) '$var'="$tstunt:$'$var'" ;; + esac + ' +} + +t-tstunt () { + local tstunt=$tmp/tstunt + t-stunt-envvar PATH $tstunt + t-stunt-envvar PERLLIB $tstunt + local f + for f in "$@"; do + f="./$f" + local d="$tstunt/${f%/*}" + mkdir -p $d + ln -sf "$troot/tstunt/$f" "$d"/. + done +} + +t-tstunt-parsechangelog () { + t-tstunt dpkg-parsechangelog Dpkg/Changelog/Parse.pm +} + t-ref-dsc-dgit () { local dsc=${p}_${v}.dsc local val=`t-822-field $tmp/incoming/$dsc Dgit` @@ -317,7 +372,6 @@ t-git-config () { t-drs () { export DGIT_TEST_TROOT=$troot - export DGIT_TEST_TMP=$tmp 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 @@ -366,6 +420,11 @@ t-debpolicy () { t-policy-admin create-db } +t-policy-periodic () { + ${DGIT_REPOS_SERVER_TEST-dgit-repos-server} \ + test-dummy $drs_dispatch '' --cron +} + t-chain-test () { local ct=$1 local d=${0%/*}