X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Ftestsuite%2Fstart-server.sh;h=0fd61ea97c361093a4cb148e2b04724658bf3111;hb=61d1c864c55291c1f5f81f284e984b044fe2722f;hp=9413ba569060ecd106854ff9bc5d7c38bda6e284;hpb=e7b09536bf90f9d59ef9d3057633bd72912ae245;p=ngircd-alex.git diff --git a/src/testsuite/start-server.sh b/src/testsuite/start-server.sh index 9413ba56..0fd61ea9 100755 --- a/src/testsuite/start-server.sh +++ b/src/testsuite/start-server.sh @@ -1,18 +1,50 @@ #!/bin/sh # ngIRCd Test Suite -# $Id: start-server.sh,v 1.4 2002/09/13 06:04:49 alex Exp $ -echo " starting server ..." +[ -z "$srcdir" ] && srcdir=`dirname $0` -rm -rf logs +# read in functions +. ${srcdir}/functions.inc -echo "This is an ngIRCd Test Server" > ngircd-test.motd +if [ -n "$1" ]; then + id="$1"; shift +else + id="1" +fi -./ngircd-TEST -np -f ${srcdir}/ngircd-test.conf > ngircd-test.log 2>&1 & +echo_n "starting server ${id} ..." + +# 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 " getpid.sh failed!" + exit 1 +fi + +# 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 + +# starting up test-server ... +./T-ngircd${id} -n -f ${srcdir}/ngircd-test${id}.conf $* \ + >ngircd-test${id}.log 2>&1 & sleep 1 -ps ax > procs.tmp -pid=`cat procs.tmp | grep ngircd-TEST | awk "{ print \\\$1 }"` -kill -0 $pid > /dev/null 2>&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-