summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore 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
@@ -64,34 +64,40 @@ repo.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"