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 <<END >$tmp/dput.cf
}
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 <mirror/pool/$dscf`
- echo "${v} ${sha% -} $dscf" >>$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 () {
(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-rm-dput-dropping () {
+ rm -f $tmp/${p}_${v}_*.upload
+}
+
t-dgit () {
local dgit=${DGIT_TEST-dgit}
: '
' <$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`
| patch -p1 -u
}
+t-commit () {
+ local msg=$1
+ v=1.$revision
+ dch -v$v --distribution unstable "$1"
+ git add debian/changelog
+ debcommit
+ revision=$(( $revision + 1 ))
+}
+
t-git-config () {
git config --global "$@"
}
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
${DGIT_INFRA_PFX}dgit-repos-admin-debian --repos $tmp/git "$@"
}
-t-debpolicy () {
+t-policy () {
+ local policyhook=$1
t-dsd
- ln -sf ${DGIT_INFRA_PFX}dgit-repos-policy-debian \
+ ln -sf ${DGIT_INFRA_PFX}$policyhook \
$drs_dispatch/policy-hook
mkdir $tmp/git
t-policy-admin create-db
}
+t-debpolicy () {
+ t-policy dgit-repos-policy-debian
+}
+
t-policy-periodic () {
${DGIT_REPOS_SERVER_TEST-dgit-repos-server} \
test-dummy $drs_dispatch '' --cron