about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorAlexander Barton <alex@barton.de>2004-09-04 15:45:27 +0000
committerAlexander Barton <alex@barton.de>2004-09-04 15:45:27 +0000
commita9a605de3e9bca377533b5af8a0ba21c8a093555 (patch)
tree93a3b25c2ba42c8ae5d2b4ec5c522ba94124cfa4 /src
parent7ec11de523b4e6dccaed45b0b5040886004f5dfb (diff)
downloadngircd-a9a605de3e9bca377533b5af8a0ba21c8a093555.tar.gz
ngircd-a9a605de3e9bca377533b5af8a0ba21c8a093555.zip
Made stress-server.sh to use wait-tests.sh to limit number of parallel tests.
Diffstat (limited to 'src')
-rwxr-xr-xsrc/testsuite/stress-server.sh60
1 files changed, 24 insertions, 36 deletions
diff --git a/src/testsuite/stress-server.sh b/src/testsuite/stress-server.sh
index 4f94809a..bf7ed00f 100755
--- a/src/testsuite/stress-server.sh
+++ b/src/testsuite/stress-server.sh
@@ -9,7 +9,7 @@
 # (at your option) any later version.
 # Please read the file COPYING, README and AUTHORS for more information.
 #
-# $Id: stress-server.sh,v 1.10 2004/09/04 14:23:09 alex Exp $
+# $Id: stress-server.sh,v 1.11 2004/09/04 15:45:27 alex Exp $
 #
 
 # detect source directory
@@ -17,7 +17,7 @@
 
 # parse command line
 [ "$1" -gt 0 ] 2> /dev/null && CLIENTS="$1" || CLIENTS=5
-[ "$2" -gt 0 ] 2> /dev/null && LOOPS="$2" || LOOPS=1
+[ "$2" -gt 0 ] 2> /dev/null && MAX="$2" || MAX=5
 
 # get our name
 name=`basename $0`
@@ -36,9 +36,7 @@ if [ $? -ne 0 ]; then
 fi
 
 # hello world! :-)
-[ $LOOPS -gt 1 ] \
-  && echo "      stressing server with $CLIENTS clients in $LOOPS loops (be patient!):" \
-  || echo "      stressing server with $CLIENTS clients (be patient!):"
+echo "      stressing server with $CLIENTS clients (be patient!):"
 
 # create scripts for expect(1)
 no=0
@@ -49,42 +47,32 @@ while [ ${no} -lt $CLIENTS ]; do
   no=`expr ${no} + 1`
 done
 
-# main loop ...
-loop=0
-while [ ${loop} -lt $LOOPS ]; do
-  no=0
-  loop=`expr ${loop} + 1`
-  while [ ${no} -lt $CLIENTS ]; do
-    expect tests/${no}.e > logs/stress-${no}.log 2> /dev/null &
-    no=`expr ${no} + 1`
-  done
-  if [ $LOOPS -gt 1 ]; then
-    echo "      loop $loop/$LOOPS: started $no clients."
-    echo -n "      loop $loop/$LOOPS: waiting for clients to complete: ."
-  else
-    echo "      started $no clients."
-    echo -n "      waiting for clients to complete: ."
-  fi
+no=0
+while [ ${no} -lt $CLIENTS ]; do
+  expect tests/${no}.e > logs/stress-${no}.log 2> /dev/null &
+  no=`expr ${no} + 1`
 
-  res=3
-  touch logs/check-idle.log
-  while true; do
-    expect ${srcdir}/check-idle.e >> logs/check-idle.log; res=$?
-    echo "====================" >> logs/check-idle.log
-    [ $res -ne 99 ] && break
+  count=`ps | grep "expect " | wc -l`
+  count=`expr $count - 1`
+  echo "      started client $no/$CLIENTS ($count test scripts running)."
 
-    # there are still clients connected. Wait ...
-    sleep 3
-    echo -n "."
-  done
+  $srcdir/wait-tests.sh $MAX
+done
+
+echo -n "      waiting for clients to complete: ."
+touch logs/check-idle.log
+while true; do
+  expect ${srcdir}/check-idle.e >> logs/check-idle.log; res=$?
+  echo "====================" >> logs/check-idle.log
+  [ $res -ne 99 ] && break
 
-  if [ $res -ne 0 ]; then
-    echo " ERROR!"
-    break
-  fi
-  echo " done."
+  # there are still clients connected. Wait ...
+  sleep 3
+  echo -n "."
 done
 
+[ $res -eq 0 ] && echo " done." || echo " ERROR!"
+
 exit $res
 
 # -eof-