summaryrefslogtreecommitdiff
path: root/qpid/cpp/tests/topictest
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/cpp/tests/topictest')
-rwxr-xr-xqpid/cpp/tests/topictest38
1 files changed, 38 insertions, 0 deletions
diff --git a/qpid/cpp/tests/topictest b/qpid/cpp/tests/topictest
new file mode 100755
index 0000000000..76807b82bd
--- /dev/null
+++ b/qpid/cpp/tests/topictest
@@ -0,0 +1,38 @@
+#!/bin/bash
+# Run the C++ topic test
+
+# Clean up old log files
+rm -f subscriber_*.log
+
+# Defaults values
+SUBSCRIBERS=10
+MESSAGES=2000
+BATCHES=10
+
+while getopts "s:m:b:" opt ; do
+ case $opt in
+ s) SUBSCRIBERS=$OPTARG ;;
+ m) MESSAGES=$OPTARG ;;
+ b) BATCHES=$OPTARG ;;
+ ?)
+ echo "Usage: %0 [-s <subscribers>] [-m <messages.] [-b <batches>]"
+ exit 1
+ ;;
+ esac
+done
+
+subscribe() {
+ echo Start subscriber $1
+ LOG="subscriber_$1.log"
+ ./topic_listener > $LOG 2>&1 && rm -f $LOG
+}
+
+publish() {
+ ./topic_publisher -messages $MESSAGES -batches $BATCHES -subscribers $SUBSCRIBERS
+}
+
+for ((i=$SUBSCRIBERS ; i--; )); do
+ subscribe $i &
+done
+
+publish 2>&1 || exit 1