From 6bed4cf29dda54560af44d16143fa4b24b65245b Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Tue, 5 Aug 2008 16:24:25 +0000 Subject: 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 --- cpp/src/tests/cluster.mk | 2 +- cpp/src/tests/start_cluster | 23 +++++++++++++++++++++++ cpp/src/tests/stop_cluster | 13 +++++++++++++ 3 files changed, 37 insertions(+), 1 deletion(-) create mode 100755 cpp/src/tests/start_cluster create mode 100755 cpp/src/tests/stop_cluster (limited to 'cpp/src/tests') 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 '\' >/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> 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 -- cgit v1.2.1