Omit CVS Id. Update copyright year.
[idzebra-moved-to-github.git] / test / gils / stop03.sh
1 #!/bin/sh
2 # test start and stop of the threaded server (-T)
3
4 srcdir=${srcdir:-"."}
5
6 if [ "$srcdir" != "." ]
7     then
8     echo "Jumping over test"
9     exit 0
10 fi
11
12 LOG=stop03.log
13
14 rm -f $LOG
15 echo "initializing" >>$LOG
16 mkdir -p reg
17 ../../index/zebraidx -l $LOG -c $srcdir/zebra1.cfg init || exit 1
18
19 #create a base to test on
20 ../../index/zebraidx -l $LOG -c $srcdir/zebra1.cfg update records  || exit 1
21
22 echo "Starting server with -T (threaded)..." >>$LOG
23 ../../index/zebrasrv -D -p z.pid -T -c $srcdir/zebra1.cfg -l $LOG unix:socket 2>out
24
25 if grep 'not available' out >/dev/null; then
26     test -f z.pid && rm -f z.pid
27     exit 0
28 fi
29
30 echo "  checking that it runs..." >>$LOG
31 test -f z.pid || exit 1
32
33 PID=`cat z.pid`
34 echo "  checking that it still runs..." >>$LOG
35 kill -CHLD $PID >/dev/null 2>&1 || exit 1
36
37 echo "  connecting to it..." >>$LOG
38 ../api/testclient unix:socket utah >>$LOG || exit 1
39 sleep 1
40
41 echo "  checking that it still runs..." >>$LOG
42 kill -CHLD $PID >/dev/null 2>&1 || exit 1
43
44 echo "  connecting again, with a delay..." >>$LOG
45 ../api/testclient unix:socket utah 5 >>$LOG &
46 sleep 1 # let the client connect 
47
48 echo "  checking that it still runs..." >>$LOG
49 kill -CHLD $PID >/dev/null 2>&1 || exit 1
50
51 echo "  killing it..." >>$LOG
52 kill $PID
53 sleep 1
54
55 echo "  checking that it is dead..." >>$LOG
56 kill -CHLD $PID >/dev/null 2>&1 && sleep 1 && \
57 kill -CHLD $PID >/dev/null 2>&1 && exit 1
58
59 # clean up
60 rm -rf reg z.pid