f9f89daee2795ce7a1ecd24a3186180e286aebc1
[darkhttpd] / devel / cover
1 #!/bin/sh
2 #
3 # Coverage and unit tests!
4 #
5 cd $(dirname $0)
6 DIR=tmp.httpd.tests
7 PORT=12346
8
9 if [ ! -e test.py ]; then
10         echo "can't find test.py, aborting" >&2
11         exit 1
12 fi
13 if [ \( ! -x a.out \) -o \( ../darkhttpd.c -nt a.out \) ]; then
14         gcc -g -fprofile-arcs -ftest-coverage ../darkhttpd.c || exit 1
15         # generates a.out, darkhttpd.gcno
16 fi
17 if [ -e $DIR ]; then
18         rm -rf $DIR || exit 1
19 fi
20 mkdir $DIR || exit 1
21 rm -f darkhttpd.gcda darkhttpd.log
22 # display usage statement
23 ./a.out >/dev/null
24 # run all tests against this instance (generates darkhttpd.gcda)
25 ./a.out $DIR --port $PORT --log darkhttpd.log &
26 PID=$!
27 kill -0 $PID || exit 1
28 python test.py
29 kill $PID
30 echo generating darkhttpd.c.gcov report
31 gcov darkhttpd
32 rm -rf $DIR
33 rm -f darkhttpd.gcda darkhttpd.gcno darkhttpd.log a.out
34 echo done