]> arthur.barton.de Git - ngircd.git/blobdiff - src/testsuite/stop-server.sh
Test suite: clean up scripts
[ngircd.git] / src / testsuite / stop-server.sh
index 30b5df94363b289a16bcd10e6d13dc16928fa5da..c5a9486c4797a90a1a66c8fb10088be4cc479f6d 100755 (executable)
@@ -1,10 +1,36 @@
 #!/bin/sh
 # ngIRCd Test Suite
-# $Id: stop-server.sh,v 1.1 2002/09/09 10:16:24 alex Exp $
 
-echo "      stopping server ..."
+[ -z "$srcdir" ] && srcdir=`dirname "$0"`
+set -u
 
-pid=`ps a | grep ngircd-test | head -n 1 | cut -d ' ' -f 1`
-kill $pid > /dev/null 2>&1
+# read in functions
+. "${srcdir}/functions.inc"
 
-# -eof-
+if [ -n "$1" ]; then
+       id="$1"; shift
+else
+       id="1"
+fi
+
+echo_n "stopping server ${id} ..."
+
+# stop test-server ...
+pid=`./getpid.sh T-ngircd${id}`
+if [ -z "$pid" ]; then
+       echo " failure: no running server found!?"
+       exit 1
+fi
+kill $pid >/dev/null 2>&1 || exit 1
+
+# waiting ...
+for i in 1 2 3 4 5; do
+       kill -0 $pid >/dev/null 2>&1; r=$?
+       if [ $r -ne 0 ]; then
+               echo " ok".
+               exit 0
+       fi
+       sleep 1
+done
+echo " failure: server ${id} still running!?"
+exit 1