diff options
| author | Alan Conway <aconway@apache.org> | 2008-08-05 16:24:25 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2008-08-05 16:24:25 +0000 |
| commit | 6bed4cf29dda54560af44d16143fa4b24b65245b (patch) | |
| tree | c5752b2219a78e786dbbc6f532ce5d4bcbd5c858 /cpp/src/tests | |
| parent | bb667cf14d21dc8a873636a9cf5e3017f4aa5503 (diff) | |
| download | qpid-python-6bed4cf29dda54560af44d16143fa4b24b65245b.tar.gz | |
Fix sporadic shutdown hang in clustered broker.
Add start|stop_cluster test scripts
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@682774 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/tests')
| -rw-r--r-- | cpp/src/tests/cluster.mk | 2 | ||||
| -rwxr-xr-x | cpp/src/tests/start_cluster | 23 | ||||
| -rwxr-xr-x | cpp/src/tests/stop_cluster | 13 |
3 files changed, 37 insertions, 1 deletions
diff --git a/cpp/src/tests/cluster.mk b/cpp/src/tests/cluster.mk index 9190eee4e5..8b83e927ec 100644 --- a/cpp/src/tests/cluster.mk +++ b/cpp/src/tests/cluster.mk @@ -12,7 +12,7 @@ lib_cluster = $(abs_builddir)/../libqpidcluster.la # ais_check checks pre-requisites for cluster tests and runs them if ok. TESTS+=ais_check -EXTRA_DIST+=ais_check +EXTRA_DIST+=ais_check start_cluster stop_cluster check_PROGRAMS+=cluster_test cluster_test_SOURCES=unit_test.cpp cluster_test.cpp diff --git a/cpp/src/tests/start_cluster b/cpp/src/tests/start_cluster new file mode 100755 index 0000000000..e399d213dc --- /dev/null +++ b/cpp/src/tests/start_cluster @@ -0,0 +1,23 @@ +#!/bin/sh +# Start a cluster of brokers on local host, put the list of ports for cluster members in cluster.ports +# +echo $1 | grep '^[0-9][0-9]*$' > /dev/null || { echo "Usage: $0 cluster-size [options]"; exit 1; } + +# Execute command with the ais group set. +with_ais_group() { + id -nG | grep '\<ais\>' >/dev/null || { echo "You are not a member of the ais group."; exit 1; } + echo $* | newgrp ais +} + +test -f cluster.ports && { echo "cluster.ports file already exists" ; exit 1; } +rm -f cluster*.log +SIZE=$1; shift +CLUSTER=`pwd` # Cluster name=pwd, avoid clashes. + +for (( i=0; i<SIZE; ++i )); do + OPTS="--load-module ../.libs/libqpidcluster.so -dp0 --log-output=cluster$i.log --cluster-name=$CLUSTER --no-data-dir --auth=no $*" + PORT=`with_ais_group ../qpidd $OPTS` || exit 1 + echo $PORT >> cluster.ports +done + + diff --git a/cpp/src/tests/stop_cluster b/cpp/src/tests/stop_cluster new file mode 100755 index 0000000000..9bd05092de --- /dev/null +++ b/cpp/src/tests/stop_cluster @@ -0,0 +1,13 @@ +#!/bin/sh +# Stop brokers on ports listed in cluster.ports + +PORTS=`cat cluster.ports` +for PORT in $PORTS ; do + ../qpidd -qp $PORT || ERROR="$ERROR $PORT" +done +rm -f cluster.ports + +if [ -n "$ERROR" ]; then + echo "Errors stopping brokers on ports: $ERROR" + exit 1 +fi |
