summaryrefslogtreecommitdiff
path: root/cpp/tests/topictest
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/tests/topictest')
-rwxr-xr-xcpp/tests/topictest42
1 files changed, 42 insertions, 0 deletions
diff --git a/cpp/tests/topictest b/cpp/tests/topictest
new file mode 100755
index 0000000000..792f063bea
--- /dev/null
+++ b/cpp/tests/topictest
@@ -0,0 +1,42 @@
+#!/bin/bash
+# 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