diff options
author | Kim van der Riet <kpvdr@apache.org> | 2009-07-07 19:22:53 +0000 |
---|---|---|
committer | Kim van der Riet <kpvdr@apache.org> | 2009-07-07 19:22:53 +0000 |
commit | 2e18b8cb5357902c5ee0561f19ae21b713853a00 (patch) | |
tree | 4f711a9b8b765b871bdcff535c5cd4728e5224d1 /cpp/src | |
parent | fe5f70607f81915434e2b1c8504ce1100471451c (diff) | |
download | qpid-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.mk | 7 | ||||
-rwxr-xr-x | cpp/src/tests/cluster_tests.py (renamed from cpp/src/tests/cluster.py) | 0 | ||||
-rwxr-xr-x | cpp/src/tests/long_cluster_tests.py | 38 | ||||
-rwxr-xr-x | cpp/src/tests/run_cluster_tests | 30 | ||||
-rwxr-xr-x | cpp/src/tests/run_long_cluster_tests | 22 |
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 |