]> arthur.barton.de Git - ngircd-alex.git/blobdiff - src/testsuite/start-server.sh
Debian: require "telnet" or "telnet-ssl" for building
[ngircd-alex.git] / src / testsuite / start-server.sh
index b342dedbb4ea4c3182e1181d2c5303c75877f38c..90832a39f68913d757a46320bf96fd672446944b 100755 (executable)
@@ -1,32 +1,50 @@
 #!/bin/sh
 # ngIRCd Test Suite
-# $Id: start-server.sh,v 1.10 2002/11/10 14:28:06 alex Exp $
 
 [ -z "$srcdir" ] && srcdir=`dirname $0`
 
-echo "      starting server ..."
+# read in functions
+. ${srcdir}/functions.inc
 
-# alte Logfiles loeschen
-rm -rf logs *.log
+if [ -n "$1" ]; then
+       id="$1"; shift
+else
+       id="1"
+fi
+
+echo_n "      starting server ${id} ..."
 
-# pruefen, ob getpid.sh gueltige PID's liefert. Wenn dem nicht so ist,
-# wird kein ngIRCd gestartet, da dieser ansonsten nicht mehr am Ende
-# des Testlaufs beendet werden koennte!
+# remove old logfiles, if this is the first server (ID 1)
+[ "$id" = "1" ] && rm -rf logs *.log
+
+# check weather getpid.sh returns valid PIDs. If not, don't start up the
+# test-server, because we won't be able to kill it at the end of the test.
 ./getpid.sh sh > /dev/null 2>&1
 if [ $? -ne 0 ]; then
-  echo "      error: getpid.sh FAILED!"
+  echo " getpid.sh failed!"
   exit 1
 fi
 
-# MOTD fuer Test-Server erzeugen
-echo "This is an ngIRCd Test Server" > ngircd-test.motd
+# check if there is a test-server already running
+./getpid.sh T-ngircd${id} >/dev/null 2>&1
+if [ $? -eq 0 ]; then
+  echo " failure: test-server ${id} already running!"
+  exit 1
+fi
+
+# generate MOTD for test-server
+echo "This is an ngIRCd Test Server" > ngircd-test${id}.motd
 
-# Test-Server starten ...
-./T-ngircd -np -f ${srcdir}/ngircd-test.conf > ngircd-test.log 2>&1 &
+# starting up test-server ...
+./T-ngircd${id} -n -f ${srcdir}/ngircd-test${id}.conf $* \
+ >ngircd-test${id}.log 2>&1 &
 sleep 1
 
-# validieren, dass Server laeuft
-pid=`./getpid.sh T-ngircd`
-[ -n "$pid" ] && kill -0 $pid > /dev/null 2>&1 || exit 1
+# validate running test-server
+pid=`./getpid.sh T-ngircd${id}`
+[ -n "$pid" ] && kill -0 $pid > /dev/null 2>&1; r=$?
+
+[ $r -eq 0 ] && echo " ok." || echo " failure!"
+exit $r
 
 # -eof-