diff options
Diffstat (limited to 'src/testsuite/stress-server.sh')
| -rwxr-xr-x | src/testsuite/stress-server.sh | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/testsuite/stress-server.sh b/src/testsuite/stress-server.sh new file mode 100755 index 00000000..f978f4b8 --- /dev/null +++ b/src/testsuite/stress-server.sh @@ -0,0 +1,44 @@ +#!/bin/sh +# ngIRCd Test Suite +# $Id: stress-server.sh,v 1.1 2002/09/09 22:56:07 alex Exp $ + +CLIENTS=50 + +name=`basename $0` +test=`echo ${name} | cut -d '.' -f 1` +mkdir -p logs tests + +type expect > /dev/null 2>&1 +if [ $? -ne 0 ]; then + echo "SKIP: ${name} -- \"expect\" not found."; exit 77 +fi +type telnet > /dev/null 2>&1 +if [ $? -ne 0 ]; then + echo "SKIP: ${name} -- \"telnet\" not found."; exit 77 +fi + +echo " stressing server with $CLIENTS clients (be patient!) ..." +no=0 +while [ ${no} -lt $CLIENTS ]; do + cat stress-A.e > tests/${no}.e + echo "send \"nick test${no}\\r\"" >> tests/${no}.e + cat stress-B.e >> tests/${no}.e + no=`expr ${no} + 1` +done +no=0 +while [ ${no} -lt $CLIENTS ]; do + expect tests/${no}.e > logs/stress-${no}.log 2> /dev/null & + no=`expr ${no} + 1` +done + +touch logs/check-idle.log +while true; do + expect check-idle.e >> logs/check-idle.log + res=$? + [ $res -eq 0 ] && exit 0 + [ $res -eq 1 ] && exit 1 + sleep 1 + echo "====================" >> logs/check-idle.log +done + +# -eof- |