about summary refs log tree commit diff
path: root/src/testsuite/stress-server.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/testsuite/stress-server.sh')
-rwxr-xr-xsrc/testsuite/stress-server.sh44
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-