Author: aconway
Date: Thu Nov 23 12:43:40 2006
New Revision: 478659
URL: http://svn.apache.org/viewvc?view=rev&rev=478659
Log:
Scripts to simplify runnning topictest. topicall is the main script.
Added:
incubator/qpid/trunk/qpid/cpp/test/bin/
incubator/qpid/trunk/qpid/cpp/test/bin/broker (with props)
incubator/qpid/trunk/qpid/cpp/test/bin/env (with props)
incubator/qpid/trunk/qpid/cpp/test/bin/topicall (with props)
incubator/qpid/trunk/qpid/cpp/test/bin/topictest (with props)
Added: incubator/qpid/trunk/qpid/cpp/test/bin/broker
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/test/bin/broker?view=auto&rev=478659
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/test/bin/broker (added)
+++ incubator/qpid/trunk/qpid/cpp/test/bin/broker Thu Nov 23 12:43:40 2006
@@ -0,0 +1,45 @@
+#!/bin/sh
+. `dirname $0`/env
+
+brokerpid() {
+ netstat -tpl 2> /dev/null | awk '/amqp/ {print gensub("/.*$","","g",$7) }'
+}
+
+killbroker () {
+ PID=`brokerpid`
+ if [ -n "$PID" ] ; then kill $PID ; fi
+ for ((i=5;i--;)) {
+ if [ -z "`brokerpid`" ] ; then exit 0 ; fi
+ sleep 1
+ }
+ echo "Broker `brokerpid` refuses to die."
+}
+
+waitbroker () {
+ while [ -z `brokerpid` ] ; do sleep 1 ; done
+}
+
+startbroker() {
+ case $1 in
+ j)
+ export AMQJ_LOGGING_LEVEL=fatal
+ export JDPA_OPTS=
+ export QPID_OPTS=-Xmx1024M
+ export debug=1
+ CMD="qpid-server"
+ qpid-run -run:print-command # Show the command line.
+ ;;
+ c) CMD=qpidd ;;
+ esac
+ nohup $CMD > /dev/null 2>&1 &
+ waitbroker
+ echo Broker started: $CMD
+}
+
+
+case $1 in
+ j|c) startbroker $1 ;;
+ stop|kill) killbroker ;;
+ wait) waitbroker ;;
+ pid) brokerpid ;;
+esac
Propchange: incubator/qpid/trunk/qpid/cpp/test/bin/broker
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/qpid/trunk/qpid/cpp/test/bin/env
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/test/bin/env?view=auto&rev=478659
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/test/bin/env (added)
+++ incubator/qpid/trunk/qpid/cpp/test/bin/env Thu Nov 23 12:43:40 2006
@@ -0,0 +1,23 @@
+#!/bin/bash
+# Set environment variables for test scripts.
+
+pathmunge () {
+ if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
+ if [ "$2" = "after" ] ; then
+ PATH=$PATH:$1
+ else
+ PATH=$1:$PATH
+ fi
+ fi
+}
+
+if [ -z QPID_ROOT ] ; then echo "You must set QPID_ROOT" ; fi
+
+pathmunge $QPID_ROOT/cpp/test/bin
+pathmunge $QPID_ROOT/cpp/build/*/bin
+pathmunge $QPID_ROOT/cpp/build/*/test
+
+export QPID_HOME=${QPID_HOME:-$QPID_ROOT/java/build}
+pathmunge $QPID_HOME/bin
+
+
Propchange: incubator/qpid/trunk/qpid/cpp/test/bin/env
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/qpid/trunk/qpid/cpp/test/bin/topicall
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/test/bin/topicall?view=auto&rev=478659
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/test/bin/topicall (added)
+++ incubator/qpid/trunk/qpid/cpp/test/bin/topicall Thu Nov 23 12:43:40 2006
@@ -0,0 +1,25 @@
+#!/bin/sh
+# Do 3 runs of topictests for C++ and Java brokers with reduced output.
+
+. `dirname $0`/env
+
+# Run a short topictest to warm up the broker and iron out startup effects.
+flush() {
+ topic_listener >/dev/null 2>&1 &
+ topic_publisher >/dev/null 2>&1
+}
+
+echo Java broker
+broker j ; flush
+topictest c | tail -n1
+topictest c | tail -n1
+topictest c | tail -n1
+
+echo C++ broker
+broker c ; flush
+topictest c | tail -n1
+topictest c | tail -n1
+topictest c | tail -n1
+
+# Don't bother with java clients we know they're slower.
+
Propchange: incubator/qpid/trunk/qpid/cpp/test/bin/topicall
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/qpid/trunk/qpid/cpp/test/bin/topictest
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/test/bin/topictest?view=auto&rev=478659
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/test/bin/topictest (added)
+++ incubator/qpid/trunk/qpid/cpp/test/bin/topictest Thu Nov 23 12:43:40 2006
@@ -0,0 +1,42 @@
+#!/bin/sh
+# Run the c++ or java topic test
+
+. `dirname $0`/env
+
+# Edit parameters here:
+
+# Big test:
+# LISTENERS=10
+# MESSAGES=10000
+# BATCHES=20
+
+LISTENERS=10
+MESSAGES=2000
+BATCHES=10
+
+cppcmds() {
+ LISTEN_CMD=topic_listener
+ PUBLISH_CMD="topic_publisher -messages $MESSAGES -batches $BATCHES
-subscribers $LISTENERS"
+}
+
+javacmds() {
+ DEF=-Damqj.logging.level="error"
+ LISTEN_CMD="qpid-run $DEF org.apache.qpid.topic.Listener"
+ PUBLISH_CMD="qpid-run $DEF org.apache.qpid.topic.Publisher -messages
$MESSAGES -batch $BATCHES -clients $LISTENERS"
+}
+
+case $1 in
+ c) cppcmds ;;
+ j) javacmds ;;
+ *) cppcmds ;;
+esac
+
+for ((i=$LISTENERS ; i--; )); do
+ $LISTEN_CMD > /dev/null 2>&1 &
+done
+sleep 1
+echo $PUBLISH_CMD $OPTIONS
+
+STATS=~/bin/topictest.times
+echo "---- topictest `date`" >> $STATS
+$PUBLISH_CMD $OPTIONS | tee -a $STATS
Propchange: incubator/qpid/trunk/qpid/cpp/test/bin/topictest
------------------------------------------------------------------------------
svn:executable = *