]> arthur.barton.de Git - ngircd-alex.git/blobdiff - src/testsuite/stop-server.sh
Test suite: start two servers and test server-server links
[ngircd-alex.git] / src / testsuite / stop-server.sh
index a9cce99f87760f4a4f44d6c358efeac853dae654..7e6ee4f76b5e5c8afdae76d35fabbc7fee450d7c 100755 (executable)
@@ -1,17 +1,37 @@
 #!/bin/sh
 # ngIRCd Test Suite
-# $Id: stop-server.sh,v 1.9 2002/11/10 14:28:06 alex Exp $
 
 [ -z "$srcdir" ] && srcdir=`dirname $0`
 
-echo "      stopping server ..."
+# read in functions
+. ${srcdir}/functions.inc
 
-# Test-Server stoppen ...
-pid=`./getpid.sh T-ngircd`
-[ -n "$pid" ] && kill $pid > /dev/null 2>&1 || exit 1
-sleep 1
+if [ -n "$1" ]; then
+       id="$1"; shift
+else
+       id="1"
+fi
 
-# jetzt duerfte der Prozess nicht mehr laufen
-kill -0 $pid > /dev/null 2>&1 && exit 1 || exit 0
+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
 
 # -eof-