[rhmessaging-commits] rhmessaging commits: r3704 - store/trunk/cpp/tests/cluster.

rhmessaging-commits at lists.jboss.org rhmessaging-commits at lists.jboss.org
Mon Nov 9 14:51:58 EST 2009


Author: aconway
Date: 2009-11-09 14:51:58 -0500 (Mon, 09 Nov 2009)
New Revision: 3704

Added:
   store/trunk/cpp/tests/cluster/cluster_tests_env.sh
   store/trunk/cpp/tests/cluster/run_cluster_test
Modified:
   store/trunk/cpp/tests/cluster/Makefile.am
   store/trunk/cpp/tests/cluster/run_cluster_tests
Log:
Added store recovery tests to cluster_tests

Modified: store/trunk/cpp/tests/cluster/Makefile.am
===================================================================
--- store/trunk/cpp/tests/cluster/Makefile.am	2009-11-09 15:06:39 UTC (rev 3703)
+++ store/trunk/cpp/tests/cluster/Makefile.am	2009-11-09 19:51:58 UTC (rev 3704)
@@ -35,7 +35,7 @@
 .valgrind.supp: $(top_srcdir)/tests/.valgrind.supp
 	cp $^ .
 
-TESTS = run_cluster_tests
+TESTS = run_cluster_tests run_cluster_test
 
 LONG_TESTS = run_long_cluster_tests
 

Added: store/trunk/cpp/tests/cluster/cluster_tests_env.sh
===================================================================
--- store/trunk/cpp/tests/cluster/cluster_tests_env.sh	                        (rev 0)
+++ store/trunk/cpp/tests/cluster/cluster_tests_env.sh	2009-11-09 19:51:58 UTC (rev 3704)
@@ -0,0 +1,305 @@
+# Copyright (c) 2008, 2009 Red Hat, Inc.
+#
+# This file is part of the Qpid async store library msgstore.so.
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301
+# USA
+#
+# The GNU Lesser General Public License is available in the file COPYING.
+
+
+# --- Function definitions ---
+
+
+func_check_required_env ()
+#-------------------------
+# Check that EITHER:
+#    QPID_DIR is set (for running against svn QPID)
+# OR
+#    QPID_PREFIX is set (for running against installed QPID
+# Will exit with error code 1 if neither of these is defined.
+# Params: None
+# Returns: 0 if env vars ok, 1 otherwise   
+{
+	if test -z "${QPID_DIR}" -a -z "${QPID_PREFIX}"; then
+		# Try to find qpidd in the normal installed location
+		if test -x /usr/sbin/qpidd; then
+			QPID_PREFIX=/usr
+		else
+			echo "ERROR: Could not find installed Qpid"
+			echo "Either of the following must be set in the environment for this script to run:"
+			echo "  QPID_DIR for running against a Qpid svn build"
+			echo "  QPID_PREFIX for running against an installed Qpid"
+			return 1
+		fi
+	fi
+	return 0
+}
+
+
+func_check_ais ()
+#----------------
+# Check openAIS/corosync is running and user has correct privilages
+# Params: None
+# Returns: 0 if openAIS/corosync is running, 1 otherwise
+{
+	id -nG | grep '\<ais\>' >/dev/null || NOGROUP="You are not a member of the ais group."
+	ps -u root | grep 'aisexec\|corosync' >/dev/null || NOAISEXEC="The aisexec or corosync daemon is not running as root"
+
+	if test -n "$NOGROUP" -o -n "$NOAISEXEC"; then
+    	cat <<EOF
+
+    ========== WARNING: NOT RUNNING CLUSTER TESTS ============
+	
+    Tests that depend on the openais library (used for clustering)
+    will not be run because:
+	
+    $NOGROUP
+    $NOAISEXEC
+	
+    ==========================================================
+    
+EOF
+    	return 1
+	fi
+	return 0
+}
+
+
+func_check_qpid_python ()
+#------------------------
+# Check that Qpid python environment is ok
+# Params: None
+# Returns: 0 if Python environment is ok; 1 otherwise
+{
+	if ! python -c "import qpid" ; then
+    	cat <<EOF
+	
+    ===========  WARNING: PYTHON TESTS DISABLED ==============
+	
+    Unable to load python qpid module - skipping python tests.
+	
+    PYTHONPATH=${PYTHONPATH}
+	
+    ===========================================================
+	
+EOF
+    	return 1
+	fi
+	return 0
+}
+
+func_set_env ()
+#--------------
+# Set up the environment based on value of ${QPID_DIR}: if ${QPID_DIR} exists, assume a svn checkout,
+# otherwise set up for an installed or prefix test.
+# Params: None
+# Returns: Nothing
+{
+    if test "${QPID_DIR}" -a -d "${QPID_DIR}" ; then
+        # QPID_DIR is defined for source tree builds by the --with-qpid-checkout configure option.
+        # QPID_BLD is defined as the build directory, either $QPID_DIR/cpp or separately specified with
+        # the --with-qpid-build option for VPATH builds.
+
+	    # Check QPID_BLD is also set
+	    if test -z ${QPID_BLD}; then
+		    QPID_BLD="${QPID_DIR}/cpp"
+	    fi
+	
+	    # Paths and dirs
+	    PYTHON_DIR="${QPID_DIR}/python"
+	    export PYTHONPATH="${PYTHON_DIR}":"${QPID_DIR}/cpp/src/tests":"${abs_srcdir}"
+	
+	    # Libraries
+	    export CLUSTER_LIB="${QPID_BLD}/src/.libs/cluster.so"
+	    export ACL_LIB="${QPID_BLD}/src/.libs/acl.so"
+	    export TEST_STORE_LIB="${QPID_BLD}/src/tests/.libs/test_store.so"
+	
+	    # Executables
+	    CPP_CLUSTER_EXEC="${QPID_BLD}/src/tests/cluster_test"
+	    PYTHON_CLUSTER_EXEC="${QPID_DIR}/cpp/src/tests/$PYTHON_TESTNAME"
+	    export QPIDD_EXEC="${QPID_BLD}/src/qpidd"
+	    export QPID_CONFIG_EXEC="${QPID_DIR}/python/commands/qpid-config"
+	    export QPID_ROUTE_EXEC="${QPID_DIR}/python/commands/qpid-route"
+	    export RECEIVER_EXEC="${QPID_BLD}/src/tests/receiver"
+	    export SENDER_EXEC="${QPID_BLD}/src/tests/sender"
+
+	    # Test data
+	    CLUSTER_TESTS_FAIL="${QPID_DIR}/cpp/src/tests/cluster_tests.fail"
+    else
+        # Set up the environment based on value of ${QPID_PREFIX} for testing against an installed qpid
+        # Alternatively, make sure ${QPID_BIN_DIR}, ${QPID_SBIN_DIR}, ${QPID_LIB_DIR} and ${QPID_LIBEXEC_DIR} are set for
+        # the installed location.
+        if test "${QPID_PREFIX}" -a -d "${QPID_PREFIX}" ; then
+            QPID_BIN_DIR=${QPID_PREFIX}/bin
+            QPID_SBIN_DIR=${QPID_PREFIX}/sbin
+            QPID_LIB_DIR=${QPID_PREFIX}/lib
+            QPID_LIBEXEC_DIR=${QPID_PREFIX}/libexec
+        fi
+    
+	    # These four env vars must be set prior to calling this script
+	    func_checkpaths QPID_BIN_DIR QPID_SBIN_DIR QPID_LIB_DIR QPID_LIBEXEC_DIR
+	
+	    # Paths and dirs
+        export PYTHON_DIR="${QPID_BIN_DIR}"
+        export PYTHONPATH="${PYTHONPATH}":"${QPID_LIB_DIR}/python":"${QPID_LIBEXEC_DIR}/qpid/tests":"${QPID_LIB_DIR}/python2.4"
+
+	
+	    # Libraries
+	    export CLUSTER_LIB="${QPID_LIB_DIR}/qpid/daemon/cluster.so"
+	    export ACL_LIB="${QPID_LIB_DIR}/qpid/daemon/acl.so"
+	    export TEST_STORE_LIB="${QPID_LIB_DIR}/qpid/tests/test_store.so"
+	
+	    # Executables
+	    CPP_CLUSTER_EXEC="${QPID_LIBEXEC_DIR}/qpid/tests/cluster_test"
+	    PYTHON_CLUSTER_EXEC="${QPID_LIBEXEC_DIR}/qpid/tests/$PYTHON_TESTNAME"
+	    export QPIDD_EXEC="${QPID_SBIN_DIR}/qpidd"
+	    export QPID_CONFIG_EXEC="${QPID_BIN_DIR}/qpid-config"
+	    export QPID_ROUTE_EXEC="${QPID_BIN_DIR}/qpid-route"
+	    export RECEIVER_EXEC="${QPID_LIBEXEC_DIR}/qpid/tests/receiver"
+	    export SENDER_EXEC="${QPID_LIBEXEC_DIR}/qpid/tests/sender"
+
+	    # Data
+	    CLUSTER_TESTS_FAIL="${QPID_LIBEXEC_DIR}/qpid/tests/cluster_tests.fail"
+    fi
+
+}
+
+
+func_mk_data_dir ()
+#------------------
+# Create a data dir at ${TMP_DATA_DIR} if not present, clear it otherwise.
+# Set TMP_DATA_DIR if it is not set.
+# Params: None
+# Returns: Nothing
+{
+	if test -z "${TMP_DATA_DIR}"; then
+		TMP_DATA_DIR=/tmp/cluster_tests
+		echo "TMP_DATA_DIR not set; using ${TMP_DATA_DIR}"
+	fi
+	
+   	# Delete old cluster test dirs if they exist
+	if test -d "${TMP_DATA_DIR}" ; then
+    	rm -rf "${TMP_DATA_DIR}/cluster"
+	fi
+   	mkdir -p "${TMP_DATA_DIR}/cluster"
+	export TMP_DATA_DIR
+}
+
+
+func_checkvar ()
+#---------------
+# Check that an environment var is set (ie non-zero length)
+# Params: $1 - env var to be checked
+# Returns: 0 = env var is set (ie non-zero length)
+#          1 = env var is not set
+{
+	local loc_VAR=$1
+	if test -z ${!loc_VAR}; then
+		echo "WARNING: environment variable ${loc_VAR} not set."
+		return 1
+	fi
+	return 0
+}
+
+
+func_checkpaths ()
+#-----------------
+# Check a list of paths (each can contain ':'-separated sub-list) is set and valid (ie each path exists as a dir)
+# Params: $@ - List of path env vars to be checked
+# Returns: Nothing
+{
+	local loc_PATHS=$@
+	for path in ${loc_PATHS}; do
+		func_checkvar ${path}
+		if test $? == 0; then
+			local temp_IFS=${IFS}
+			IFS=":"
+			local pl=${!path}
+			for p in ${pl[@]}; do
+				if test ! -d ${p}; then
+					echo "WARNING: Directory ${p} in var ${path} not found."
+				fi
+			done
+			IFS=${temp_IFS}
+		fi
+	done
+}
+
+
+func_checklibs ()
+#----------------
+# Check that a list of libs is set and valid (ie each lib exists as an executable file)
+# Params: $@ - List of lib values to be checked
+# Returns: Nothing
+{
+	local loc_LIBS=$@
+	for lib in ${loc_LIBS[@]}; do
+		func_checkvar ${lib}
+		if test $? == 0; then
+			if test ! -x ${!lib}; then
+				echo "WARNING: Library ${lib}=${!lib} not found."
+			fi
+		fi
+	done
+}
+
+
+func_checkexecs ()
+#-----------------
+# Check that a list of executable is set and valid (ie each exec exists as an executable file)
+# Params: $@ - List of exec values to be checked
+# Returns: Nothing
+{
+	local loc_EXECS=$@
+	for exec in ${loc_EXECS[@]}; do
+		func_checkvar ${exec}
+		if test $? == 0; then
+			if test ! -x ${!exec}; then
+				echo "WARNING: Executable ${exec}=${!exec} not found or is not executable."
+			fi
+		fi
+	done
+}
+
+
+#--- Start of script ---
+
+func_check_required_env || exit 1   # Cannot run, exit with error
+func_check_ais || exit 0            # A warning, not a failure.
+
+srcdir=`dirname $0`
+if test -z ${abs_srcdir}; then
+	abs_srcdir=${srcdir}
+fi
+export STORE_LIB="${abs_srcdir}/../../lib/.libs/msgstore.so"
+
+PYTHON_TESTNAME=cluster_tests.py
+func_set_env
+func_mk_data_dir
+
+# Check expected environment vars are set
+func_checkpaths PYTHON_DIR PYTHONPATH TMP_DATA_DIR
+func_checklibs CLUSTER_LIB TEST_STORE_LIB STORE_LIB STORE_LIB
+func_checkexecs CPP_CLUSTER_EXEC PYTHON_CLUSTER_EXEC QPIDD_EXEC QPID_CONFIG_EXEC QPID_ROUTE_EXEC RECEIVER_EXEC SENDER_EXEC
+
+FAILING_PYTHON_TESTS="${abs_srcdir}/../failing_python_tests.txt"
+if test -z $1; then
+	CLUSTER_TEST="${PYTHON_DIR}/qpid-python-test -m cluster_tests -I ${CLUSTER_TESTS_FAIL}"
+else
+	CLUSTER_TEST="${PYTHON_DIR}/qpid-python-test -m cluster_tests -I ${CLUSTER_TESTS_FAIL} cluster_tests.LongTests.*"
+	LONG_TEST=1
+fi
+


Property changes on: store/trunk/cpp/tests/cluster/cluster_tests_env.sh
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:eol-style
   + native

Added: store/trunk/cpp/tests/cluster/run_cluster_test
===================================================================
--- store/trunk/cpp/tests/cluster/run_cluster_test	                        (rev 0)
+++ store/trunk/cpp/tests/cluster/run_cluster_test	2009-11-09 19:51:58 UTC (rev 3704)
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+# Copyright (c) 2008, 2009 Red Hat, Inc.
+#
+# This file is part of the Qpid async store library msgstore.so.
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301
+# USA
+#
+# The GNU Lesser General Public License is available in the file COPYING.
+
+. `dirname $0`/cluster_tests_env.sh
+
+
+
+# Run the C++ cluster tests (which are by definition short tests)
+if test ! ${LONG_TEST} ; then
+	echo "Running C++ cluster tests..."
+	sg ais -c "${CPP_CLUSTER_EXEC}"
+	RETCODE=$?
+	if test x${RETCODE} != x0; then 
+		exit 1;
+	fi
+fi
+exit 0


Property changes on: store/trunk/cpp/tests/cluster/run_cluster_test
___________________________________________________________________
Name: svn:executable
   + *

Modified: store/trunk/cpp/tests/cluster/run_cluster_tests
===================================================================
--- store/trunk/cpp/tests/cluster/run_cluster_tests	2009-11-09 15:06:39 UTC (rev 3703)
+++ store/trunk/cpp/tests/cluster/run_cluster_tests	2009-11-09 19:51:58 UTC (rev 3704)
@@ -21,302 +21,24 @@
 #
 # The GNU Lesser General Public License is available in the file COPYING.
 
+. `dirname $0`/cluster_tests_env.sh
 
-# --- Function definitions ---
 
-
-func_check_required_env ()
-#-------------------------
-# Check that EITHER:
-#    QPID_DIR is set (for running against svn QPID)
-# OR
-#    QPID_PREFIX is set (for running against installed QPID
-# Will exit with error code 1 if neither of these is defined.
-# Params: None
-# Returns: 0 if env vars ok, 1 otherwise   
-{
-	if test -z "${QPID_DIR}" -a -z "${QPID_PREFIX}"; then
-		# Try to find qpidd in the normal installed location
-		if test -x /usr/sbin/qpidd; then
-			QPID_PREFIX=/usr
-		else
-			echo "ERROR: Could not find installed Qpid"
-			echo "Either of the following must be set in the environment for this script to run:"
-			echo "  QPID_DIR for running against a Qpid svn build"
-			echo "  QPID_PREFIX for running against an installed Qpid"
-			return 1
-		fi
-	fi
-	return 0
-}
-
-
-func_check_ais ()
-#----------------
-# Check openAIS/corosync is running and user has correct privilages
-# Params: None
-# Returns: 0 if openAIS/corosync is running, 1 otherwise
-{
-	id -nG | grep '\<ais\>' >/dev/null || NOGROUP="You are not a member of the ais group."
-	ps -u root | grep 'aisexec\|corosync' >/dev/null || NOAISEXEC="The aisexec or corosync daemon is not running as root"
-
-	if test -n "$NOGROUP" -o -n "$NOAISEXEC"; then
-    	cat <<EOF
-
-    ========== WARNING: NOT RUNNING CLUSTER TESTS ============
-	
-    Tests that depend on the openais library (used for clustering)
-    will not be run because:
-	
-    $NOGROUP
-    $NOAISEXEC
-	
-    ==========================================================
-    
-EOF
-    	return 1
-	fi
-	return 0
-}
-
-
-func_check_qpid_python ()
-#------------------------
-# Check that Qpid python environment is ok
-# Params: None
-# Returns: 0 if Python environment is ok; 1 otherwise
-{
-	if ! python -c "import qpid" ; then
-    	cat <<EOF
-	
-    ===========  WARNING: PYTHON TESTS DISABLED ==============
-	
-    Unable to load python qpid module - skipping python tests.
-	
-    PYTHONPATH=${PYTHONPATH}
-	
-    ===========================================================
-	
-EOF
-    	return 1
-	fi
-	return 0
-}
-
-func_set_env ()
-#--------------
-# Set up the environment based on value of ${QPID_DIR}: if ${QPID_DIR} exists, assume a svn checkout,
-# otherwise set up for an installed or prefix test.
-# Params: None
-# Returns: Nothing
-{
-    if test "${QPID_DIR}" -a -d "${QPID_DIR}" ; then
-        # QPID_DIR is defined for source tree builds by the --with-qpid-checkout configure option.
-        # QPID_BLD is defined as the build directory, either $QPID_DIR/cpp or separately specified with
-        # the --with-qpid-build option for VPATH builds.
-
-	    # Check QPID_BLD is also set
-	    if test -z ${QPID_BLD}; then
-		    QPID_BLD="${QPID_DIR}/cpp"
-	    fi
-	
-	    # Paths and dirs
-	    PYTHON_DIR="${QPID_DIR}/python"
-	    export PYTHONPATH="${PYTHON_DIR}":"${QPID_DIR}/cpp/src/tests":"${abs_srcdir}"
-	
-	    # Libraries
-	    export CLUSTER_LIB="${QPID_BLD}/src/.libs/cluster.so"
-	    export ACL_LIB="${QPID_BLD}/src/.libs/acl.so"
-	    export TEST_STORE_LIB="${QPID_BLD}/src/tests/.libs/test_store.so"
-	
-	    # Executables
-	    CPP_CLUSTER_EXEC="${QPID_BLD}/src/tests/cluster_test"
-	    PYTHON_CLUSTER_EXEC="${QPID_DIR}/cpp/src/tests/$PYTHON_TESTNAME"
-	    export QPIDD_EXEC="${QPID_BLD}/src/qpidd"
-	    export QPID_CONFIG_EXEC="${QPID_DIR}/python/commands/qpid-config"
-	    export QPID_ROUTE_EXEC="${QPID_DIR}/python/commands/qpid-route"
-	    export RECEIVER_EXEC="${QPID_BLD}/src/tests/receiver"
-	    export SENDER_EXEC="${QPID_BLD}/src/tests/sender"
-    else
-        # Set up the environment based on value of ${QPID_PREFIX} for testing against an installed qpid
-        # Alternatively, make sure ${QPID_BIN_DIR}, ${QPID_SBIN_DIR}, ${QPID_LIB_DIR} and ${QPID_LIBEXEC_DIR} are set for
-        # the installed location.
-        if test "${QPID_PREFIX}" -a -d "${QPID_PREFIX}" ; then
-            QPID_BIN_DIR=${QPID_PREFIX}/bin
-            QPID_SBIN_DIR=${QPID_PREFIX}/sbin
-            QPID_LIB_DIR=${QPID_PREFIX}/lib
-            QPID_LIBEXEC_DIR=${QPID_PREFIX}/libexec
-        fi
-    
-	    # These four env vars must be set prior to calling this script
-	    func_checkpaths QPID_BIN_DIR QPID_SBIN_DIR QPID_LIB_DIR QPID_LIBEXEC_DIR
-	
-	    # Paths and dirs
-        export PYTHON_DIR="${QPID_BIN_DIR}"
-        export PYTHONPATH="${PYTHONPATH}":"${QPID_LIB_DIR}/python":"${QPID_LIBEXEC_DIR}/qpid/tests":"${QPID_LIB_DIR}/python2.4"
-
-	
-	    # Libraries
-	    export CLUSTER_LIB="${QPID_LIB_DIR}/qpid/daemon/cluster.so"
-	    export ACL_LIB="${QPID_LIB_DIR}/qpid/daemon/acl.so"
-	    export TEST_STORE_LIB="${QPID_LIB_DIR}/qpid/tests/test_store.so"
-	
-	    # Executables
-	    CPP_CLUSTER_EXEC="${QPID_LIBEXEC_DIR}/qpid/tests/cluster_test"
-	    PYTHON_CLUSTER_EXEC="${QPID_LIBEXEC_DIR}/qpid/tests/$PYTHON_TESTNAME"
-	    export QPIDD_EXEC="${QPID_SBIN_DIR}/qpidd"
-	    export QPID_CONFIG_EXEC="${QPID_BIN_DIR}/qpid-config"
-	    export QPID_ROUTE_EXEC="${QPID_BIN_DIR}/qpid-route"
-	    export RECEIVER_EXEC="${QPID_LIBEXEC_DIR}/qpid/tests/receiver"
-	    export SENDER_EXEC="${QPID_LIBEXEC_DIR}/qpid/tests/sender"
-    fi
-}
-
-
-func_mk_data_dir ()
-#------------------
-# Create a data dir at ${TMP_DATA_DIR} if not present, clear it otherwise.
-# Set TMP_DATA_DIR if it is not set.
-# Params: None
-# Returns: Nothing
-{
-	if test -z "${TMP_DATA_DIR}"; then
-		TMP_DATA_DIR=/tmp/cluster_tests
-		echo "TMP_DATA_DIR not set; using ${TMP_DATA_DIR}"
-	fi
-	
-   	# Delete old cluster test dirs if they exist
-	if test -d "${TMP_DATA_DIR}" ; then
-    	rm -rf "${TMP_DATA_DIR}/cluster"
-	fi
-   	mkdir -p "${TMP_DATA_DIR}/cluster"
-	export TMP_DATA_DIR
-}
-
-
-func_checkvar ()
-#---------------
-# Check that an environment var is set (ie non-zero length)
-# Params: $1 - env var to be checked
-# Returns: 0 = env var is set (ie non-zero length)
-#          1 = env var is not set
-{
-	local loc_VAR=$1
-	if test -z ${!loc_VAR}; then
-		echo "WARNING: environment variable ${loc_VAR} not set."
-		return 1
-	fi
-	return 0
-}
-
-
-func_checkpaths ()
-#-----------------
-# Check a list of paths (each can contain ':'-separated sub-list) is set and valid (ie each path exists as a dir)
-# Params: $@ - List of path env vars to be checked
-# Returns: Nothing
-{
-	local loc_PATHS=$@
-	for path in ${loc_PATHS}; do
-		func_checkvar ${path}
-		if test $? == 0; then
-			local temp_IFS=${IFS}
-			IFS=":"
-			local pl=${!path}
-			for p in ${pl[@]}; do
-				if test ! -d ${p}; then
-					echo "WARNING: Directory ${p} in var ${path} not found."
-				fi
-			done
-			IFS=${temp_IFS}
-		fi
-	done
-}
-
-
-func_checklibs ()
-#----------------
-# Check that a list of libs is set and valid (ie each lib exists as an executable file)
-# Params: $@ - List of lib values to be checked
-# Returns: Nothing
-{
-	local loc_LIBS=$@
-	for lib in ${loc_LIBS[@]}; do
-		func_checkvar ${lib}
-		if test $? == 0; then
-			if test ! -x ${!lib}; then
-				echo "WARNING: Library ${lib}=${!lib} not found."
-			fi
-		fi
-	done
-}
-
-
-func_checkexecs ()
-#-----------------
-# Check that a list of executable is set and valid (ie each exec exists as an executable file)
-# Params: $@ - List of exec values to be checked
-# Returns: Nothing
-{
-	local loc_EXECS=$@
-	for exec in ${loc_EXECS[@]}; do
-		func_checkvar ${exec}
-		if test $? == 0; then
-			if test ! -x ${!exec}; then
-				echo "WARNING: Executable ${exec}=${!exec} not found or is not executable."
-			fi
-		fi
-	done
-}
-
-
-#--- Start of script ---
-
-func_check_required_env || exit 1   # Cannot run, exit with error
-func_check_ais || exit 0            # A warning, not a failure.
-
-srcdir=`dirname $0`
-if test -z ${abs_srcdir}; then
-	abs_srcdir=${srcdir}
-fi
-export STORE_LIB="${abs_srcdir}/../../lib/.libs/msgstore.so"
-
-PYTHON_TESTNAME=cluster_tests.py
-func_set_env
-func_mk_data_dir
-
-# Check expected environment vars are set
-func_checkpaths PYTHON_DIR PYTHONPATH TMP_DATA_DIR
-func_checklibs CLUSTER_LIB TEST_STORE_LIB STORE_LIB STORE_LIB
-func_checkexecs CPP_CLUSTER_EXEC PYTHON_CLUSTER_EXEC QPIDD_EXEC QPID_CONFIG_EXEC QPID_ROUTE_EXEC RECEIVER_EXEC SENDER_EXEC
-
-FAILING_PYTHON_TESTS="${abs_srcdir}/../failing_python_tests.txt"
-if test -z $1; then
-	CLUSTER_TEST="${PYTHON_DIR}/qpid-python-test -m cluster_tests -I ${FAILING_PYTHON_TESTS} cluster_tests.ShortTests.*"
-else
-	CLUSTER_TEST="${PYTHON_DIR}/qpid-python-test -m cluster_tests -I ${FAILING_PYTHON_TESTS} cluster_tests.LongTests.*"
-	LONG_TEST=1
-fi
-
-# Run the C++ cluster tests (which are by definition short tests)
-if test ! ${LONG_TEST}; then
-	echo "Running C++ cluster tests..."
-	sg ais -c "${CPP_CLUSTER_EXEC}"
-	RETCODE=$?
-	if test x${RETCODE} != x0; then 
-		exit 1;
-	fi
-fi
-
 func_check_qpid_python || exit 0           # A warning, not a failure.
 
 echo "Running Python cluster tests..."
+OUTDIR=brokertest.tmp
+rm -rf $OUTDIR
+CLUSTER_TEST="${PYTHON_DIR}/qpid-python-test -m cluster_tests -I ${CLUSTER_TESTS_FAIL} -DOUTDIR=$OUTDIR"
+
+
 sg ais -c "${CLUSTER_TEST}"
 RETCODE=$?
 
 if test x${RETCODE} != x0; then 
     exit 1;
 fi
+rm -rf $OUTDIR
 
 ../clean.sh
 



More information about the rhmessaging-commits mailing list