ircu2.10.12 pk910 fork
[ircu2.10.12-pk.git] / ircd / test / run-tests.sh
1 #! /bin/sh
2
3 set -e
4 srcdir=`dirname $0`
5 ircdir=$1
6
7 cp ${srcdir}/ircd-t1.conf ircd-t1.conf
8 cp ${srcdir}/ircd-t2.conf ircd-t2.conf
9 echo "Testing one-shot ircd invocations."
10 ${ircdir}/ircd -v
11 ${ircdir}/ircd -x 6 -k -d . -f ircd-t1.conf -c user@127.0.0.1
12 echo "Starting ircd."
13 ${ircdir}/ircd -d . -f ircd-t1.conf
14 ${ircdir}/ircd -d . -f ircd-t2.conf
15 sleep 10
16 # stats-1 is out of alphabetical order to avoid triggering IPcheck.
17 for script in channel-1 client-1 commands-1 feature-1 gline-1 stats-1 jupe-1 kill-block-1 ; do
18   echo "Running test $script."
19   ${srcdir}/test-driver.pl -D ${srcdir}/${script}.cmd 2> ${script}.log
20 done
21 echo "Sending signals to server."
22 cp ${srcdir}/ircd-t1-2.conf ircd-t1.conf
23 kill -HUP `cat ircd-t1.pid`
24 sleep 1
25 kill -INT `cat ircd-t1.pid`
26 # A long sleep is necessary to make the server flush its IPcheck entries.
27 sleep 610
28 kill -TERM `cat ircd-t1.pid` `cat ircd-t2.pid`
29 sleep 1
30 ${ircdir}/ircd -? || true