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