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 = *


Reply via email to