summary refs log tree commit diff
path: root/src/testsuite/start-server.sh
blob: 90832a39f68913d757a46320bf96fd672446944b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/bin/sh
# ngIRCd Test Suite

[ -z "$srcdir" ] && srcdir=`dirname $0`

# read in functions
. ${srcdir}/functions.inc

if [ -n "$1" ]; then
	id="$1"; shift
else
	id="1"
fi

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

# 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-