chiark / gitweb /
dgit-repos-server: tests: no need for troot
[dgit.git] / tests / lib
index 3dc46d64ea8cb88b711a34228be9c8c297a92a26..60abb90945611d440f25f61a8d8682fb8a076746 100644 (file)
--- a/tests/lib
+++ b/tests/lib
@@ -5,7 +5,7 @@ set -x
 
 root=`pwd`
 troot=$root/tests
-testname="${0##*/}"
+testname="${DGIT_TEST_TESTNAME-${0##*/}}"
 
 tmp=$ADTTMP
 if [ x"$tmp" = x ]; then
@@ -15,16 +15,18 @@ if [ x"$tmp" = x ]; then
        mkdir $tmp
 fi
 cd $tmp
+export HOME=$tmp
+
 tmp=`pwd`
 export DGIT_TEST_DUMMY_DIR=$tmp
-ln $troot/ssh ssh
+ln -f $troot/ssh ssh
 
-mkdir $tmp/gnupg
+mkdir -p $tmp/gnupg
 cp $troot/gnupg/* $tmp/gnupg
 chmod go-rw $tmp/gnupg/*
 export GNUPGHOME=$tmp/gnupg
 
-mkdir $tmp/incoming
+mkdir -p $tmp/incoming
 cat <<END >$tmp/dput.cf
 [test-dummy]
 method                 = local
@@ -82,10 +84,13 @@ t-archive () {
 }
 
 t-dgit () {
-       : '{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{'
+       : '
+
+{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{'
        ${DGIT_TEST-dgit} --dget:-u --dput:--config=$tmp/dput.cf \
                -dtest-dummy $DGIT_TEST_OPTS -D -k39B13D8A "$@"
-       : '}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}'
+       : '}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
+'
 }
 
 t-diff-nogit () {
@@ -214,3 +219,23 @@ t-apply-diff () {
        (cd $troot/pkg-srcs; debdiff ${p}_${v1}.dsc ${p}_${v2}.dsc) \
                | patch -p1 -u
 }
+
+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
+}
+
+t-drs-test () {
+       t-drs
+       cd $root
+       export DGIT_TEST_TESTNAME="$testname"
+       export ADTTMP=$tmp
+       exec "${0///drs-//}" "$@"
+}