Use YAZ GFS PID file instead of zebrasrv.pid
[idzebra-moved-to-github.git] / test / gils / stop04.sh
1 #!/bin/sh
2 # $Id: stop04.sh,v 1.8 2005-01-02 23:21:31 adam Exp $
3 # test start and stop of the forked server 
4
5 pp=${srcdir:-"."}
6
7 LOG=stop04.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 (forked)..." >>$LOG
18 ../../index/zebrasrv -D -p z.pid -c $pp/zebra1.cfg -l $LOG tcp:@:9901 
19 sleep 1
20
21 echo "  checking that it runs... " >>$LOG
22 test -f z.pid || sleep 5 || test -f z.pid || exit 1
23 PID=`cat z.pid`
24 kill -CHLD $PID >/dev/null 2>&1 || exit 1
25
26 echo "  connecting to it..." >>$LOG
27 ../api/testclient localhost:9901 utah >>$LOG || exit 1
28 sleep 1
29
30 echo "  checking that it still runs..." >>$LOG
31 kill -CHLD $PID >/dev/null 2>&1 || exit 1
32
33 echo "  connecting again, with a delay..." >>$LOG
34 ../api/testclient localhost:9901 utah 5 >>$LOG
35 sleep 1 # let the client connect 
36
37 echo "  killing it..." >>$LOG
38 kill $PID
39 sleep 1
40
41 echo "  checking that it is dead..." >>$LOG
42 kill -CHLD $PID >/dev/null 2>&1 && sleep 1 && \
43 kill -CHLD $PID >/dev/null 2>&1 && exit 1
44
45
46 # clean up
47 rm -rf reg z.pid