diff options
author | Alan Conway <aconway@apache.org> | 2006-11-23 20:43:40 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2006-11-23 20:43:40 +0000 |
commit | 5c5b418c4db21949d1a526fde57e619195039e54 (patch) | |
tree | b032ed19865964bcdd435b72080434841d75f224 /cpp | |
parent | 07c4ffe83617edc973121b41ab23d91be3333c9d (diff) | |
download | qpid-python-5c5b418c4db21949d1a526fde57e619195039e54.tar.gz |
Scripts to simplify runnning topictest. topicall is the main script.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@478659 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp')
-rwxr-xr-x | cpp/test/bin/broker | 45 | ||||
-rwxr-xr-x | cpp/test/bin/env | 23 | ||||
-rwxr-xr-x | cpp/test/bin/topicall | 25 | ||||
-rwxr-xr-x | cpp/test/bin/topictest | 42 |
4 files changed, 135 insertions, 0 deletions
diff --git a/cpp/test/bin/broker b/cpp/test/bin/broker new file mode 100755 index 0000000000..c49e967466 --- /dev/null +++ b/cpp/test/bin/broker @@ -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 diff --git a/cpp/test/bin/env b/cpp/test/bin/env new file mode 100755 index 0000000000..76797b1ef7 --- /dev/null +++ b/cpp/test/bin/env @@ -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 + + diff --git a/cpp/test/bin/topicall b/cpp/test/bin/topicall new file mode 100755 index 0000000000..bde04a5b30 --- /dev/null +++ b/cpp/test/bin/topicall @@ -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. + diff --git a/cpp/test/bin/topictest b/cpp/test/bin/topictest new file mode 100755 index 0000000000..44a279c363 --- /dev/null +++ b/cpp/test/bin/topictest @@ -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 |