diff options
Diffstat (limited to 'cpp/src/tests/topictest')
| -rwxr-xr-x | cpp/src/tests/topictest | 39 |
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 |
