chiark / gitweb /
baf3e4625cea893d4454f991cc5c58536d4686af
[dgit.git] / tests / lib
1 #
2
3 exec 2>&1
4
5 root=`pwd`
6 troot=$root/tests
7 testname="${0##*/}"
8
9 tmp=$ADTTMP
10 if [ x"$tmp" = x ]; then
11         mkdir -p tests/tmp
12         tmp=tests/tmp/$testname
13         rm -rf $tmp
14         mkdir $tmp
15 fi
16 cd $tmp
17 tmp=`pwd`
18 export DGIT_TEST_DUMMY_DIR=$tmp
19 ln $troot/ssh ssh
20
21 mkdir $tmp/gnupg
22 export GNUPGHOME=$tmp/gnupg
23
24 t-git () {
25         mkdir -p git
26         cp -al $troot/git-srcs/$1 git/.
27 }
28
29 t-git-none () {
30         mkdir -p git
31 }
32
33 t-archive () {
34         p=$1
35         mkdir -p aq mirror
36         local dscf=${p}_$2.dsc
37         ln $troot/pkg-srcs/${p}_${2%-*}* mirror/
38         echo sid >aq/suite.unstable
39         echo "$2 $dscf" >>aq/package.sid.${p}
40         mkdir extract
41         (set -e; cd extract; dpkg-source -x ../mirror/$dscf)
42 }
43
44 t-dgit () {
45         ${DGIT_TEST-dgit} --dget:-u -dtest-dummy "$@"
46 }
47
48 t-diff-nogit () {
49         diff --exclude=.git -ruN $*
50 }
51
52 t-output () {
53         printf "%s\n" "$1" >$tmp/t.want
54         shift
55         "$@" >$tmp/t.got
56         diff $tmp/t.want $tmp/t.got
57 }
58
59 t-clean-on-branch () {
60         t-output "## $1" git status -b --porcelain
61 }
62
63 t-refs-same () {
64         local f=$1
65         git rev-parse $f >$tmp/t.ref1
66         local g
67         for g in $*; do
68                 git rev-parse $g >$tmp/t.refn
69                 diff $tmp/t.ref1 $tmp/t.refn
70         done
71 }