summaryrefslogtreecommitdiff
path: root/cpp/src/tests/topictest
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/tests/topictest')
-rwxr-xr-xcpp/src/tests/topictest39
1 files changed, 39 insertions, 0 deletions
diff --git a/cpp/src/tests/topictest b/cpp/src/tests/topictest
new file mode 100755
index 0000000000..92e40b2c37
--- /dev/null
+++ b/cpp/src/tests/topictest
@@ -0,0 +1,39 @@
+#!/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
+# FIXME aconway 2007-03-27: Hack around startup race. Fix topic test.
+sleep 1
+publish 2>&1 || exit 1