]> arthur.barton.de Git - ngircd-alex.git/blob - src/testsuite/stress-server.sh
f978f4b8c7a3c2b9cd4ddf890a93458f81853492
[ngircd-alex.git] / src / testsuite / stress-server.sh
1 #!/bin/sh
2 # ngIRCd Test Suite
3 # $Id: stress-server.sh,v 1.1 2002/09/09 22:56:07 alex Exp $
4
5 CLIENTS=50
6
7 name=`basename $0`
8 test=`echo ${name} | cut -d '.' -f 1`
9 mkdir -p logs tests
10
11 type expect > /dev/null 2>&1
12 if [ $? -ne 0 ]; then
13   echo "SKIP: ${name} -- \"expect\" not found.";  exit 77
14 fi
15 type telnet > /dev/null 2>&1
16 if [ $? -ne 0 ]; then
17   echo "SKIP: ${name} -- \"telnet\" not found.";  exit 77
18 fi
19
20 echo "      stressing server with $CLIENTS clients (be patient!) ..."
21 no=0
22 while [ ${no} -lt $CLIENTS ]; do
23   cat stress-A.e > tests/${no}.e
24   echo "send \"nick test${no}\\r\"" >> tests/${no}.e
25   cat stress-B.e >> tests/${no}.e
26   no=`expr ${no} + 1`
27 done
28 no=0
29 while [ ${no} -lt $CLIENTS ]; do
30   expect tests/${no}.e > logs/stress-${no}.log 2> /dev/null &
31   no=`expr ${no} + 1`
32 done
33
34 touch logs/check-idle.log
35 while true; do
36   expect check-idle.e >> logs/check-idle.log
37   res=$?
38   [ $res -eq 0 ] && exit 0
39   [ $res -eq 1 ] && exit 1
40   sleep 1
41   echo "====================" >> logs/check-idle.log
42 done
43
44 # -eof-