summaryrefslogtreecommitdiffabout
path: root/tests/setup.sh
Unidiff
Diffstat (limited to 'tests/setup.sh') (more/less context) (ignore whitespace changes)
-rwxr-xr-xtests/setup.sh1
1 files changed, 1 insertions, 0 deletions
diff --git a/tests/setup.sh b/tests/setup.sh
index b2f1169..b9475a3 100755
--- a/tests/setup.sh
+++ b/tests/setup.sh
@@ -1,113 +1,114 @@
1# This file should be sourced by all test-scripts 1# This file should be sourced by all test-scripts
2# 2#
3# Main functions: 3# Main functions:
4# prepare_tests(description) - setup for testing, i.e. create repos+config 4# prepare_tests(description) - setup for testing, i.e. create repos+config
5# run_test(description, script) - run one test, i.e. eval script 5# run_test(description, script) - run one test, i.e. eval script
6# 6#
7# Helper functions 7# Helper functions
8# cgit_query(querystring) - call cgit with the specified querystring 8# cgit_query(querystring) - call cgit with the specified querystring
9# cgit_url(url) - call cgit with the specified virtual url 9# cgit_url(url) - call cgit with the specified virtual url
10# 10#
11# Example script: 11# Example script:
12# 12#
13# . setup.sh 13# . setup.sh
14# prepare_tests "html validation" 14# prepare_tests "html validation"
15# run_test 'repo index' 'cgit_url "/" | tidy -e' 15# run_test 'repo index' 'cgit_url "/" | tidy -e'
16# run_test 'repo summary' 'cgit_url "/foo" | tidy -e' 16# run_test 'repo summary' 'cgit_url "/foo" | tidy -e'
17 17
18unset CDPATH
18 19
19mkrepo() { 20mkrepo() {
20 name=$1 21 name=$1
21 count=$2 22 count=$2
22 dir=$PWD 23 dir=$PWD
23 test -d "$name" && return 24 test -d "$name" && return
24 printf "Creating testrepo %s\n" $name 25 printf "Creating testrepo %s\n" $name
25 mkdir -p "$name" 26 mkdir -p "$name"
26 cd "$name" 27 cd "$name"
27 git init 28 git init
28 n=1 29 n=1
29 while test $n -le $count 30 while test $n -le $count
30 do 31 do
31 echo $n >file-$n 32 echo $n >file-$n
32 git add file-$n 33 git add file-$n
33 git commit -m "commit $n" 34 git commit -m "commit $n"
34 n=$(expr $n + 1) 35 n=$(expr $n + 1)
35 done 36 done
36 if test "$3" = "testplus" 37 if test "$3" = "testplus"
37 then 38 then
38 echo "hello" >a+b 39 echo "hello" >a+b
39 git add a+b 40 git add a+b
40 git commit -m "add a+b" 41 git commit -m "add a+b"
41 git branch "1+2" 42 git branch "1+2"
42 fi 43 fi
43 cd $dir 44 cd $dir
44} 45}
45 46
46setup_repos() 47setup_repos()
47{ 48{
48 rm -rf trash/cache 49 rm -rf trash/cache
49 mkdir -p trash/cache 50 mkdir -p trash/cache
50 mkrepo trash/repos/foo 5 >/dev/null 51 mkrepo trash/repos/foo 5 >/dev/null
51 mkrepo trash/repos/bar 50 >/dev/null 52 mkrepo trash/repos/bar 50 >/dev/null
52 mkrepo trash/repos/foo+bar 10 testplus >/dev/null 53 mkrepo trash/repos/foo+bar 10 testplus >/dev/null
53 mkrepo "trash/repos/with space" 2 >/dev/null 54 mkrepo "trash/repos/with space" 2 >/dev/null
54 cat >trash/cgitrc <<EOF 55 cat >trash/cgitrc <<EOF
55virtual-root=/ 56virtual-root=/
56cache-root=$PWD/trash/cache 57cache-root=$PWD/trash/cache
57 58
58cache-size=1021 59cache-size=1021
59snapshots=tar.gz tar.bz zip 60snapshots=tar.gz tar.bz zip
60enable-log-filecount=1 61enable-log-filecount=1
61enable-log-linecount=1 62enable-log-linecount=1
62summary-log=5 63summary-log=5
63summary-branches=5 64summary-branches=5
64summary-tags=5 65summary-tags=5
65 66
66repo.url=foo 67repo.url=foo
67repo.path=$PWD/trash/repos/foo/.git 68repo.path=$PWD/trash/repos/foo/.git
68# Do not specify a description for this repo, as it then will be assigned 69# Do not specify a description for this repo, as it then will be assigned
69# the constant value "[no description]" (which actually used to cause a 70# the constant value "[no description]" (which actually used to cause a
70# segfault). 71# segfault).
71 72
72repo.url=bar 73repo.url=bar
73repo.path=$PWD/trash/repos/bar/.git 74repo.path=$PWD/trash/repos/bar/.git
74repo.desc=the bar repo 75repo.desc=the bar repo
75 76
76repo.url=foo+bar 77repo.url=foo+bar
77repo.path=$PWD/trash/repos/foo+bar/.git 78repo.path=$PWD/trash/repos/foo+bar/.git
78repo.desc=the foo+bar repo 79repo.desc=the foo+bar repo
79 80
80repo.url=with space 81repo.url=with space
81repo.path=$PWD/trash/repos/with space/.git 82repo.path=$PWD/trash/repos/with space/.git
82repo.desc=spaced repo 83repo.desc=spaced repo
83EOF 84EOF
84} 85}
85 86
86prepare_tests() 87prepare_tests()
87{ 88{
88 setup_repos 89 setup_repos
89 rm -f test-output.log 2>/dev/null 90 rm -f test-output.log 2>/dev/null
90 test_count=0 91 test_count=0
91 test_failed=0 92 test_failed=0
92 echo "[$0]" "$@" >test-output.log 93 echo "[$0]" "$@" >test-output.log
93 echo "$@" "($0)" 94 echo "$@" "($0)"
94} 95}
95 96
96tests_done() 97tests_done()
97{ 98{
98 printf "\n" 99 printf "\n"
99 if test $test_failed -gt 0 100 if test $test_failed -gt 0
100 then 101 then
101 printf "test: *** %s failure(s), logfile=%s\n" \ 102 printf "test: *** %s failure(s), logfile=%s\n" \
102 $test_failed "$(pwd)/test-output.log" 103 $test_failed "$(pwd)/test-output.log"
103 false 104 false
104 fi 105 fi
105} 106}
106 107
107run_test() 108run_test()
108{ 109{
109 bug=0 110 bug=0
110 if test "$1" = "BUG" 111 if test "$1" = "BUG"
111 then 112 then
112 bug=1 113 bug=1
113 shift 114 shift