You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by jr...@apache.org on 2016/04/21 14:31:35 UTC
svn commit: r1740289 [1/3] - in /qpid/trunk/qpid: cpp/ cpp/docs/design/
cpp/docs/src/ cpp/management/ cpp/management/python/
cpp/management/python/bin/ cpp/management/python/lib/
cpp/management/python/lib/qlslibs/ cpp/management/python/lib/qmf/ cpp/man...
Author: jross
Date: Thu Apr 21 12:31:34 2016
New Revision: 1740289
URL: http://svn.apache.org/viewvc?rev=1740289&view=rev
Log:
QPID-7207: Create independent cpp and python subtrees, with content from tools and extras
Added:
qpid/trunk/qpid/cpp/CTestCustom.cmake
qpid/trunk/qpid/cpp/management/
qpid/trunk/qpid/cpp/management/python/
qpid/trunk/qpid/cpp/management/python/.gitignore
qpid/trunk/qpid/cpp/management/python/CMakeLists.txt
qpid/trunk/qpid/cpp/management/python/LICENSE.txt
- copied unchanged from r1740288, qpid/trunk/qpid/tools/LICENSE.txt
qpid/trunk/qpid/cpp/management/python/MANIFEST.in
- copied unchanged from r1740288, qpid/trunk/qpid/tools/MANIFEST.in
qpid/trunk/qpid/cpp/management/python/NOTICE.txt
- copied unchanged from r1740288, qpid/trunk/qpid/tools/NOTICE.txt
qpid/trunk/qpid/cpp/management/python/bin/
qpid/trunk/qpid/cpp/management/python/bin/.gitignore
qpid/trunk/qpid/cpp/management/python/bin/qmf-tool
- copied unchanged from r1740288, qpid/trunk/qpid/tools/src/py/qmf-tool
qpid/trunk/qpid/cpp/management/python/bin/qpid-config
- copied unchanged from r1740288, qpid/trunk/qpid/tools/src/py/qpid-config
qpid/trunk/qpid/cpp/management/python/bin/qpid-config.bat
qpid/trunk/qpid/cpp/management/python/bin/qpid-ha
- copied unchanged from r1740288, qpid/trunk/qpid/tools/src/py/qpid-ha
qpid/trunk/qpid/cpp/management/python/bin/qpid-ha.bat
qpid/trunk/qpid/cpp/management/python/bin/qpid-printevents
- copied unchanged from r1740288, qpid/trunk/qpid/tools/src/py/qpid-printevents
qpid/trunk/qpid/cpp/management/python/bin/qpid-printevents.bat
qpid/trunk/qpid/cpp/management/python/bin/qpid-qls-analyze
- copied unchanged from r1740288, qpid/trunk/qpid/tools/src/py/qpid-qls-analyze
qpid/trunk/qpid/cpp/management/python/bin/qpid-queue-stats
- copied unchanged from r1740288, qpid/trunk/qpid/tools/src/py/qpid-queue-stats
qpid/trunk/qpid/cpp/management/python/bin/qpid-queue-stats.bat
qpid/trunk/qpid/cpp/management/python/bin/qpid-receive
- copied unchanged from r1740288, qpid/trunk/qpid/tools/src/py/qpid-receive
qpid/trunk/qpid/cpp/management/python/bin/qpid-route
- copied unchanged from r1740288, qpid/trunk/qpid/tools/src/py/qpid-route
qpid/trunk/qpid/cpp/management/python/bin/qpid-route.bat
qpid/trunk/qpid/cpp/management/python/bin/qpid-send
- copied unchanged from r1740288, qpid/trunk/qpid/tools/src/py/qpid-send
qpid/trunk/qpid/cpp/management/python/bin/qpid-stat
- copied unchanged from r1740288, qpid/trunk/qpid/tools/src/py/qpid-stat
qpid/trunk/qpid/cpp/management/python/bin/qpid-stat.bat
qpid/trunk/qpid/cpp/management/python/bin/qpid-store-chk
- copied unchanged from r1740288, qpid/trunk/qpid/tools/src/py/qpid-store-chk
qpid/trunk/qpid/cpp/management/python/bin/qpid-store-resize
- copied unchanged from r1740288, qpid/trunk/qpid/tools/src/py/qpid-store-resize
qpid/trunk/qpid/cpp/management/python/bin/qpid-tool
- copied unchanged from r1740288, qpid/trunk/qpid/tools/src/py/qpid-tool
qpid/trunk/qpid/cpp/management/python/bin/qpid-tool.bat
qpid/trunk/qpid/cpp/management/python/lib/
qpid/trunk/qpid/cpp/management/python/lib/.gitignore
qpid/trunk/qpid/cpp/management/python/lib/README.txt
qpid/trunk/qpid/cpp/management/python/lib/qlslibs/
- copied from r1740288, qpid/trunk/qpid/tools/src/py/qlslibs/
qpid/trunk/qpid/cpp/management/python/lib/qmf/
- copied from r1740288, qpid/trunk/qpid/extras/qmf/src/py/qmf/
qpid/trunk/qpid/cpp/management/python/lib/qpidstore/
- copied from r1740288, qpid/trunk/qpid/tools/src/py/qpidstore/
qpid/trunk/qpid/cpp/management/python/lib/qpidtoollibs/
- copied from r1740288, qpid/trunk/qpid/tools/src/py/qpidtoollibs/
qpid/trunk/qpid/cpp/management/python/setup.py
- copied, changed from r1740288, qpid/trunk/qpid/tools/setup.py
qpid/trunk/qpid/cpp/management/ruby/
qpid/trunk/qpid/cpp/management/ruby/.gitignore
- copied unchanged from r1740288, qpid/trunk/qpid/tools/src/ruby/qpid_management/.gitignore
qpid/trunk/qpid/cpp/management/ruby/.rspec
- copied unchanged from r1740288, qpid/trunk/qpid/tools/src/ruby/qpid_management/.rspec
qpid/trunk/qpid/cpp/management/ruby/Gemfile
- copied unchanged from r1740288, qpid/trunk/qpid/tools/src/ruby/qpid_management/Gemfile
qpid/trunk/qpid/cpp/management/ruby/Gemfile.lock
- copied unchanged from r1740288, qpid/trunk/qpid/tools/src/ruby/qpid_management/Gemfile.lock
qpid/trunk/qpid/cpp/management/ruby/Rakefile
- copied unchanged from r1740288, qpid/trunk/qpid/tools/src/ruby/qpid_management/Rakefile
qpid/trunk/qpid/cpp/management/ruby/lib/
- copied from r1740288, qpid/trunk/qpid/tools/src/ruby/qpid_management/lib/
qpid/trunk/qpid/cpp/management/ruby/qpid_management.gemspec
- copied unchanged from r1740288, qpid/trunk/qpid/tools/src/ruby/qpid_management/qpid_management.gemspec
qpid/trunk/qpid/cpp/management/ruby/spec/
- copied from r1740288, qpid/trunk/qpid/tools/src/ruby/qpid_management/spec/
qpid/trunk/qpid/cpp/src/tests/check_dependencies.py.in
qpid/trunk/qpid/cpp/src/tests/common.py
qpid/trunk/qpid/cpp/src/tests/env.ps1.in
qpid/trunk/qpid/cpp/src/tests/env.py.in
qpid/trunk/qpid/cpp/src/tests/env.sh.in
qpid/trunk/qpid/cpp/src/tests/plano.py
qpid/trunk/qpid/cpp/src/tests/run.py (with props)
qpid/trunk/qpid/cpp/src/tests/run_client_tests (with props)
qpid/trunk/qpid/cpp/src/tests/run_flow_control_tests (with props)
qpid/trunk/qpid/cpp/src/tests/run_idle_timeout_tests (with props)
qpid/trunk/qpid/cpp/src/tests/run_interop_tests (with props)
qpid/trunk/qpid/cpp/src/tests/run_ipv6_tests (with props)
qpid/trunk/qpid/cpp/src/tests/run_logging_tests (with props)
qpid/trunk/qpid/cpp/src/tests/run_performance_tests (with props)
qpid/trunk/qpid/cpp/src/tests/run_python_tests (with props)
qpid/trunk/qpid/cpp/src/tests/run_qmf_tests (with props)
qpid/trunk/qpid/cpp/src/tests/run_queue_redirect_tests
qpid/trunk/qpid/cpp/src/tests/run_ring_queue_tests (with props)
qpid/trunk/qpid/cpp/src/tests/run_sasl_tests (with props)
qpid/trunk/qpid/cpp/src/tests/run_ssl_tests (with props)
qpid/trunk/qpid/cpp/src/tests/run_topic_tests (with props)
qpid/trunk/qpid/cpp/src/tests/run_transaction_tests (with props)
qpid/trunk/qpid/cpp/src/tests/run_unit_tests (with props)
qpid/trunk/qpid/python/qpid-python-test.bat (with props)
qpid/trunk/qpid/python/qpid_tests/
- copied from r1740288, qpid/trunk/qpid/tests/src/py/qpid_tests/
Removed:
qpid/trunk/qpid/cpp/docs/design/CONTENTS
qpid/trunk/qpid/cpp/docs/src/
qpid/trunk/qpid/cpp/src/tests/ais_test.cpp
qpid/trunk/qpid/cpp/src/tests/allhosts
qpid/trunk/qpid/cpp/src/tests/config.null
qpid/trunk/qpid/cpp/src/tests/fanout_perftest
qpid/trunk/qpid/cpp/src/tests/install_env.sh.in
qpid/trunk/qpid/cpp/src/tests/ipv6_test
qpid/trunk/qpid/cpp/src/tests/multiq_perftest
qpid/trunk/qpid/cpp/src/tests/python_tests
qpid/trunk/qpid/cpp/src/tests/python_tests.ps1
qpid/trunk/qpid/cpp/src/tests/qpid-build-rinstall
qpid/trunk/qpid/cpp/src/tests/quick_perftest
qpid/trunk/qpid/cpp/src/tests/quick_topictest
qpid/trunk/qpid/cpp/src/tests/quick_topictest.ps1
qpid/trunk/qpid/cpp/src/tests/quick_txtest
qpid/trunk/qpid/cpp/src/tests/rsynchosts
qpid/trunk/qpid/cpp/src/tests/run_acl_tests.ps1
qpid/trunk/qpid/cpp/src/tests/run_federation_sys_tests
qpid/trunk/qpid/cpp/src/tests/run_federation_tests.ps1
qpid/trunk/qpid/cpp/src/tests/run_header_test
qpid/trunk/qpid/cpp/src/tests/run_header_test.ps1
qpid/trunk/qpid/cpp/src/tests/run_headers_federation_tests
qpid/trunk/qpid/cpp/src/tests/run_msg_group_tests.ps1
qpid/trunk/qpid/cpp/src/tests/run_perftest
qpid/trunk/qpid/cpp/src/tests/run_queue_flow_limit_tests
qpid/trunk/qpid/cpp/src/tests/run_queue_redirect
qpid/trunk/qpid/cpp/src/tests/run_ring_queue_test
qpid/trunk/qpid/cpp/src/tests/run_test
qpid/trunk/qpid/cpp/src/tests/run_test.ps1
qpid/trunk/qpid/cpp/src/tests/shared_perftest
qpid/trunk/qpid/cpp/src/tests/swig_python_tests
qpid/trunk/qpid/cpp/src/tests/test.xquery
qpid/trunk/qpid/cpp/src/tests/test_env.ps1.in
qpid/trunk/qpid/cpp/src/tests/test_env.sh.in
qpid/trunk/qpid/cpp/src/tests/test_env_common.sh
qpid/trunk/qpid/cpp/src/tests/topic_perftest
qpid/trunk/qpid/cpp/src/tests/vg_check
qpid/trunk/qpid/extras/qmf/
qpid/trunk/qpid/python/doc/
qpid/trunk/qpid/python/todo.txt
qpid/trunk/qpid/tests/
qpid/trunk/qpid/tools/LICENSE.txt
qpid/trunk/qpid/tools/MANIFEST.in
qpid/trunk/qpid/tools/NOTICE.txt
qpid/trunk/qpid/tools/setup.py
qpid/trunk/qpid/tools/src/py/
qpid/trunk/qpid/tools/src/ruby/
Modified:
qpid/trunk/qpid/cpp/CMakeLists.txt
qpid/trunk/qpid/cpp/INSTALL.txt
qpid/trunk/qpid/cpp/src/CMakeLists.txt
qpid/trunk/qpid/cpp/src/tests/CMakeLists.txt
qpid/trunk/qpid/cpp/src/tests/README.txt
qpid/trunk/qpid/cpp/src/tests/brokertest.py
qpid/trunk/qpid/cpp/src/tests/cli_tests.py
qpid/trunk/qpid/cpp/src/tests/dynamic_log_hires_timestamp
qpid/trunk/qpid/cpp/src/tests/dynamic_log_level_test
qpid/trunk/qpid/cpp/src/tests/federated_topic_test
qpid/trunk/qpid/cpp/src/tests/ha_test.py
qpid/trunk/qpid/cpp/src/tests/ha_tests.py
qpid/trunk/qpid/cpp/src/tests/interlink_tests.py
qpid/trunk/qpid/cpp/src/tests/interop_tests.py
qpid/trunk/qpid/cpp/src/tests/legacystore/CMakeLists.txt
qpid/trunk/qpid/cpp/src/tests/legacystore/federation/federation_tests_env.sh
qpid/trunk/qpid/cpp/src/tests/legacystore/run_python_tests
qpid/trunk/qpid/cpp/src/tests/linearstore/CMakeLists.txt
qpid/trunk/qpid/cpp/src/tests/linearstore/run_python_tests
qpid/trunk/qpid/cpp/src/tests/run_acl_tests
qpid/trunk/qpid/cpp/src/tests/run_cli_tests
qpid/trunk/qpid/cpp/src/tests/run_federation_tests
qpid/trunk/qpid/cpp/src/tests/run_ha_tests
qpid/trunk/qpid/cpp/src/tests/run_interlink_tests
qpid/trunk/qpid/cpp/src/tests/run_long_federation_sys_tests
qpid/trunk/qpid/cpp/src/tests/run_msg_group_tests
qpid/trunk/qpid/cpp/src/tests/run_msg_group_tests_soak
qpid/trunk/qpid/cpp/src/tests/run_paged_queue_tests
qpid/trunk/qpid/cpp/src/tests/run_store_tests.ps1
qpid/trunk/qpid/cpp/src/tests/sasl_fed
qpid/trunk/qpid/cpp/src/tests/sasl_fed_ex
qpid/trunk/qpid/cpp/src/tests/sasl_no_dir
qpid/trunk/qpid/cpp/src/tests/sasl_test_setup.sh
qpid/trunk/qpid/cpp/src/tests/ssl_test
qpid/trunk/qpid/cpp/src/tests/topictest
qpid/trunk/qpid/python/setup.py
Modified: qpid/trunk/qpid/cpp/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/CMakeLists.txt?rev=1740289&r1=1740288&r2=1740289&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/CMakeLists.txt (original)
+++ qpid/trunk/qpid/cpp/CMakeLists.txt Thu Apr 21 12:31:34 2016
@@ -51,6 +51,7 @@ include(BuildInstallSettings.cmake)
enable_testing()
include (CTest)
+configure_file(${CMAKE_SOURCE_DIR}/CTestCustom.cmake ${CMAKE_BINARY_DIR}/CTestCustom.cmake)
if (MSVC)
# Chaxnge warning C4996 from level 1 to level 4. These are real and shouldn't
@@ -80,7 +81,7 @@ endif (WIN32)
set_absolute_install_path (QPIDC_CONF_FILE ${QPID_INSTALL_CONFDIR}/qpidc.conf)
set_absolute_install_path (QPIDD_CONF_FILE ${QPID_INSTALL_CONFDIR}/qpidd.conf)
-install(FILES LICENSE.txt NOTICE.txt DESTINATION ${QPID_INSTALL_DOCDIR})
+install(FILES LICENSE.txt NOTICE.txt DESTINATION ${QPID_INSTALL_DOCDIR})
install(FILES include/qmf/qmf2.i
DESTINATION ${QPID_INSTALL_INCLUDEDIR}/qmf)
@@ -217,6 +218,7 @@ if (MSVC)
endif (MSVC)
# Subdirectories
+add_subdirectory(management/python)
add_subdirectory(managementgen)
add_subdirectory(src)
add_subdirectory(etc)
Added: qpid/trunk/qpid/cpp/CTestCustom.cmake
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/CTestCustom.cmake?rev=1740289&view=auto
==============================================================================
--- qpid/trunk/qpid/cpp/CTestCustom.cmake (added)
+++ qpid/trunk/qpid/cpp/CTestCustom.cmake Thu Apr 21 12:31:34 2016
@@ -0,0 +1 @@
+set(CTEST_CUSTOM_PRE_TEST "python ${CMAKE_BINARY_DIR}/src/tests/check_dependencies.py")
Modified: qpid/trunk/qpid/cpp/INSTALL.txt
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/INSTALL.txt?rev=1740289&r1=1740288&r2=1740289&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/INSTALL.txt (original)
+++ qpid/trunk/qpid/cpp/INSTALL.txt Thu Apr 21 12:31:34 2016
@@ -194,7 +194,7 @@ a source distribution:
(*) Boost 1.33 will also work.
-Optional support for AMQP 1.0 requires (see AMQP_1.0 for details):
+Optional support for AMQP 1.0 requires (see docs/amqp-1.0.txt for details):
* Qpid proton-c <http://qpid.apache.org/proton> (0.5)
Note: If Proton is installed in a non-standard location, there are two ways to locate it:
1. Recommended: use proton 0.7 or later and use the same install prefix
@@ -206,7 +206,7 @@ Optional XML exchange requires:
* xqilla <http://xqilla.sourceforge.net/HomePage> (2.0.0)
* xerces-c <http://xerces.apache.org/xerces-c/> (2.7.0)
-Optional SSL support requires:
+Optional SSL support requires (see docs/ssl.txt for details):
* nss <http://www.mozilla.org/projects/security/pki/nss/>
* nspr <http://www.mozilla.org/projects/nspr/>
Added: qpid/trunk/qpid/cpp/management/python/.gitignore
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/management/python/.gitignore?rev=1740289&view=auto
==============================================================================
--- qpid/trunk/qpid/cpp/management/python/.gitignore (added)
+++ qpid/trunk/qpid/cpp/management/python/.gitignore Thu Apr 21 12:31:34 2016
@@ -0,0 +1,3 @@
+MANIFEST
+build
+dist
Added: qpid/trunk/qpid/cpp/management/python/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/management/python/CMakeLists.txt?rev=1740289&view=auto
==============================================================================
--- qpid/trunk/qpid/cpp/management/python/CMakeLists.txt (added)
+++ qpid/trunk/qpid/cpp/management/python/CMakeLists.txt Thu Apr 21 12:31:34 2016
@@ -0,0 +1,32 @@
+#
+# 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.
+#
+
+find_package(PythonInterp REQUIRED)
+
+add_custom_target(management_python_build ALL
+ COMMAND
+ ${PYTHON_EXECUTABLE} setup.py build
+ --build-base=${CMAKE_CURRENT_BINARY_DIR}
+ --build-scripts=${CMAKE_CURRENT_BINARY_DIR}/bin
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
+
+install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} setup.py install
+ --prefix=${CMAKE_INSTALL_PREFIX} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})")
+
+
Added: qpid/trunk/qpid/cpp/management/python/bin/.gitignore
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/management/python/bin/.gitignore?rev=1740289&view=auto
==============================================================================
--- qpid/trunk/qpid/cpp/management/python/bin/.gitignore (added)
+++ qpid/trunk/qpid/cpp/management/python/bin/.gitignore Thu Apr 21 12:31:34 2016
@@ -0,0 +1,13 @@
+qmf-toolc
+qpid-configc
+qpid-hac
+qpid-printeventsc
+qpid-qls-analyzec
+qpid-queue-statsc
+qpid-receivec
+qpid-routec
+qpid-sendc
+qpid-statc
+qpid-store-chkc
+qpid-store-resizec
+qpid-toolc
Added: qpid/trunk/qpid/cpp/management/python/bin/qpid-config.bat
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/management/python/bin/qpid-config.bat?rev=1740289&view=auto
==============================================================================
--- qpid/trunk/qpid/cpp/management/python/bin/qpid-config.bat (added)
+++ qpid/trunk/qpid/cpp/management/python/bin/qpid-config.bat Thu Apr 21 12:31:34 2016
@@ -0,0 +1,2 @@
+@echo off
+python %~dp0\qpid-config %*
Added: qpid/trunk/qpid/cpp/management/python/bin/qpid-ha.bat
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/management/python/bin/qpid-ha.bat?rev=1740289&view=auto
==============================================================================
--- qpid/trunk/qpid/cpp/management/python/bin/qpid-ha.bat (added)
+++ qpid/trunk/qpid/cpp/management/python/bin/qpid-ha.bat Thu Apr 21 12:31:34 2016
@@ -0,0 +1,2 @@
+@echo off
+python %~dp0\qpid-ha %*
Added: qpid/trunk/qpid/cpp/management/python/bin/qpid-printevents.bat
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/management/python/bin/qpid-printevents.bat?rev=1740289&view=auto
==============================================================================
--- qpid/trunk/qpid/cpp/management/python/bin/qpid-printevents.bat (added)
+++ qpid/trunk/qpid/cpp/management/python/bin/qpid-printevents.bat Thu Apr 21 12:31:34 2016
@@ -0,0 +1,2 @@
+@echo off
+python %~dp0\qpid-printevents %*
Added: qpid/trunk/qpid/cpp/management/python/bin/qpid-queue-stats.bat
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/management/python/bin/qpid-queue-stats.bat?rev=1740289&view=auto
==============================================================================
--- qpid/trunk/qpid/cpp/management/python/bin/qpid-queue-stats.bat (added)
+++ qpid/trunk/qpid/cpp/management/python/bin/qpid-queue-stats.bat Thu Apr 21 12:31:34 2016
@@ -0,0 +1,3 @@
+@echo off
+python %~dp0\qpid-queue-stats %*
+
Added: qpid/trunk/qpid/cpp/management/python/bin/qpid-route.bat
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/management/python/bin/qpid-route.bat?rev=1740289&view=auto
==============================================================================
--- qpid/trunk/qpid/cpp/management/python/bin/qpid-route.bat (added)
+++ qpid/trunk/qpid/cpp/management/python/bin/qpid-route.bat Thu Apr 21 12:31:34 2016
@@ -0,0 +1,2 @@
+@echo off
+python %~dp0\qpid-route %*
Added: qpid/trunk/qpid/cpp/management/python/bin/qpid-stat.bat
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/management/python/bin/qpid-stat.bat?rev=1740289&view=auto
==============================================================================
--- qpid/trunk/qpid/cpp/management/python/bin/qpid-stat.bat (added)
+++ qpid/trunk/qpid/cpp/management/python/bin/qpid-stat.bat Thu Apr 21 12:31:34 2016
@@ -0,0 +1,2 @@
+@echo off
+python %~dp0\qpid-stat %*
Added: qpid/trunk/qpid/cpp/management/python/bin/qpid-tool.bat
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/management/python/bin/qpid-tool.bat?rev=1740289&view=auto
==============================================================================
--- qpid/trunk/qpid/cpp/management/python/bin/qpid-tool.bat (added)
+++ qpid/trunk/qpid/cpp/management/python/bin/qpid-tool.bat Thu Apr 21 12:31:34 2016
@@ -0,0 +1,2 @@
+@echo off
+python %~dp0\qpid-tool %*
Added: qpid/trunk/qpid/cpp/management/python/lib/.gitignore
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/management/python/lib/.gitignore?rev=1740289&view=auto
==============================================================================
--- qpid/trunk/qpid/cpp/management/python/lib/.gitignore (added)
+++ qpid/trunk/qpid/cpp/management/python/lib/.gitignore Thu Apr 21 12:31:34 2016
@@ -0,0 +1,22 @@
+
+#
+#
+#
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# "License"); you may not use this file except in compliance
+# KIND, either express or implied. See the License for the
+# Licensed to the Apache Software Foundation (ASF) under one
+# Unless required by applicable law or agreed to in writing,
+# distributed with this work for additional information
+# or more contributor license agreements. See the NOTICE file
+# regarding copyright ownership. The ASF licenses this file
+# software distributed under the License is distributed on an
+# specific language governing permissions and limitations
+# to you under the Apache License, Version 2.0 (the
+# under the License.
+# with the License. You may obtain a copy of the License at
+/qpid-configc
+/qpid-hac
+/qpid-routec
Added: qpid/trunk/qpid/cpp/management/python/lib/README.txt
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/management/python/lib/README.txt?rev=1740289&view=auto
==============================================================================
--- qpid/trunk/qpid/cpp/management/python/lib/README.txt (added)
+++ qpid/trunk/qpid/cpp/management/python/lib/README.txt Thu Apr 21 12:31:34 2016
@@ -0,0 +1,4 @@
+To run these programs, please set PYTHONPATH to include:
+
+ qpid/python
+ qpid/extras/qmf/src/py
Copied: qpid/trunk/qpid/cpp/management/python/setup.py (from r1740288, qpid/trunk/qpid/tools/setup.py)
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/management/python/setup.py?p2=qpid/trunk/qpid/cpp/management/python/setup.py&p1=qpid/trunk/qpid/tools/setup.py&r1=1740288&r2=1740289&rev=1740289&view=diff
==============================================================================
--- qpid/trunk/qpid/tools/setup.py (original)
+++ qpid/trunk/qpid/cpp/management/python/setup.py Thu Apr 21 12:31:34 2016
@@ -17,48 +17,62 @@
# specific language governing permissions and limitations
# under the License.
#
+
+import platform
+
from distutils.core import setup
pypi_long_description = """
+# Python libraries for the Apache Qpid C++ broker
-===========
-qpidtoollibs
-===========
+## qmf
-qpidtoollibs provides a useful BrokerAgent object for managing a Qpid broker
-using Qpid Management Framework (QMF).
+The Qpid Management Framework (QMF).
-This library depends on the qpid.messaging python client to send AMQP messaging
-containing QMF commands to the Qpid broker.
+## qpidtoollibs
+A high-level BrokerAgent object for managing the C++ broker using QMF.
+
+This library depends on the qpid.messaging python client to send AMQP
+messages containing QMF commands to the broker.
"""
+scripts = [
+ "bin/qpid-config",
+ "bin/qpid-ha",
+ "bin/qpid-printevents",
+ "bin/qpid-queue-stats",
+ "bin/qpid-route",
+ "bin/qpid-stat",
+ "bin/qpid-tool",
+]
+
+if platform.system() == "Windows":
+ scripts.append("bin/qpid-config.bat")
+ scripts.append("bin/qpid-ha.bat")
+ scripts.append("bin/qpid-printevents.bat")
+ scripts.append("bin/qpid-queue-stats.bat")
+ scripts.append("bin/qpid-route.bat")
+ scripts.append("bin/qpid-stat.bat")
+ scripts.append("bin/qpid-tool.bat")
+
setup(name="qpid-tools",
version="0.35",
author="Apache Qpid",
- author_email="dev@qpid.apache.org",
- package_dir={'' : 'src/py'},
- packages=["qpidtoollibs"],
- scripts=["src/py/qpid-config",
- "src/py/qpid-ha",
- "src/py/qpid-printevents",
- "src/py/qpid-queue-stats",
- "src/py/qpid-route",
- "src/py/qpid-stat",
- "src/py/qpid-tool",
- "src/py/qmf-tool"],
- data_files=[("libexec", ["src/py/qpid-qls-analyze"]),
+ author_email="users@qpid.apache.org",
+ package_dir={'' : 'lib'},
+ packages=["qpidtoollibs", "qmf"],
+ scripts=scripts,
+ data_files=[("libexec", ["bin/qpid-qls-analyze"]),
("share/qpid-tools/python/qlslibs",
- ["src/py/qlslibs/__init__.py",
- "src/py/qlslibs/analyze.py",
- "src/py/qlslibs/efp.py",
- "src/py/qlslibs/err.py",
- "src/py/qlslibs/jrnl.py",
- "src/py/qlslibs/utils.py"])],
+ ["lib/qlslibs/__init__.py",
+ "lib/qlslibs/analyze.py",
+ "lib/qlslibs/efp.py",
+ "lib/qlslibs/err.py",
+ "lib/qlslibs/jrnl.py",
+ "lib/qlslibs/utils.py"])],
url="http://qpid.apache.org/",
license="Apache Software License",
- description="Diagnostic and management tools for Apache Qpid brokers.",
+ description="Python libraries for the Apache Qpid C++ broker",
long_description=pypi_long_description,
- install_requires=[
- "qpid-python >= 0.26",
- ])
+ install_requires=["qpid-python >= 0.26",])
Modified: qpid/trunk/qpid/cpp/src/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/CMakeLists.txt?rev=1740289&r1=1740288&r2=1740289&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/CMakeLists.txt (original)
+++ qpid/trunk/qpid/cpp/src/CMakeLists.txt Thu Apr 21 12:31:34 2016
@@ -502,30 +502,23 @@ if (BUILD_XML)
endif (BUILD_XML)
-# Build the ACL plugin
-set (acl_default ON)
-
-option(BUILD_ACL "Build ACL enforcement broker plugin" ${acl_default})
-
-if (BUILD_ACL)
- set (acl_SOURCES
- qpid/acl/Acl.cpp
- qpid/acl/Acl.h
- qpid/acl/AclConnectionCounter.cpp
- qpid/acl/AclConnectionCounter.h
- qpid/acl/AclData.cpp
- qpid/acl/AclData.h
- qpid/acl/AclLexer.cpp
- qpid/acl/AclLexer.h
- qpid/acl/AclPlugin.cpp
- qpid/acl/AclReader.cpp
- qpid/acl/AclReader.h
- qpid/acl/AclResourceCounter.cpp
- qpid/acl/AclResourceCounter.h
- qpid/acl/AclValidator.cpp
- qpid/acl/AclValidator.h
- )
-endif (BUILD_ACL)
+set (acl_SOURCES
+ qpid/acl/Acl.cpp
+ qpid/acl/Acl.h
+ qpid/acl/AclConnectionCounter.cpp
+ qpid/acl/AclConnectionCounter.h
+ qpid/acl/AclData.cpp
+ qpid/acl/AclData.h
+ qpid/acl/AclLexer.cpp
+ qpid/acl/AclLexer.h
+ qpid/acl/AclPlugin.cpp
+ qpid/acl/AclReader.cpp
+ qpid/acl/AclReader.h
+ qpid/acl/AclResourceCounter.cpp
+ qpid/acl/AclResourceCounter.h
+ qpid/acl/AclValidator.cpp
+ qpid/acl/AclValidator.h
+ )
set (ha_default ON)
Modified: qpid/trunk/qpid/cpp/src/tests/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/CMakeLists.txt?rev=1740289&r1=1740288&r2=1740289&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/CMakeLists.txt (original)
+++ qpid/trunk/qpid/cpp/src/tests/CMakeLists.txt Thu Apr 21 12:31:34 2016
@@ -25,21 +25,22 @@ if (QPID_LINK_BOOST_DYNAMIC)
add_definitions(-DBOOST_TEST_DYN_LINK)
endif (QPID_LINK_BOOST_DYNAMIC)
-include_directories( ${CMAKE_CURRENT_SOURCE_DIR} )
+include_directories(${CMAKE_CURRENT_SOURCE_DIR})
-# Using the Boost DLLs triggers warning 4275 on Visual Studio
-# (non dll-interface class used as base for dll-interface class).
-# This is ok, so suppress the warning.
-# Also, boost lengthy names trigger warning 4503, decorated name length exceeded
-# and using getenv() triggers insecure CRT warnings which we can silence in the
-# test environment.
+# Using the Boost DLLs triggers warning 4275 on Visual Studio (non
+# dll-interface class used as base for dll-interface class). This is
+# ok, so suppress the warning.
+#
+# Also, boost lengthy names trigger warning 4503, decorated name
+# length exceeded and using getenv() triggers insecure CRT warnings
+# which we can silence in the test environment.
if (MSVC)
- add_definitions( /wd4275 /wd4503 /D_CRT_SECURE_NO_WARNINGS)
+ add_definitions(/wd4275 /wd4503 /D_CRT_SECURE_NO_WARNINGS)
endif (MSVC)
# If we're using GCC allow variadic macros (even though they're c99 not c++01)
if (CMAKE_COMPILER_IS_GNUCXX)
- add_definitions(-Wno-variadic-macros)
+ add_definitions(-Wno-variadic-macros)
endif (CMAKE_COMPILER_IS_GNUCXX)
# Windows uses some process-startup calls to ensure that errors, etc. don't
@@ -48,95 +49,91 @@ endif (CMAKE_COMPILER_IS_GNUCXX)
# instead of windows. If you want to remove this code, build without the
# QPID_WINDOWS_DEFAULT_TEST_OUTPUTS ON.
if (CMAKE_SYSTEM_NAME STREQUAL Windows)
- option(QPID_WINDOWS_DEFAULT_TEST_OUTPUTS "Use default error-handling on Windows tests" OFF)
- if (NOT QPID_WINDOWS_DEFAULT_TEST_OUTPUTS)
- set(platform_test_additions windows/DisableWin32ErrorWindows.cpp)
- endif (NOT QPID_WINDOWS_DEFAULT_TEST_OUTPUTS)
+ option(QPID_WINDOWS_DEFAULT_TEST_OUTPUTS "Use default error-handling on Windows tests" OFF)
+ if (NOT QPID_WINDOWS_DEFAULT_TEST_OUTPUTS)
+ set(platform_test_additions windows/DisableWin32ErrorWindows.cpp)
+ endif (NOT QPID_WINDOWS_DEFAULT_TEST_OUTPUTS)
endif (CMAKE_SYSTEM_NAME STREQUAL Windows)
# Some generally useful utilities that just happen to be built in the test area
-add_executable (qpid-receive qpid-receive.cpp Statistics.cpp ${platform_test_additions})
-target_link_libraries (qpid-receive qpidmessaging qpidtypes qpidcommon)
+add_executable(qpid-receive qpid-receive.cpp Statistics.cpp ${platform_test_additions})
+target_link_libraries(qpid-receive qpidmessaging qpidtypes qpidcommon)
-add_executable (qpid-send qpid-send.cpp Statistics.cpp ${platform_test_additions})
-target_link_libraries (qpid-send qpidmessaging qpidtypes qpidcommon)
+add_executable(qpid-send qpid-send.cpp Statistics.cpp ${platform_test_additions})
+target_link_libraries(qpid-send qpidmessaging qpidtypes qpidcommon)
-install (TARGETS
- qpid-receive qpid-send
- RUNTIME DESTINATION ${QPID_INSTALL_BINDIR})
+install(TARGETS qpid-receive qpid-send RUNTIME DESTINATION ${QPID_INSTALL_BINDIR})
-add_executable (qpid-perftest qpid-perftest.cpp ${platform_test_additions})
-target_link_libraries (qpid-perftest qpidclient qpidcommon ${Boost_PROGRAM_OPTIONS_LIBRARY})
+add_executable(qpid-perftest qpid-perftest.cpp ${platform_test_additions})
+target_link_libraries(qpid-perftest qpidclient qpidcommon ${Boost_PROGRAM_OPTIONS_LIBRARY})
-add_executable (qpid-latency-test qpid-latency-test.cpp ${platform_test_additions})
-target_link_libraries (qpid-latency-test qpidclient qpidcommon)
+add_executable(qpid-latency-test qpid-latency-test.cpp ${platform_test_additions})
+target_link_libraries(qpid-latency-test qpidclient qpidcommon)
-add_executable (qpid-client-test qpid-client-test.cpp ${platform_test_additions})
-target_link_libraries (qpid-client-test qpidclient qpidcommon)
+add_executable(qpid-client-test qpid-client-test.cpp ${platform_test_additions})
+target_link_libraries(qpid-client-test qpidclient qpidcommon)
-add_executable (qpid-ping qpid-ping.cpp ${platform_test_additions})
-target_link_libraries (qpid-ping qpidmessaging qpidtypes qpidcommon)
+add_executable(qpid-ping qpid-ping.cpp ${platform_test_additions})
+target_link_libraries(qpid-ping qpidmessaging qpidtypes qpidcommon)
-add_executable (qpid-topic-listener qpid-topic-listener.cpp ${platform_test_additions})
-target_link_libraries (qpid-topic-listener qpidclient qpidcommon)
+add_executable(qpid-topic-listener qpid-topic-listener.cpp ${platform_test_additions})
+target_link_libraries(qpid-topic-listener qpidclient qpidcommon)
-add_executable (qpid-topic-publisher qpid-topic-publisher.cpp ${platform_test_additions})
-target_link_libraries (qpid-topic-publisher qpidclient qpidcommon)
+add_executable(qpid-topic-publisher qpid-topic-publisher.cpp ${platform_test_additions})
+target_link_libraries(qpid-topic-publisher qpidclient qpidcommon)
-add_executable (receiver receiver.cpp ${platform_test_additions})
-target_link_libraries (receiver qpidclient qpidcommon)
+add_executable(receiver receiver.cpp ${platform_test_additions})
+target_link_libraries(receiver qpidclient qpidcommon)
# This is bizarre - using both messaging and client libraries
-add_executable (sender sender.cpp Statistics.cpp ${platform_test_additions})
-target_link_libraries (sender qpidmessaging qpidtypes qpidclient qpidcommon)
+add_executable(sender sender.cpp Statistics.cpp ${platform_test_additions})
+target_link_libraries(sender qpidmessaging qpidtypes qpidclient qpidcommon)
+
+add_executable(qpid-txtest qpid-txtest.cpp ${platform_test_additions})
+target_link_libraries(qpid-txtest qpidclient qpidcommon qpidtypes)
-add_executable (qpid-txtest qpid-txtest.cpp ${platform_test_additions})
-target_link_libraries (qpid-txtest qpidclient qpidcommon qpidtypes)
-#qpid_txtest_SOURCES=qpid-txtest.cpp TestOptions.h ConnectionOptions.h
-
-add_executable (qpid-txtest2 qpid-txtest2.cpp ${platform_test_additions})
-target_link_libraries (qpid-txtest2 qpidmessaging qpidtypes qpidcommon)
-
-install (TARGETS
- qpid-perftest qpid-latency-test qpid-client-test
- qpid-ping
- qpid-topic-listener qpid-topic-publisher receiver sender
- qpid-txtest qpid-txtest2
- RUNTIME DESTINATION ${QPID_INSTALL_TESTDIR})
+add_executable(qpid-txtest2 qpid-txtest2.cpp ${platform_test_additions})
+target_link_libraries(qpid-txtest2 qpidmessaging qpidtypes qpidcommon)
+
+install(TARGETS
+ qpid-perftest qpid-latency-test qpid-client-test
+ qpid-ping
+ qpid-topic-listener qpid-topic-publisher receiver sender
+ qpid-txtest qpid-txtest2
+ RUNTIME DESTINATION ${QPID_INSTALL_TESTDIR})
# Only build test code if testing is turned on
if (BUILD_TESTING)
-# Create the environment scripts for tests
-set (abs_srcdir ${CMAKE_CURRENT_SOURCE_DIR})
-set (abs_builddir ${CMAKE_CURRENT_BINARY_DIR})
-set (abs_top_srcdir ${CMAKE_SOURCE_DIR})
-set (abs_top_builddir ${CMAKE_BINARY_DIR})
-set (builddir_lib_suffix "")
-
if (CMAKE_SYSTEM_NAME STREQUAL Windows)
- configure_file (${CMAKE_CURRENT_SOURCE_DIR}/test_env.ps1.in
- ${CMAKE_CURRENT_BINARY_DIR}/test_env.ps1 @ONLY)
-else (CMAKE_SYSTEM_NAME STREQUAL Windows)
- configure_file (${CMAKE_CURRENT_SOURCE_DIR}/test_env.sh.in
- ${CMAKE_CURRENT_BINARY_DIR}/test_env.sh @ONLY)
-endif (CMAKE_SYSTEM_NAME STREQUAL Windows)
+ # Windows
+
+ set(ENV{OUTDIR} ${EXECUTABLE_OUTPUT_PATH})
-# Copy qpidd-p0 script to build directory so tests can find it.
-configure_file (${CMAKE_CURRENT_SOURCE_DIR}/qpidd-p0 ${CMAKE_CURRENT_BINARY_DIR} COPYONLY)
-
-if (CMAKE_SYSTEM_NAME STREQUAL Windows)
- set (ENV{OUTDIR} ${EXECUTABLE_OUTPUT_PATH})
- set (test_script_suffix ".ps1")
- set (shell "powershell")
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/env.ps1.in
+ ${CMAKE_CURRENT_BINARY_DIR}/env.ps1 @ONLY)
+else (CMAKE_SYSTEM_NAME STREQUAL Windows)
+ # Posix
+
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/env.sh.in
+ ${CMAKE_CURRENT_BINARY_DIR}/env.sh @ONLY)
endif (CMAKE_SYSTEM_NAME STREQUAL Windows)
-set(test_wrap ${shell} ${CMAKE_CURRENT_SOURCE_DIR}/run_test${test_script_suffix} -buildDir ${CMAKE_BINARY_DIR})
-set(python_wrap ${shell} ${CMAKE_CURRENT_SOURCE_DIR}/run_test${test_script_suffix} -buildDir ${CMAKE_BINARY_DIR} -python)
-
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/check_dependencies.py.in
+ ${CMAKE_CURRENT_BINARY_DIR}/check_dependencies.py @ONLY)
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/env.py.in
+ ${CMAKE_CURRENT_BINARY_DIR}/env.py @ONLY)
+
+file(COPY .
+ DESTINATION .
+ PATTERN "*.cmake" EXCLUDE
+ PATTERN "*.in" EXCLUDE
+ PATTERN "*.c" EXCLUDE
+ PATTERN "*.h" EXCLUDE
+ PATTERN "*.cpp" EXCLUDE)
+
if (BUILD_TESTING_UNITTESTS)
-#
# Unit test program
#
# Unit tests are built as a single program to reduce valgrind overhead
@@ -144,8 +141,8 @@ if (BUILD_TESTING_UNITTESTS)
# ccmake and set unit_tests_to_build to the set you want to build.
# Like this to work with cmake 2.4 on Unix
-set (qpid_test_boost_libs
- ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY} ${Boost_SYSTEM_LIBRARY})
+set(qpid_test_boost_libs
+ ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY} ${Boost_SYSTEM_LIBRARY})
set(all_unit_tests
AccumulatedAckTest
@@ -200,21 +197,16 @@ set(all_unit_tests
Url
Uuid
Variant
- ${xml_tests}
- )
-
-set(unit_tests_to_build
- ""
- CACHE STRING "Which unit tests to build"
- )
+ ${xml_tests})
+set(unit_tests_to_build "" CACHE STRING "Which unit tests to build")
mark_as_advanced(unit_tests_to_build)
# If no unit_test specifically set then use all unit tests
if (unit_tests_to_build)
-set(actual_unit_tests ${unit_tests_to_build})
+ set(actual_unit_tests ${unit_tests_to_build})
else()
-set(actual_unit_tests ${all_unit_tests})
+ set(actual_unit_tests ${all_unit_tests})
endif()
add_executable (unit_test unit_test
@@ -224,148 +216,115 @@ target_link_libraries (unit_test
qpidmessaging qpidtypes qpidbroker qpidclient qpidcommon)
set_target_properties (unit_test PROPERTIES COMPILE_DEFINITIONS _IN_QPID_BROKER)
-add_test (NAME unit_test COMMAND ${test_wrap} -boostTest -- $<TARGET_FILE:unit_test>)
-
endif (BUILD_TESTING_UNITTESTS)
-add_library (shlibtest MODULE shlibtest.cpp)
+add_library(shlibtest MODULE shlibtest.cpp)
if (BUILD_SASL)
- add_custom_command(
- OUTPUT sasl_config/qpidd.conf sasl_config/qpidd.sasldb
- COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/sasl_test_setup.sh)
-
- add_custom_target(
- sasl_config ALL
- DEPENDS sasl_config/qpidd.conf sasl_config/qpidd.sasldb)
+ add_custom_command(OUTPUT sasl_config/qpidd.conf sasl_config/qpidd.sasldb
+ COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/sasl_test_setup.sh)
+
+ add_custom_target(sasl_config ALL
+ DEPENDS sasl_config/qpidd.conf sasl_config/qpidd.sasldb)
endif (BUILD_SASL)
-#
# Other test programs
-#
-add_executable (echotest echotest.cpp ${platform_test_additions})
-target_link_libraries (echotest qpidclient qpidcommon)
-add_executable (publish publish.cpp ${platform_test_additions})
-target_link_libraries (publish qpidclient qpidcommon)
+add_executable(echotest echotest.cpp ${platform_test_additions})
+target_link_libraries(echotest qpidclient qpidcommon)
-add_executable (consume consume.cpp ${platform_test_additions})
-target_link_libraries (consume qpidclient qpidcommon)
+add_executable(publish publish.cpp ${platform_test_additions})
+target_link_libraries(publish qpidclient qpidcommon)
-add_executable (header_test header_test.cpp ${platform_test_additions})
-target_link_libraries (header_test qpidclient qpidcommon)
+add_executable(consume consume.cpp ${platform_test_additions})
+target_link_libraries(consume qpidclient qpidcommon)
-add_executable (declare_queues declare_queues.cpp ${platform_test_additions})
-target_link_libraries (declare_queues qpidclient qpidcommon)
+add_executable(header_test header_test.cpp ${platform_test_additions})
+target_link_libraries(header_test qpidclient qpidcommon)
-add_executable (replaying_sender replaying_sender.cpp ${platform_test_additions})
-target_link_libraries (replaying_sender qpidclient qpidcommon)
+add_executable(declare_queues declare_queues.cpp ${platform_test_additions})
+target_link_libraries(declare_queues qpidclient qpidcommon)
-add_executable (resuming_receiver resuming_receiver.cpp ${platform_test_additions})
-target_link_libraries (resuming_receiver qpidclient qpidcommon)
+add_executable(replaying_sender replaying_sender.cpp ${platform_test_additions})
+target_link_libraries(replaying_sender qpidclient qpidcommon)
-add_executable (txshift txshift.cpp ${platform_test_additions})
-target_link_libraries (txshift qpidclient qpidcommon)
+add_executable(resuming_receiver resuming_receiver.cpp ${platform_test_additions})
+target_link_libraries(resuming_receiver qpidclient qpidcommon)
-add_executable (txjob txjob.cpp ${platform_test_additions})
-target_link_libraries (txjob qpidclient qpidcommon)
+add_executable(txshift txshift.cpp ${platform_test_additions})
+target_link_libraries(txshift qpidclient qpidcommon)
-add_executable (datagen datagen.cpp ${platform_test_additions})
-target_link_libraries (datagen qpidclient qpidcommon)
+add_executable(txjob txjob.cpp ${platform_test_additions})
+target_link_libraries(txjob qpidclient qpidcommon)
-add_executable (msg_group_test msg_group_test.cpp ${platform_test_additions})
-target_link_libraries (msg_group_test qpidmessaging qpidtypes qpidcommon)
+add_executable(datagen datagen.cpp ${platform_test_additions})
+target_link_libraries(datagen qpidclient qpidcommon)
-add_executable (ha_test_max_queues ha_test_max_queues.cpp ${platform_test_additions})
-target_link_libraries (ha_test_max_queues qpidclient qpidcommon)
+add_executable(msg_group_test msg_group_test.cpp ${platform_test_additions})
+target_link_libraries(msg_group_test qpidmessaging qpidtypes qpidcommon)
-if (BUILD_SASL)
- add_executable (sasl_version sasl_version.cpp ${platform_test_additions})
-endif (BUILD_SASL)
+add_executable(ha_test_max_queues ha_test_max_queues.cpp ${platform_test_additions})
+target_link_libraries(ha_test_max_queues qpidclient qpidcommon)
-set (python_src ${CMAKE_SOURCE_DIR}/../python)
-if (EXISTS ${python_src})
- set (python_bld ${CMAKE_CURRENT_BINARY_DIR}/python)
- # This will not pick up added or deleted python files
- # In that case you need to rerun CMake
- file(GLOB_RECURSE python_files ${python_src}/*.py)
-
- add_custom_command(
- OUTPUT ${python_bld}
- DEPENDS ${python_files}
- COMMAND ${PYTHON_EXECUTABLE}
- setup.py
- build --build-base=${python_bld}/build
- install --prefix=${python_bld} --install-lib=${python_bld} --install-scripts=${python_bld}/commands
- WORKING_DIRECTORY ${python_src}
- )
-
- add_custom_target(
- python_bld ALL
- DEPENDS ${python_bld}
- )
-endif (EXISTS ${python_src})
+add_library(test_store MODULE test_store.cpp)
+target_link_libraries(test_store qpidbroker qpidcommon)
+set_target_properties(test_store PROPERTIES PREFIX "" COMPILE_DEFINITIONS _IN_QPID_BROKER)
+
+add_library(dlclose_noop MODULE dlclose_noop.c)
if (BUILD_SASL)
- add_test (NAME sasl_fed COMMAND ${test_wrap} -- ${CMAKE_CURRENT_SOURCE_DIR}/sasl_fed${test_script_suffix})
- add_test (NAME sasl_fed_ex_dynamic COMMAND ${test_wrap} -- ${CMAKE_CURRENT_SOURCE_DIR}/sasl_fed_ex${test_script_suffix} dynamic)
- add_test (NAME sasl_fed_ex_link COMMAND ${test_wrap} -- ${CMAKE_CURRENT_SOURCE_DIR}/sasl_fed_ex${test_script_suffix} link)
- add_test (NAME sasl_fed_ex_queue COMMAND ${test_wrap} -- ${CMAKE_CURRENT_SOURCE_DIR}/sasl_fed_ex${test_script_suffix} queue)
- add_test (NAME sasl_fed_ex_route COMMAND ${test_wrap} -- ${CMAKE_CURRENT_SOURCE_DIR}/sasl_fed_ex${test_script_suffix} route)
- add_test (NAME sasl_no_dir COMMAND ${test_wrap} -- ${CMAKE_CURRENT_SOURCE_DIR}/sasl_no_dir${test_script_suffix})
- if (BUILD_SSL)
- add_test(NAME ssl_test COMMAND ${test_wrap} -- ${CMAKE_CURRENT_SOURCE_DIR}/ssl_test${test_script_suffix})
- endif (BUILD_SSL)
+ add_executable(sasl_version sasl_version.cpp ${platform_test_additions})
endif (BUILD_SASL)
-add_test (NAME qpid-client-test COMMAND ${test_wrap} -startBroker -- $<TARGET_FILE:qpid-client-test>)
-add_test (NAME quick_perftest COMMAND ${test_wrap} -startBroker -- $<TARGET_FILE:qpid-perftest> --summary --count 100)
-add_test (NAME quick_topictest COMMAND ${test_wrap} -startBroker -- ${CMAKE_CURRENT_SOURCE_DIR}/quick_topictest${test_script_suffix})
-add_test (NAME quick_txtest COMMAND ${test_wrap} -startBroker -- $<TARGET_FILE:qpid-txtest> --queues 4 --tx-count 10 --quiet)
-add_test (NAME quick_txtest2 COMMAND ${test_wrap} -startBroker -- $<TARGET_FILE:qpid-txtest2> --queues 4 --tx-count 10 --quiet)
-add_test (NAME msg_group_tests COMMAND ${test_wrap} -startBroker -- ${CMAKE_CURRENT_SOURCE_DIR}/run_msg_group_tests${test_script_suffix})
-add_test (NAME run_header_test COMMAND ${test_wrap} -startBroker -- ${CMAKE_CURRENT_SOURCE_DIR}/run_header_test${test_script_suffix})
-add_test (NAME python_tests COMMAND ${test_wrap} -startBroker -- ${CMAKE_CURRENT_SOURCE_DIR}/python_tests${test_script_suffix})
-if (NOT CMAKE_SYSTEM_NAME STREQUAL Windows)
- # paged queue not yet implemented for windows
- add_test (NAME paged_queue_tests COMMAND ${shell} ${CMAKE_CURRENT_SOURCE_DIR}/run_paged_queue_tests${test_script_suffix})
-endif (NOT CMAKE_SYSTEM_NAME STREQUAL Windows)
-if (BUILD_AMQP)
- add_test (interop_tests ${python_wrap} -- ${CMAKE_CURRENT_SOURCE_DIR}/interop_tests.py)
-endif (BUILD_AMQP)
+# Cross-platform tests
+
+add_test(NAME unit_tests COMMAND ${PYTHON_EXECUTABLE} run_unit_tests)
+
+add_test(NAME acl_tests COMMAND ${PYTHON_EXECUTABLE} run_acl_tests)
+add_test(NAME cli_tests COMMAND ${PYTHON_EXECUTABLE} run_cli_tests)
+add_test(NAME client_tests COMMAND ${PYTHON_EXECUTABLE} run_client_tests)
+add_test(NAME federation_tests COMMAND ${PYTHON_EXECUTABLE} run_federation_tests)
+add_test(NAME flow_control_tests COMMAND ${PYTHON_EXECUTABLE} run_flow_control_tests)
+add_test(NAME ha_tests COMMAND ${PYTHON_EXECUTABLE} run_ha_tests)
+add_test(NAME msg_group_tests COMMAND ${PYTHON_EXECUTABLE} run_msg_group_tests)
+add_test(NAME performance_tests COMMAND ${PYTHON_EXECUTABLE} run_performance_tests)
+add_test(NAME python_tests COMMAND ${PYTHON_EXECUTABLE} run_python_tests)
+add_test(NAME queue_redirect_tests COMMAND ${PYTHON_EXECUTABLE} run_queue_redirect_tests)
+add_test(NAME qmf_tests COMMAND ${PYTHON_EXECUTABLE} run_qmf_tests)
+add_test(NAME transaction_tests COMMAND ${PYTHON_EXECUTABLE} run_transaction_tests)
-add_test (ha_tests ${python_wrap} -- ${CMAKE_CURRENT_SOURCE_DIR}/ha_tests.py)
-add_test (qpidd_qmfv2_tests ${python_wrap} -- ${CMAKE_CURRENT_SOURCE_DIR}/qpidd_qmfv2_tests.py)
if (BUILD_AMQP)
- add_test (interlink_tests ${python_wrap} -- ${CMAKE_CURRENT_SOURCE_DIR}/interlink_tests.py)
- add_test (idle_timeout_tests ${python_wrap} -- ${CMAKE_CURRENT_SOURCE_DIR}/idle_timeout_tests.py)
+ add_test(NAME idle_timeout_tests COMMAND ${PYTHON_EXECUTABLE} run_idle_timeout_tests)
+ add_test(NAME interlink_tests COMMAND ${PYTHON_EXECUTABLE} run_interlink_tests)
+ add_test(NAME interop_tests COMMAND ${PYTHON_EXECUTABLE} run_interop_tests)
endif (BUILD_AMQP)
-add_test (swig_python_tests ${test_wrap} -- ${CMAKE_CURRENT_SOURCE_DIR}/swig_python_tests${test_script_suffix})
-add_test (ipv6_test ${test_wrap} -- ${CMAKE_CURRENT_SOURCE_DIR}/ipv6_test${test_script_suffix})
-add_test (federation_tests ${shell} ${CMAKE_CURRENT_SOURCE_DIR}/run_federation_tests${test_script_suffix})
-add_test (federation_sys_tests ${shell} ${CMAKE_CURRENT_SOURCE_DIR}/run_federation_sys_tests${test_script_suffix})
-add_test (queue_flow_limit_tests
- ${test_wrap}
- -startBroker -brokerOptions "--default-flow-stop-threshold=80 --default-flow-resume-threshold=70"
- -- ${CMAKE_CURRENT_SOURCE_DIR}/run_queue_flow_limit_tests${test_script_suffix})
-if (BUILD_ACL)
- add_test (acl_tests ${shell} ${CMAKE_CURRENT_SOURCE_DIR}/run_acl_tests${test_script_suffix})
-endif (BUILD_ACL)
-add_test (cli_tests ${shell} ${CMAKE_CURRENT_SOURCE_DIR}/run_cli_tests${test_script_suffix})
-add_test (dynamic_log_level_test ${shell} ${CMAKE_CURRENT_SOURCE_DIR}/dynamic_log_level_test${test_script_suffix})
-add_test (dynamic_log_hires_timestamp ${shell} ${CMAKE_CURRENT_SOURCE_DIR}/dynamic_log_hires_timestamp${test_script_suffix})
-if (BUILD_MSSQL)
- add_test (store_tests ${shell} ${CMAKE_CURRENT_SOURCE_DIR}/run_store_tests${test_script_suffix} MSSQL)
-endif (BUILD_MSSQL)
-if (BUILD_MSCLFS)
- add_test (store_tests_clfs ${shell} ${CMAKE_CURRENT_SOURCE_DIR}/run_store_tests${test_script_suffix} MSSQL-CLFS)
-endif (BUILD_MSCLFS)
-add_test (queue_redirect ${shell} ${CMAKE_CURRENT_SOURCE_DIR}/run_queue_redirect${test_script_suffix})
-add_library(test_store MODULE test_store.cpp)
-target_link_libraries (test_store qpidbroker qpidcommon)
-set_target_properties (test_store PROPERTIES PREFIX "" COMPILE_DEFINITIONS _IN_QPID_BROKER)
+if (CMAKE_SYSTEM_NAME STREQUAL Windows)
+ # Windows-only tests
-add_library (dlclose_noop MODULE dlclose_noop.c)
+ if (BUILD_MSSQL)
+ add_test(NAME store_tests COMMAND powershell run_store_tests.ps1 MSSQL)
+ endif (BUILD_MSSQL)
+
+ if (BUILD_MSCLFS)
+ add_test(NAME store_tests_clfs COMMAND powershell run_store_tests.ps1 MSSQL-CLFS)
+ endif (BUILD_MSCLFS)
+else (CMAKE_SYSTEM_NAME STREQUAL Windows)
+ # Posix-only tests
+
+ add_test(NAME logging_tests COMMAND run_logging_tests) # Pretty simple to convert
+ add_test(NAME ipv6_tests COMMAND run_ipv6_tests) # Also pretty simple to convert
+ add_test(NAME paged_queue_tests COMMAND run_paged_queue_tests)
+ add_test(NAME ring_queue_tests COMMAND run_ring_queue_tests)
+ add_test(NAME topic_tests COMMAND run_topic_tests)
+
+ if (BUILD_SASL)
+ add_test(NAME sasl_tests COMMAND run_sasl_tests)
+
+ if (BUILD_SSL)
+ add_test(NAME ssl_tests COMMAND run_ssl_tests)
+ endif (BUILD_SSL)
+ endif (BUILD_SASL)
+endif (CMAKE_SYSTEM_NAME STREQUAL Windows)
endif (BUILD_TESTING)
Modified: qpid/trunk/qpid/cpp/src/tests/README.txt
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/README.txt?rev=1740289&r1=1740288&r2=1740289&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/README.txt (original)
+++ qpid/trunk/qpid/cpp/src/tests/README.txt Thu Apr 21 12:31:34 2016
@@ -8,21 +8,15 @@ developers can run tests selectively as
Unit tests use the boost test framework, and are compiled to the programd
unit_test
-There are several options to control how test results are displayed, see
- http://www.boost.org/doc/libs/1_35_0/libs/test/doc/components/utf/parameters/index.html
+There are several options to control how test results are displayed. See
+http://www.boost.org/doc/libs/1_35_0/libs/test/doc/components/utf/parameters/index.html.
== System Tests ==
-System tests are executables or scripts. You can run executable tests directly
-as well as via "make test" or "ctest". Some tests require environment settings
-which are set by src/tests/test_env.sh on Unix or by src/tests/test_env.ps1 on
-Windows.
-
-./python_tests: runs ../python/run_tests. This is the main set of
-system tests for the broker.
-
-Other C++ client test executables and scripts under client/test are
-system tests for the client.
+System tests are executables or scripts. You can run executable tests
+directly as well as via "make test" or "ctest". Some tests require
+environment settings which are set by src/tests/env.sh on Unix or by
+src/tests/env.ps1 on Windows.
== Running selected tests ==
@@ -34,4 +28,3 @@ directly gives you additional options, e
This runs tests with names matching the regular expression <regexp> and will
print the full output of the tests rather than just listing which tests pass or
fail.
-
Modified: qpid/trunk/qpid/cpp/src/tests/brokertest.py
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/brokertest.py?rev=1740289&r1=1740288&r2=1740289&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/brokertest.py (original)
+++ qpid/trunk/qpid/cpp/src/tests/brokertest.py Thu Apr 21 12:31:34 2016
@@ -354,7 +354,7 @@ class Broker(Popen):
if (self.test.protocol and qm == qpid_messaging):
kwargs.setdefault("protocol", self.test.protocol)
return connection_class.establish(self.host_port(), timeout=timeout, **kwargs)
-
+
@property
def agent(self, **kwargs):
"""Return a BrokerAgent for this broker"""
@@ -477,14 +477,14 @@ class BrokerTest(TestCase):
TestCase.__init__(self, *args, **kwargs)
# Environment settings.
- qpidd_exec = os.path.abspath(checkenv("QPIDD_EXEC"))
+ qpidd_exec = "qpidd"
ha_lib = os.getenv("HA_LIB")
xml_lib = os.getenv("XML_LIB")
amqp_lib = os.getenv("AMQP_LIB")
- qpid_config_exec = os.getenv("QPID_CONFIG_EXEC")
- qpid_route_exec = os.getenv("QPID_ROUTE_EXEC")
- receiver_exec = os.getenv("RECEIVER_EXEC")
- sender_exec = os.getenv("SENDER_EXEC")
+ qpid_config_exec = "qpid-config"
+ qpid_route_exec = "qpid-route"
+ receiver_exec = "receiver"
+ sender_exec = "sender"
sql_store_lib = os.getenv("STORE_SQL_LIB")
sql_clfs_store_lib = os.getenv("STORE_SQL_CLFS_LIB")
sql_catalog = os.getenv("STORE_CATALOG")
@@ -505,19 +505,7 @@ class BrokerTest(TestCase):
PN_TX_VERSION = (0, 9)
amqp_tx_supported = PN_VERSION >= PN_TX_VERSION
-
- @classmethod
- def amqp_tx_warning(cls):
- if not cls.amqp_tx_supported:
- if cls.PN_VERSION == (0, 0):
- print "WARNING: Cannot test transactions over AMQP 1.0, proton not on path so version could not be determined"
- elif cls.PN_VERSION == (0, 7):
- print "WARNING: Cannot test transactions over AMQP 1.0, proton version is 0.7 or less, %s.%s required" % cls.PN_TX_VERSION
- else:
- print "WARNING: Cannot test transactions over AMQP 1.0, proton version %s.%s < %s.%s" % (cls.PN_VERSION + cls.PN_TX_VERSION)
- return False
- return True
-
+
def configure(self, config): self.config=config
def setUp(self):
Added: qpid/trunk/qpid/cpp/src/tests/check_dependencies.py.in
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/check_dependencies.py.in?rev=1740289&view=auto
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/check_dependencies.py.in (added)
+++ qpid/trunk/qpid/cpp/src/tests/check_dependencies.py.in Thu Apr 21 12:31:34 2016
@@ -0,0 +1,53 @@
+#!/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
+import sys
+
+def _message(error):
+ return """
+===============================================================================
+Error! {}
+
+The tests require Qpid Python, version 1.33 or greater. Make sure
+Qpid Python is installed and available on the Python path:
+
+ - Linux distributions: Install 'python-qpid'
+ - Other: Install qpid-python from source and update PYTHONPATH
+
+See the Qpid website for more information:
+
+ - Qpid downloads: http://qpid.apache.org/download.html
+ - Qpid packages: http://qpid.apache.org/packages.html
+===============================================================================
+""".format(error)
+
+sys.path.insert(0, os.path.join("@CMAKE_SOURCE_DIR@", "management", "python", "lib"))
+
+try:
+ import qpid
+except ImportError:
+ exit(_message("Can't find Python 'qpid' module"))
+
+try:
+ import qpid_tests
+except ImportError:
+ exit(_message("Can't find Python 'qpid_tests' module"))
Modified: qpid/trunk/qpid/cpp/src/tests/cli_tests.py
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/cli_tests.py?rev=1740289&r1=1740288&r2=1740289&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/cli_tests.py (original)
+++ qpid/trunk/qpid/cpp/src/tests/cli_tests.py Thu Apr 21 12:31:34 2016
@@ -295,7 +295,8 @@ class CliTests(TestBase010):
self.helper_create_queue(qname)
# now bind the queue to the xchg
- foo = self.qpid_config_command("-f test.xquery bind " + xchgname + " " + qname)
+ xquery_file = self.defines["xquery-file"]
+ foo = self.qpid_config_command("-f " + xquery_file + " bind " + xchgname + " " + qname)
# print foo
ret = os.system(foo)
self.assertEqual(ret, 0)
@@ -468,10 +469,14 @@ class CliTests(TestBase010):
return self.cli_dir() + "/qpid-config -b localhost:%d" % self.broker.port + " " + arg
def qpid_config_api(self, arg = ""):
- script = import_script(checkenv("QPID_CONFIG_EXEC"))
+ path = os.path.join(os.getenv("SOURCE_DIR"), "management", "python",
+ "bin", "qpid-config")
+ script = import_script(path)
broker = ["-b", "localhost:"+str(self.broker.port)]
return script.main(broker + arg.split())
def qpid_route_api(self, arg = ""):
- script = import_script(checkenv("QPID_ROUTE_EXEC"))
+ path = os.path.join(os.getenv("SOURCE_DIR"), "management", "python",
+ "bin", "qpid-route")
+ script = import_script(path)
return script.main(arg.split())
Added: qpid/trunk/qpid/cpp/src/tests/common.py
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/common.py?rev=1740289&view=auto
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/common.py (added)
+++ qpid/trunk/qpid/cpp/src/tests/common.py Thu Apr 21 12:31:34 2016
@@ -0,0 +1,297 @@
+#
+# 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.
+#
+
+from __future__ import print_function
+
+from env import *
+
+import atexit as _atexit
+import os as _os
+import platform as _platform
+import re as _re
+import signal as _signal
+import subprocess as _subprocess
+import shutil as _shutil
+import time as _time
+import uuid as _uuid
+
+WINDOWS = _platform.system() == "Windows"
+
+def _unique_id():
+ return str(_uuid.uuid4())[:4]
+
+def make_work_dir():
+ prog = file_name(ARGS[0])
+ name = "{}_{}".format(prog, _unique_id())
+
+ return make_dir(join(BUILD_DIR, name))
+
+WORK_DIR = make_work_dir()
+
+notice("Created work dir '{}'", WORK_DIR)
+
+def _init_valgrind_command(command):
+ if VALGRIND is None:
+ return command, None
+
+ log_file = join(WORK_DIR, "valgrind_{}.log".format(_unique_id()))
+ suppressions_file = join(BUILD_DIR, "src", "tests", ".valgrind.supp")
+
+ valgrind_command = [
+ VALGRIND,
+ "--leak-check=full --num-callers=25 --error-exitcode=100",
+ "--log-file={}".format(log_file),
+ "--suppressions={}".format(suppressions_file),
+ "--",
+ command,
+ ]
+
+ return " ".join(valgrind_command), log_file
+
+def call_with_valgrind(command, *args, **kwargs):
+ command, valgrind_log_file = _init_valgrind_command(command)
+
+ try:
+ call(command, *args, **kwargs)
+ except _subprocess.CalledProcessError as e:
+ if e.returncode == 100:
+ error("Valgrind reported errors")
+ print(read(valgrind_log_file))
+
+ raise
+
+def call_for_output_with_valgrind(command, *args, **kwargs):
+ command, valgrind_log_file = _init_valgrind_command(command)
+
+ try:
+ return call_for_output(command, *args, **kwargs)
+ except _subprocess.CalledProcessError as e:
+ if e.returncode == 100:
+ error("Valgrind reported errors")
+ print(read(valgrind_log_file))
+
+ raise
+
+_brokers = list()
+_brokers_by_port = dict()
+_broker_port_expr = _re.compile(r"Listening on TCP/TCP6 port ([0-9]+)")
+_broker_config_file = join(BUILD_DIR, "src", "tests", "qpidd-empty.conf")
+
+class _Broker(object):
+ def __init__(self, dir):
+ self.dir = dir
+
+ self.command_file = join(self.dir, "command")
+ self.log_file = join(self.dir, "log")
+ self.data_dir = join(self.dir, "data")
+
+ self.port = None
+ self.proc = None
+ self.command = None
+ self.valgrind_log_file = None
+
+ def __repr__(self):
+ args = self.port, self.proc.pid, self.proc.returncode
+ return "Broker(port={}, pid={}, exit={})".format(*args)
+
+ def start(self, args):
+ make_dir(self.dir)
+
+ command = [
+ "qpidd",
+ "--port 0",
+ "--interface localhost",
+ "--no-module-dir",
+ "--log-enable info+",
+ "--log-source yes",
+ "--log-to-stderr no",
+ "--log-to-file {}".format(self.log_file),
+ "--config {}".format(_broker_config_file),
+ "--data-dir {}".format(self.data_dir),
+ ]
+
+ if WINDOWS:
+ command += [
+ "--ssl-cert-store-location LocalMachine",
+ "--ssl-cert-name localhost",
+ "--ssl-port 0",
+ ]
+
+ command += [x for x in args if x is not None]
+ command = " ".join(command)
+ command, valgrind_log_file = _init_valgrind_command(command)
+
+ self.command = command
+ self.valgrind_log_file = valgrind_log_file
+
+ notice("Calling '{}'", self.command)
+ write(self.command_file, self.command)
+
+ self.proc = _subprocess.Popen(self.command, shell=True,
+ stdout=_subprocess.PIPE)
+ self.port = self._wait_for_port()
+
+ assert self.command is not None
+ assert self.proc is not None
+ assert self.port is not None
+ assert self.port not in _brokers_by_port, self.port
+
+ _brokers.append(self)
+ _brokers_by_port[self.port] = self
+
+ notice("Started {}", self)
+
+ def _wait_for_port(self):
+ port = None
+
+ while port is None:
+ _time.sleep(0.4)
+ port = self._scan_port()
+
+ return port
+
+ def _scan_port(self):
+ if not exists(self.log_file):
+ return
+
+ match = _re.search(_broker_port_expr, read(self.log_file))
+
+ if match:
+ return match.group(1)
+
+ def stop(self):
+ if self.proc.poll() is not None:
+ return
+
+ notice("Stopping {}", self)
+
+ if WINDOWS:
+ call("taskkill /f /t /pid {}", self.proc.pid)
+ else:
+ self.proc.terminate()
+
+ self.proc.wait()
+
+ def check(self):
+ if WINDOWS:
+ # Taskkilled windows processes always return 1, so exit
+ # codes don't mean anything there
+ return 0
+
+ notice("Checking {}", self)
+
+ if self.proc.returncode == 0:
+ return 0
+
+ error("{} exited with code {}", self, self.proc.returncode)
+
+ if self.proc.returncode == 100:
+ print("Valgrind reported errors:")
+ print(read(self.valgrind_log_file))
+ else:
+ print("Last 100 lines of broker log:")
+ print(tail(self.log_file, 100))
+
+ flush()
+
+ error("{} exited with code {}", self, self.proc.returncode)
+
+ return self.proc.returncode
+
+def start_broker(dir, *args, **kwargs):
+ if not is_absolute(dir):
+ dir = join(WORK_DIR, dir)
+
+ auth_disabled = kwargs.get("auth_disabled", True)
+
+ if auth_disabled:
+ args = list(args)
+ args.append("--auth no")
+
+ broker = _Broker(dir)
+ broker.start(args)
+
+ return broker.port
+
+def stop_broker(port):
+ broker = _brokers_by_port[port]
+ broker.stop()
+
+def check_broker(port):
+ broker = _brokers_by_port[port]
+
+ if broker.check() != 0:
+ exit("Broker failure")
+
+def check_results():
+ for broker in _brokers:
+ broker.stop()
+
+ errors = False
+
+ for broker in _brokers:
+ code = broker.check()
+
+ if code == 0:
+ continue
+
+ errors = True
+
+ if errors:
+ exit("Broker failure")
+
+ remove(WORK_DIR)
+
+ notice("Tests completed without error")
+
+def _exit_handler():
+ if exists(WORK_DIR):
+ notice("Output saved in work dir '{}'", WORK_DIR)
+
+ for broker in _brokers:
+ broker.stop()
+
+_atexit.register(_exit_handler)
+
+def configure_broker(broker_port, *args):
+ command = [
+ "qpid-config",
+ "--broker localhost:{}".format(broker_port),
+ ]
+
+ command += [x for x in args if x is not None]
+
+ call(" ".join(command))
+
+def run_broker_tests(broker_port, *args):
+ command = [
+ "qpid-python-test",
+ "--broker localhost:{}".format(broker_port),
+ "--time",
+ ]
+
+ command += [x for x in args if x is not None]
+
+ call(" ".join(command))
+
+def connect_brokers(*args):
+ command = ["qpid-route"]
+ command += [x for x in args if x is not None]
+
+ call(" ".join(command))
Modified: qpid/trunk/qpid/cpp/src/tests/dynamic_log_hires_timestamp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/dynamic_log_hires_timestamp?rev=1740289&r1=1740288&r2=1740289&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/dynamic_log_hires_timestamp (original)
+++ qpid/trunk/qpid/cpp/src/tests/dynamic_log_hires_timestamp Thu Apr 21 12:31:34 2016
@@ -20,14 +20,14 @@
#
# Run a simple test to verify dynamic log highres timestamp changes
-source ./test_env.sh
-test -d $PYTHON_DIR || { echo "Skipping python tests, no python dir."; exit 0; }
+
+source ./env.sh
LOG_FILE=hires_test.log
trap cleanup EXIT
cleanup() {
- test -n "$PORT" && $QPIDD_EXEC --no-module-dir --quit --port $PORT
+ test -n "$PORT" && qpidd --no-module-dir --quit --port $PORT
}
error() {
@@ -36,16 +36,16 @@ error() {
}
rm -rf $LOG_FILE
-PORT=$($QPIDD_EXEC --auth=no --no-module-dir --daemon --port=0 --interface 127.0.0.1 --log-to-file $LOG_FILE) || error "Could not start broker"
+PORT=$(qpidd --auth=no --no-module-dir --daemon --port=0 --interface 127.0.0.1 --log-to-file $LOG_FILE) || error "Could not start broker"
-echo Broker for log highres timestamp test started on $PORT, pid is $($QPIDD_EXEC --no-module-dir --check --port $PORT)
+echo Broker for log highres timestamp test started on $PORT, pid is $(qpidd --no-module-dir --check --port $PORT)
-$srcdir/qpid-ctrl -b localhost:$PORT setLogLevel level='debug+:Broker' > /dev/null
-$srcdir/qpid-ctrl -b localhost:$PORT echo sequence=1 body=LOWRES > /dev/null
-$srcdir/qpid-ctrl -b localhost:$PORT setLogHiresTimestamp logHires='true' > /dev/null
-$srcdir/qpid-ctrl -b localhost:$PORT echo sequence=2 body=HI_RES > /dev/null
-$srcdir/qpid-ctrl -b localhost:$PORT setLogHiresTimestamp logHires='false' > /dev/null
-$srcdir/qpid-ctrl -b localhost:$PORT echo sequence=3 body=LOWRES > /dev/null
+qpid-ctrl -b localhost:$PORT setLogLevel level='debug+:Broker' > /dev/null
+qpid-ctrl -b localhost:$PORT echo sequence=1 body=LOWRES > /dev/null
+qpid-ctrl -b localhost:$PORT setLogHiresTimestamp logHires='true' > /dev/null
+qpid-ctrl -b localhost:$PORT echo sequence=2 body=HI_RES > /dev/null
+qpid-ctrl -b localhost:$PORT setLogHiresTimestamp logHires='false' > /dev/null
+qpid-ctrl -b localhost:$PORT echo sequence=3 body=LOWRES > /dev/null
# Expect 3 log entries with 'echo' in them
if [[ $(grep echo $LOG_FILE | wc -l) -ne 3 ]]; then
Modified: qpid/trunk/qpid/cpp/src/tests/dynamic_log_level_test
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/dynamic_log_level_test?rev=1740289&r1=1740288&r2=1740289&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/dynamic_log_level_test (original)
+++ qpid/trunk/qpid/cpp/src/tests/dynamic_log_level_test Thu Apr 21 12:31:34 2016
@@ -20,14 +20,14 @@
#
# Run a simple test to verify dynamic log level changes
-source ./test_env.sh
-test -d $PYTHON_DIR || { echo "Skipping python tests, no python dir."; exit 0; }
+
+source ./env.sh
LOG_FILE=log_test.log
trap cleanup EXIT
cleanup() {
- test -n "$PORT" && $QPIDD_EXEC --no-module-dir --quit --port $PORT
+ test -n "$PORT" && qpidd --no-module-dir --quit --port $PORT
}
error() {
@@ -43,30 +43,30 @@ checklog() {
}
rm -rf $LOG_FILE
-PORT=$($QPIDD_EXEC --auth=no --no-module-dir --daemon --port=0 --interface 127.0.0.1 --log-to-file $LOG_FILE) || error "Could not start broker"
+PORT=$(qpidd --auth=no --no-module-dir --daemon --port=0 --interface 127.0.0.1 --log-to-file $LOG_FILE) || error "Could not start broker"
-echo Broker for log level test started on $PORT, pid is $($QPIDD_EXEC --no-module-dir --check --port $PORT)
+echo Broker for log level test started on $PORT, pid is $(qpidd --no-module-dir --check --port $PORT)
# Set level to notice+ and send an echo request
# The 'echo' in the log is hidden since it is at debug level.
-$srcdir/qpid-ctrl -b localhost:$PORT setLogLevel level='notice+' > /dev/null
-$srcdir/qpid-ctrl -b localhost:$PORT echo sequence=1 body=HIDDEN > /dev/null
+qpid-ctrl -b localhost:$PORT setLogLevel level='notice+' > /dev/null
+qpid-ctrl -b localhost:$PORT echo sequence=1 body=HIDDEN > /dev/null
checklog 0 "Step 1 Expected no echo log entries"
# Next, enable all Broker logs at debug and higher levels and send another echo
# This 'echo' should be in the log.
-$srcdir/qpid-ctrl -b localhost:$PORT setLogLevel level='debug+:Broker' > /dev/null
-$srcdir/qpid-ctrl -b localhost:$PORT echo sequence=2 body=VISIBLE > /dev/null
+qpid-ctrl -b localhost:$PORT setLogLevel level='debug+:Broker' > /dev/null
+qpid-ctrl -b localhost:$PORT echo sequence=2 body=VISIBLE > /dev/null
checklog 1 "Step 2 Expected one echo log entry"
# Now turn on Broker debug messages but specifically disable ManagementMethod logs
# The 'echo' should be hidden.
-$srcdir/qpid-ctrl -b localhost:$PORT setLogLevel level='debug+:Broker !debug+:broker::Broker::ManagementMethod' > /dev/null
-$srcdir/qpid-ctrl -b localhost:$PORT echo sequence=3 body=HIDDEN > /dev/null
+qpid-ctrl -b localhost:$PORT setLogLevel level='debug+:Broker !debug+:broker::Broker::ManagementMethod' > /dev/null
+qpid-ctrl -b localhost:$PORT echo sequence=3 body=HIDDEN > /dev/null
checklog 1 "Step 3 Expected one echo log entry"
# Verify that the management get returns what was just set
-$srcdir/qpid-ctrl -b localhost:$PORT getLogLevel > dynamic_log_level.tmp
+qpid-ctrl -b localhost:$PORT getLogLevel > dynamic_log_level.tmp
if [[ $(grep 'level=debug+:Broker,!debug+:broker::Broker::ManagementMethod' dynamic_log_level.tmp | wc -l) -ne 1 ]]; then
error "Step 4 getLogLevel returned unexpected value: " `cat dynamic_log_level.tmp`
fi
@@ -76,10 +76,10 @@ cleanup
# Start another broker with --log-disable settings and make sure the management string receives them
rm -rf $LOG_FILE
-PORT=$($QPIDD_EXEC --auth=no --no-module-dir --daemon --port=0 --interface 127.0.0.1 --log-to-file $LOG_FILE --log-enable debug:foo --log-disable debug:bar) || error "Could not start broker"
-echo Broker for log level test started on $PORT, pid is $($QPIDD_EXEC --no-module-dir --check --port $PORT)
+PORT=$(qpidd --auth=no --no-module-dir --daemon --port=0 --interface 127.0.0.1 --log-to-file $LOG_FILE --log-enable debug:foo --log-disable debug:bar) || error "Could not start broker"
+echo Broker for log level test started on $PORT, pid is $(qpidd --no-module-dir --check --port $PORT)
-$srcdir/qpid-ctrl -b localhost:$PORT getLogLevel > dynamic_log_level.tmp
+qpid-ctrl -b localhost:$PORT getLogLevel > dynamic_log_level.tmp
if [[ $(grep 'level=debug:foo,!debug:bar' dynamic_log_level.tmp | wc -l) -ne 1 ]]; then
error "Step 5 getLogLevel returned unexpected value: " `cat dynamic_log_level.tmp`
fi
Added: qpid/trunk/qpid/cpp/src/tests/env.ps1.in
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/env.ps1.in?rev=1740289&view=auto
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/env.ps1.in (added)
+++ qpid/trunk/qpid/cpp/src/tests/env.ps1.in Thu Apr 21 12:31:34 2016
@@ -0,0 +1,77 @@
+#
+# 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.
+#
+
+# Environment variables substituted by configure/cmake.
+$abs_srcdir="@abs_srcdir@"
+$abs_builddir="@abs_builddir@"
+$top_srcdir="@abs_top_srcdir@"
+$top_builddir="@abs_top_builddir@"
+$moduledir="$top_builddir\src@builddir_lib_suffix@"
+$testmoduledir="$builddir@builddir_lib_suffix@"
+$BOOST_LIBRARYDIR="@BOOST_LIBRARYDIR@"
+
+# Python paths and directories
+$PYTHON_EXE="@PYTHON_EXECUTABLE@"
+$PYTHON_DIR="$builddir\python"
+$QPID_PYTHON_TEST="$PYTHON_DIR\commands\qpid-python-test"
+if ( !(Test-Path "$PYTHON_DIR") -and (Test-Path "$top_srcdir\..\python")) {
+ $PYTHON_DIR="$top_srcdir\..\python"
+ $QPID_PYTHON_TEST="$PYTHON_DIR\qpid-python-test"
+}
+$QPID_TESTS="$top_srcdir\..\tests"
+$QPID_TESTS_PY="$QPID_TESTS\src\py"
+$QPID_TOOLS="$top_srcdir\..\tools"
+$QPID_TOOLS_LIBS="$QPID_TOOLS\src\py"
+$QMF_LIB="$top_srcdir\..\extras\qmf\src\py"
+$PYTHON_COMMANDS="$QPID_TOOLS\src\py"
+$env:PYTHONPATH="$srcdir;$PYTHON_DIR;$PYTHON_COMMANDS;$QPID_TESTS_PY;$QPID_TOOLS_LIBS;$QMF_LIB;$env:PYTHONPATH"
+$QPID_CONFIG_EXEC="$PYTHON_COMMANDS\qpid-config"
+$QPID_ROUTE_EXEC="$PYTHON_COMMANDS\qpid-route"
+$QPID_HA_TOOL_EXEC="$PYTHON_COMMANDS\qpid-ha-tool"
+
+# Executables
+$env:QPIDD_EXEC="$top_builddir\src\@CMAKE_BUILD_TYPE@\qpidd.exe"
+$env:QPID_WATCHDOG_EXEC="$top_builddir\src\qpidd_watchdog"
+
+# Test executables
+$QPID_TEST_EXEC_DIR="$builddir\@CMAKE_BUILD_TYPE@"
+$RECEIVER_EXEC="$QPID_TEST_EXEC_DIR\receiver"
+$SENDER_EXEC="$QPID_TEST_EXEC_DIR\sender"
+
+# Path
+$env:PATH="$top_builddir\src\@CMAKE_BUILD_TYPE@;$builddir\@CMAKE_BUILD_TYPE@;$srcdir;$PYTHON_COMMANDS;$QPID_TEST_EXEC_DIR;@BOOST_LIBRARYDIR@;$env:PATH"
+
+# Modules
+$env:TEST_STORE_LIB="$testmoduledir\test_store.so"
+
+#exportmodule() { test -f $moduledir/$2 && eval "export $1=$moduledir/$2"; }
+#exportmodule ACL_LIB acl.so
+#exportmodule CLUSTER_LIB cluster.so
+#exportmodule SSLCONNECTOR_LIB sslconnector.so
+#exportmodule SSL_LIB ssl.so
+#exportmodule WATCHDOG_LIB watchdog.so
+#exportmodule XML_LIB xml.so
+
+# Qpid options
+$env:QPID_NO_MODULE_DIR="1" # Don't accidentally load installed modules
+$env:QPID_DATA_DIR= # Default to no data dir, not ~/.qpidd
+
+# Options for boost test framework
+$env:BOOST_TEST_SHOW_PROGRESS="yes"
+$env:BOOST_TEST_CATCH_SYSTEM_ERRORS="no"
Added: qpid/trunk/qpid/cpp/src/tests/env.py.in
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/env.py.in?rev=1740289&view=auto
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/env.py.in (added)
+++ qpid/trunk/qpid/cpp/src/tests/env.py.in Thu Apr 21 12:31:34 2016
@@ -0,0 +1,100 @@
+#
+# 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.
+#
+
+from __future__ import print_function
+
+from plano import *
+
+def _export(name, value):
+ globals()[name] = value
+
+ if value is not None:
+ ENV[name] = value
+
+def _export_module(name, path):
+ _export(name, None)
+
+ if exists(path):
+ _export(name, path)
+
+# Variables substituted by cmake
+
+_export("BUILD_DIR", normalize_path("@CMAKE_BINARY_DIR@"))
+_export("SOURCE_DIR", normalize_path("@CMAKE_SOURCE_DIR@"))
+_export("SASLPASSWD2", normalize_path("@SASLPASSWD2_EXECUTABLE@"))
+_export("PYTHON", normalize_path("@PYTHON_EXECUTABLE@"))
+_export("VALGRIND", None)
+
+if "@ENABLE_VALGRIND@" == "ON":
+ _export("VALGRIND", normalize_path("@VALGRIND_EXECUTABLE@"))
+
+# Python path
+
+_python_path = [
+ join(BUILD_DIR, "src", "tests"),
+ join(BUILD_DIR, "bindings", "qpid", "python"),
+ join(BUILD_DIR, "management", "python", "lib"),
+]
+
+if "PYTHONPATH" in ENV:
+ _python_path.extend(ENV["PYTHONPATH"].split(PATH_VAR_SEP))
+
+ENV["PYTHONPATH"] = PATH_VAR_SEP.join(_python_path)
+
+# Path
+
+_path = [
+ join(BUILD_DIR, "src"),
+ join(BUILD_DIR, "src", "RelWithDebInfo"),
+ join(BUILD_DIR, "src", "tests"),
+ join(BUILD_DIR, "src", "tests", "RelWithDebInfo"),
+ join(BUILD_DIR, "management", "python", "bin"),
+]
+
+if "PATH" in ENV:
+ _path.extend(ENV["PATH"].split(PATH_VAR_SEP))
+
+ENV["PATH"] = PATH_VAR_SEP.join(_path)
+
+# Modules
+
+_export_module("HA_LIB", join(BUILD_DIR, "src", "ha.so"))
+_export_module("XML_LIB", join(BUILD_DIR, "src", "xml.so"))
+_export_module("AMQP_LIB", join(BUILD_DIR, "src", "amqp.so"))
+_export_module("TEST_STORE_LIB", join(BUILD_DIR, "src", "tests", "test_store.so"))
+_export_module("STORE_LIB", join(BUILD_DIR, "src", "linearstore.so"))
+
+if STORE_LIB is None:
+ _export_module("STORE_LIB", join(BUILD_DIR, "src", "legacystore.so"))
+
+# Summarize
+
+print("PWD: {}".format(current_dir()))
+print("SOURCE_DIR: {}".format(SOURCE_DIR))
+print("BUILD_DIR: {}".format(BUILD_DIR))
+
+print("PATH:")
+
+for item in _path:
+ print(" {}".format(item))
+
+print("PYTHONPATH:")
+
+for item in _python_path:
+ print(" {}".format(item))
Added: qpid/trunk/qpid/cpp/src/tests/env.sh.in
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/env.sh.in?rev=1740289&view=auto
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/env.sh.in (added)
+++ qpid/trunk/qpid/cpp/src/tests/env.sh.in Thu Apr 21 12:31:34 2016
@@ -0,0 +1,74 @@
+#
+# 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.
+#
+
+# Environment variables substituted by cmake
+
+export BUILD_DIR=@CMAKE_BINARY_DIR@
+export SOURCE_DIR=@CMAKE_SOURCE_DIR@
+
+export SASLPASSWD2=@SASLPASSWD2_EXECUTABLE@
+export PYTHON=@PYTHON_EXECUTABLE@
+
+if [[ "@ENABLE_VALGRIND@" == "ON" ]]; then
+ export VALGRIND=@VALGRIND_EXECUTABLE@
+fi
+
+# Python path
+
+export PYTHONPATH=$BUILD_DIR/src/tests:$BUILD_DIR/bindings/qpid/python:$BUILD_DIR/management/python/lib:${PYTHONPATH-}
+
+# Path
+
+export PATH=$BUILD_DIR/src:$BUILD_DIR/src/tests:$BUILD_DIR/management/python/bin:${PATH-}
+
+# Modules
+
+function export_module {
+ [[ -f $BUILD_DIR/src/$2 ]] && export $1=$BUILD_DIR/src/$2
+}
+
+export_module HA_LIB ha.so
+export_module XML_LIB xml.so
+export_module AMQP_LIB amqp.so
+
+[[ ${STORE_LIB-} ]] || export_module STORE_LIB linearstore.so
+[[ ${STORE_LIB-} ]] || export_module STORE_LIB legacystore.so
+
+export TEST_STORE_LIB=$BUILD_DIR/src/tests/test_store.so
+
+# Qpidd options - Eliminate
+
+export QPID_NO_MODULE_DIR=1 # Don't accidentally load installed modules
+export QPID_DATA_DIR= # Disable persistence
+export QPID_CONFIG=$SOURCE_DIR/src/tests/qpidd-empty.conf
+
+# Options for boost test framework
+
+[[ ${BOOST_TEST_SHOW_PROGRESS-} ]] || export BOOST_TEST_SHOW_PROGRESS=yes
+[[ ${BOOST_TEST_CATCH_SYSTEM_ERRORS-} ]] || export BOOST_TEST_CATCH_SYSTEM_ERRORS=no
+
+echo "PWD: $PWD"
+echo "SOURCE_DIR: ${SOURCE_DIR}"
+echo "BUILD_DIR: ${BUILD_DIR}"
+
+echo "PATH:"
+echo -n " "; echo $PATH | sed 's/:/\n /g'
+
+echo "PYTHONPATH:"
+echo -n " "; echo $PYTHONPATH | sed 's/:/\n /g'
Modified: qpid/trunk/qpid/cpp/src/tests/federated_topic_test
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/federated_topic_test?rev=1740289&r1=1740288&r2=1740289&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/federated_topic_test (original)
+++ qpid/trunk/qpid/cpp/src/tests/federated_topic_test Thu Apr 21 12:31:34 2016
@@ -42,12 +42,12 @@ while getopts "s:m:b:" opt ; do
esac
done
-source ./test_env.sh
+source ./env.sh
trap stop_brokers EXIT
start_broker() {
- $QPIDD_EXEC --daemon --port 0 --interface 127.0.0.1 --no-module-dir --no-data-dir --auth no > qpidd.port
+ qpidd --daemon --port 0 --interface 127.0.0.1 --no-module-dir --no-data-dir --auth no > qpidd.port
}
start_brokers() {
@@ -61,7 +61,7 @@ start_brokers() {
stop_brokers() {
for p in $PORT_A $PORT_B $PORT_C; do
- $QPIDD_EXEC --no-module-dir -q --port $p
+ qpidd --no-module-dir -q --port $p
done
}
@@ -75,11 +75,11 @@ subscribe() {
echo Subscriber $1 connecting on $MY_PORT
LOG="subscriber_$1.log"
- ./qpid-topic-listener -p $MY_PORT > $LOG 2>&1 && rm -f $LOG
+ qpid-topic-listener -p $MY_PORT > $LOG 2>&1 && rm -f $LOG
}
publish() {
- ./qpid-topic-publisher --messages $MESSAGES --batches $BATCHES --subscribers $SUBSCRIBERS -p $PORT_A
+ qpid-topic-publisher --messages $MESSAGES --batches $BATCHES --subscribers $SUBSCRIBERS -p $PORT_A
}
setup_routes() {
@@ -89,40 +89,39 @@ setup_routes() {
if (($VERBOSE)); then
echo "Establishing routes for topic..."
fi
- $QPID_ROUTE_EXEC route add $BROKER_B $BROKER_A amq.topic topic_control B B
- $QPID_ROUTE_EXEC route add $BROKER_C $BROKER_B amq.topic topic_control C C
+ qpid-route route add $BROKER_B $BROKER_A amq.topic topic_control B B
+ qpid-route route add $BROKER_C $BROKER_B amq.topic topic_control C C
if (($VERBOSE)); then
echo "linked A->B->C"
fi
- $QPID_ROUTE_EXEC route add $BROKER_B $BROKER_C amq.topic topic_control B B
- $QPID_ROUTE_EXEC route add $BROKER_A $BROKER_B amq.topic topic_control A A
+ qpid-route route add $BROKER_B $BROKER_C amq.topic topic_control B B
+ qpid-route route add $BROKER_A $BROKER_B amq.topic topic_control A A
if (($VERBOSE)); then
echo "linked C->B->A"
echo "Establishing routes for response queue..."
fi
- $QPID_ROUTE_EXEC route add $BROKER_B $BROKER_C amq.direct response B B
- $QPID_ROUTE_EXEC route add $BROKER_A $BROKER_B amq.direct response A A
+ qpid-route route add $BROKER_B $BROKER_C amq.direct response B B
+ qpid-route route add $BROKER_A $BROKER_B amq.direct response A A
if (($VERBOSE)); then
echo "linked C->B->A"
for b in $BROKER_A $BROKER_B $BROKER_C; do
echo "Routes for $b"
- $QPID_ROUTE_EXEC route list $b
+ qpid-route route list $b
done
fi
}
-if test -d ${PYTHON_DIR} ; then
- start_brokers
- if (($VERBOSE)); then
- echo "Running federated topic test against brokers on ports $PORT_A $PORT_B $PORT_C"
- fi
+start_brokers
- for ((i=$SUBSCRIBERS ; i--; )); do
- subscribe $i &
- done
+if (($VERBOSE)); then
+ echo "Running federated topic test against brokers on ports $PORT_A $PORT_B $PORT_C"
+fi
- setup_routes
+for ((i=$SUBSCRIBERS ; i--; )); do
+ subscribe $i &
+done
- publish || exit 1
-fi
+setup_routes
+
+publish || exit 1
Modified: qpid/trunk/qpid/cpp/src/tests/ha_test.py
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/ha_test.py?rev=1740289&r1=1740288&r2=1740289&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/ha_test.py (original)
+++ qpid/trunk/qpid/cpp/src/tests/ha_test.py Thu Apr 21 12:31:34 2016
@@ -160,9 +160,8 @@ acl allow all all
@property
def qpid_ha_script(self):
if not hasattr(self, "_qpid_ha_script"):
- qpid_ha_exec = os.getenv("QPID_HA_EXEC")
- if not qpid_ha_exec or not os.path.isfile(qpid_ha_exec):
- raise Skipped("qpid-ha not available")
+ qpid_ha_exec = os.path.join(os.getenv("SOURCE_DIR"), "management",
+ "python", "bin", "qpid-ha")
self._qpid_ha_script = import_script(qpid_ha_exec)
return self._qpid_ha_script
@@ -225,11 +224,8 @@ acl allow all all
assert retry(lambda: agent.getQueue(queue) is None, timeout=timeout), "%s: queue %s still present"%(msg,queue)
def qpid_config(self, args):
- qpid_config_exec = os.getenv("QPID_CONFIG_EXEC")
- if not qpid_config_exec or not os.path.isfile(qpid_config_exec):
- raise Skipped("qpid-config not available")
assert subprocess.call(
- [qpid_config_exec, "--broker", self.host_port()]+args, stdout=1, stderr=subprocess.STDOUT
+ ["qpid-config", "--broker", self.host_port()]+args, stdout=1, stderr=subprocess.STDOUT
) == 0, "qpid-config failed"
def config_replicate(self, from_broker, queue):
Modified: qpid/trunk/qpid/cpp/src/tests/ha_tests.py
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/ha_tests.py?rev=1740289&r1=1740288&r2=1740289&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/ha_tests.py (original)
+++ qpid/trunk/qpid/cpp/src/tests/ha_tests.py Thu Apr 21 12:31:34 2016
@@ -1450,15 +1450,9 @@ class TransactionTests(HaBrokerTest):
"*.tx.*"], stdout=None, stderr=None).assert_exit_ok()
if __name__ == "__main__":
- qpid_ha_exec = os.getenv("QPID_HA_EXEC")
- if qpid_ha_exec and os.path.isfile(qpid_ha_exec):
- BrokerTest.amqp_tx_warning()
- outdir = "ha_tests.tmp"
- shutil.rmtree(outdir, True)
- os.execvp("qpid-python-test",
- ["qpid-python-test", "-m", "ha_tests", "-DOUTDIR=%s"%outdir]
- + sys.argv[1:])
- else:
- print "Skipping ha_tests, qpid-ha not available"
-
+ outdir = "ha_tests.tmp"
+ shutil.rmtree(outdir, True)
+ os.execvp("qpid-python-test",
+ ["qpid-python-test", "-m", "ha_tests", "-DOUTDIR=%s"%outdir]
+ + sys.argv[1:])
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org