summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorKim van der Riet <kpvdr@apache.org>2009-07-07 19:22:53 +0000
committerKim van der Riet <kpvdr@apache.org>2009-07-07 19:22:53 +0000
commit2e18b8cb5357902c5ee0561f19ae21b713853a00 (patch)
tree4f711a9b8b765b871bdcff535c5cd4728e5224d1 /cpp/src
parentfe5f70607f81915434e2b1c8504ce1100471451c (diff)
downloadqpid-python-2e18b8cb5357902c5ee0561f19ae21b713853a00.tar.gz
Added python long cluster test outline for long tests and soak tests. Also added check for python tools before tests to stop make distcheck failures.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@791945 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/tests/cluster.mk7
-rwxr-xr-xcpp/src/tests/cluster_tests.py (renamed from cpp/src/tests/cluster.py)0
-rwxr-xr-xcpp/src/tests/long_cluster_tests.py38
-rwxr-xr-xcpp/src/tests/run_cluster_tests30
-rwxr-xr-xcpp/src/tests/run_long_cluster_tests22
5 files changed, 90 insertions, 7 deletions
diff --git a/cpp/src/tests/cluster.mk b/cpp/src/tests/cluster.mk
index 6d680f361e..dc592fa4d5 100644
--- a/cpp/src/tests/cluster.mk
+++ b/cpp/src/tests/cluster.mk
@@ -45,11 +45,14 @@ EXTRA_DIST += \
federated_cluster_test \
clustered_replication_test \
run_cluster_tests \
+ run_long_cluster_tests \
testlib.py \
- cluster.py
+ cluster_tests.py \
+ long_cluster_tests.py
LONG_TESTS += \
+ run_long_cluster_tests \
start_cluster \
cluster_python_tests \
stop_cluster
@@ -66,6 +69,6 @@ cluster_test_SOURCES = \
ClusterFailover.cpp
cluster_test_LDADD=$(lib_client) $(lib_broker) -lboost_unit_test_framework
-qpidtest_SCRIPTS += run_cluster_tests cluster.py testlib.py
+qpidtest_SCRIPTS += run_cluster_tests cluster_tests.py run_long_cluster_tests long_cluster_tests.py testlib.py
endif
diff --git a/cpp/src/tests/cluster.py b/cpp/src/tests/cluster_tests.py
index a9082dddd9..a9082dddd9 100755
--- a/cpp/src/tests/cluster.py
+++ b/cpp/src/tests/cluster_tests.py
diff --git a/cpp/src/tests/long_cluster_tests.py b/cpp/src/tests/long_cluster_tests.py
new file mode 100755
index 0000000000..f77837f0c4
--- /dev/null
+++ b/cpp/src/tests/long_cluster_tests.py
@@ -0,0 +1,38 @@
+#!/usr/bin/env python
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+import os, signal, sys, unittest
+from testlib import TestBaseCluster
+
+class LongClusterTests(TestBaseCluster):
+ """Long/Soak cluster tests with async store ability"""
+
+
+ def test_LongCluster_01_DummyTest(self):
+ """Dummy test - a placeholder for the first of the long/soak python cluster tests"""
+ pass
+
+# Start the test here
+
+if __name__ == '__main__':
+ if os.getenv("STORE_LIB") != None:
+ print "NOTE: Store enabled for the following tests:"
+ if not unittest.main(): sys.exit(1)
+
diff --git a/cpp/src/tests/run_cluster_tests b/cpp/src/tests/run_cluster_tests
index bc98169524..d86e3db134 100755
--- a/cpp/src/tests/run_cluster_tests
+++ b/cpp/src/tests/run_cluster_tests
@@ -19,6 +19,12 @@
# under the License.
#
+if test -z $1; then
+ CLUSTER_TEST=cluster_tests.py
+else
+ CLUSTER_TEST=$1
+ echo "Running ${CLUSTER_TEST}..."
+fi
# Check that top_builddir and srcdir are set
# If not, assume local run from test dir
@@ -26,11 +32,9 @@ if [ -z ${top_builddir} -o -z ${srcdir} ]; then
srcdir=`pwd`
top_builddir=${srcdir}/../../
fi
-
-
-# Run the cluster tests.
TEST_DIR=${top_builddir}/src/tests
+
# Check AIS requirements
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"
@@ -52,12 +56,15 @@ EOF
exit 0
fi
+
# Check XML exchange requirements
XML_LIB=$srcdir/../.libs/xml.so
if [ -f ${XML_LIB} ]; then
export XML_LIB
fi
+
+# Set up environment for python tests
export PYTHONPATH=${srcdir}:${srcdir}/../../../python
export QPIDD_EXEC=${top_builddir}/src/qpidd
export CLUSTER_LIB=${top_builddir}/src/.libs/cluster.so
@@ -67,7 +74,18 @@ export RECEIVER_EXEC=${top_builddir}/src/tests/receiver
export SENDER_EXEC=${top_builddir}/src/tests/sender
-#Make sure temp dir exists if this is the first to use it
+# Check for existence of qpid tools (either in svn tree or full install)
+# This prevents make dist / make distcheck from failing without python tools being present
+if test ! -x ${top_builddir}/../python/commands/qpid-config; then
+ path=`which qpid-config`
+ if test $?; then
+ echo "WARNING: qpid tools not found, skipping test ${CLUSTER_TEST}"
+ exit 0
+ fi
+fi
+
+
+# Make sure temp dir exists if this is the first to use it
TMP_DATA_DIR=${TEST_DIR}/test_tmp
if ! test -d ${TMP_DATA_DIR} ; then
mkdir -p ${TMP_DATA_DIR}/cluster
@@ -79,12 +97,14 @@ fi
export TMP_DATA_DIR
-sg ais -c "${srcdir}/cluster.py -v"
+# Run the test
+sg ais -c "${srcdir}/${CLUSTER_TEST} -v"
RETCODE=$?
if test x${RETCODE} != x0; then
exit 1;
fi
+
# Delete cluster store dir if test was successful.
rm -rf ${TMP_DATA_DIR}
diff --git a/cpp/src/tests/run_long_cluster_tests b/cpp/src/tests/run_long_cluster_tests
new file mode 100755
index 0000000000..c96a82c92b
--- /dev/null
+++ b/cpp/src/tests/run_long_cluster_tests
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+./run_cluster_tests long_cluster_tests.py