chiark / gitweb /
tests: drs-push-rejects: fix unexpected success msg
[dgit.git] / tests / lib
index 7c82081a58ebcc7ea3633c06266bce66561c0d9f..f6f4e2944eea6a50b1b06f860741801b2de57435 100644 (file)
--- a/tests/lib
+++ b/tests/lib
@@ -39,16 +39,27 @@ fail () {
        exit 1
 }
 
+t-untar () {
+       local tarfile=$1.tar
+       local edittree=$1.edit
+       if test -d "$edittree"; then
+               cp -al "$edittree"/* .
+       else
+               tar xf "$tarfile"
+       fi
+}
+
 t-worktree () {
        rm -rf $p
-       tar xf $troot/worktrees/${p}_$1.tar
+       t-untar $troot/worktrees/${p}_$1
 }
 
 t-git () {
        p=$1
        v=$2
        mkdir -p $tmp/git
-       (set -e; cd $tmp/git; tar xf $troot/git-srcs/${p}_$v.git.tar)
+       local gs=$troot/git-srcs/${p}_$v.git
+       (set -e; cd $tmp/git; t-untar $gs)
 }
 
 t-git-none () {
@@ -230,6 +241,8 @@ t-drs () {
  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
+       cp $root/tests/gnupg/{dd.gpg,dm.gpg,dm.txt} $tmp/.
+       cp $root/tests/suites $tmp/.
 }
 
 t-drs-test () {
@@ -237,6 +250,5 @@ t-drs-test () {
        cd $root
        export DGIT_TEST_TESTNAME="$testname"
        export ADTTMP=$tmp
-       cp $root/tests/gnupg/{dd.gpg,dm.gpg,dm.txt} $tmp/.
        exec "${0///drs-//}" "$@"
 }