summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (show whitespace changes)
-rwxr-xr-xtests/setup.sh10
1 files changed, 8 insertions, 2 deletions
diff --git a/tests/setup.sh b/tests/setup.sh
index 5f20286..66bf406 100755
--- a/tests/setup.sh
+++ b/tests/setup.sh
@@ -22,89 +22,95 @@ mkrepo() {
22 dir=$PWD 22 dir=$PWD
23 test -d $name && return 23 test -d $name && return
24 printf "Creating testrepo %s\n" $name 24 printf "Creating testrepo %s\n" $name
25 mkdir -p $name 25 mkdir -p $name
26 cd $name 26 cd $name
27 git init 27 git init
28 for ((n=1; n<=count; n++)) 28 for ((n=1; n<=count; n++))
29 do 29 do
30 echo $n >file-$n 30 echo $n >file-$n
31 git add file-$n 31 git add file-$n
32 git commit -m "commit $n" 32 git commit -m "commit $n"
33 done 33 done
34 cd $dir 34 cd $dir
35} 35}
36 36
37setup_repos() 37setup_repos()
38{ 38{
39 rm -rf trash/cache 39 rm -rf trash/cache
40 mkdir -p trash/cache 40 mkdir -p trash/cache
41 mkrepo trash/repos/foo 5 >/dev/null 41 mkrepo trash/repos/foo 5 >/dev/null
42 mkrepo trash/repos/bar 50 >/dev/null 42 mkrepo trash/repos/bar 50 >/dev/null
43 cat >trash/cgitrc <<EOF 43 cat >trash/cgitrc <<EOF
44virtual-root=/ 44virtual-root=/
45cache-root=$PWD/trash/cache 45cache-root=$PWD/trash/cache
46 46
47nocache=0 47nocache=0
48snapshots=tar.gz tar.bz zip 48snapshots=tar.gz tar.bz zip
49enable-log-filecount=1 49enable-log-filecount=1
50enable-log-linecount=1 50enable-log-linecount=1
51summary-log=5 51summary-log=5
52summary-branches=5 52summary-branches=5
53summary-tags=5 53summary-tags=5
54 54
55repo.url=foo 55repo.url=foo
56repo.path=$PWD/trash/repos/foo/.git 56repo.path=$PWD/trash/repos/foo/.git
57# Do not specify a description for this repo, as it then will be assigned 57# Do not specify a description for this repo, as it then will be assigned
58# the constant value "[no description]" (which actually used to cause a 58# the constant value "[no description]" (which actually used to cause a
59# segfault). 59# segfault).
60 60
61repo.url=bar 61repo.url=bar
62repo.path=$PWD/trash/repos/bar/.git 62repo.path=$PWD/trash/repos/bar/.git
63repo.desc=the bar repo 63repo.desc=the bar repo
64EOF 64EOF
65} 65}
66 66
67prepare_tests() 67prepare_tests()
68{ 68{
69 setup_repos 69 setup_repos
70 rm -f test-output.log 2>/dev/null
70 test_count=0 71 test_count=0
71 test_failed=0 72 test_failed=0
73 echo "[$0]" "$@" >test-output.log
72 echo "$@" "($0)" 74 echo "$@" "($0)"
73} 75}
74 76
75tests_done() 77tests_done()
76{ 78{
77 printf "\n" 79 printf "\n"
78 if test $test_failed -gt 0 80 if test $test_failed -gt 0
79 then 81 then
80 printf "[%s of %s tests failed]\n" $test_failed $test_count 82 printf "test: *** %s failure(s), logfile=%s\n" \
83 $test_failed "$(pwd)/test-output.log"
81 false 84 false
82 fi 85 fi
83} 86}
84 87
85run_test() 88run_test()
86{ 89{
87 desc=$1 90 desc=$1
88 script=$2 91 script=$2
89 ((test_count++)) 92 ((test_count++))
90 eval "$2" >test-output.log 93 printf "\ntest %d: name='%s'\n" $test_count "$desc" >>test-output.log
94 printf "test %d: eval='%s'\n" $test_count "$2" >>test-output.log
95 eval "$2" >>test-output.log 2>>test-output.log
91 res=$? 96 res=$?
97 printf "test %d: exitcode=%d\n" $test_count $res >>test-output.log
92 if test $res = 0 98 if test $res = 0
93 then 99 then
94 printf " %2d) %-60s [ok]\n" $test_count "$desc" 100 printf " %2d) %-60s [ok]\n" $test_count "$desc"
95 else 101 else
96 ((test_failed++)) 102 ((test_failed++))
97 printf " %2d) %-60s [failed]\n" $test_count "$desc" 103 printf " %2d) %-60s [failed]\n" $test_count "$desc"
98 fi 104 fi
99} 105}
100 106
101cgit_query() 107cgit_query()
102{ 108{
103 CGIT_CONFIG="$PWD/trash/cgitrc" QUERY_STRING="$1" "$PWD/../cgit" 109 CGIT_CONFIG="$PWD/trash/cgitrc" QUERY_STRING="$1" "$PWD/../cgit"
104} 110}
105 111
106cgit_url() 112cgit_url()
107{ 113{
108 CGIT_CONFIG="$PWD/trash/cgitrc" QUERY_STRING="url=$1" "$PWD/../cgit" 114 CGIT_CONFIG="$PWD/trash/cgitrc" QUERY_STRING="url=$1" "$PWD/../cgit"
109} 115}
110 116