You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by gm...@apache.org on 2019/01/22 17:00:56 UTC

[qpid-dispatch] branch master updated: DISPATCH-1243: modify unit test to only run qdrouterd under valgrind. This closes #440.

This is an automated email from the ASF dual-hosted git repository.

gmurthy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/qpid-dispatch.git


The following commit(s) were added to refs/heads/master by this push:
     new de77a15  DISPATCH-1243: modify unit test to only run qdrouterd under valgrind. This closes #440.
de77a15 is described below

commit de77a15ef0d94d37064af673f56533be3c1118f4
Author: Kenneth Giusti <kg...@apache.org>
AuthorDate: Wed Jan 16 09:51:42 2019 -0500

    DISPATCH-1243: modify unit test to only run qdrouterd under valgrind. This closes #440.
---
 CMakeLists.txt       |  4 ++--
 run.py.in            |  8 ++++----
 tests/CMakeLists.txt | 26 +++++++++++++-------------
 tests/system_test.py |  5 +++--
 4 files changed, 22 insertions(+), 21 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 61cbd9b..dc28a52 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -143,9 +143,9 @@ if (USE_VALGRIND)
   if (CMAKE_BUILD_TYPE MATCHES "Coverage")
     message(WARNING "Building for coverage analysis; disabling valgrind run-time error detection")
   else ()
-    set(TEST_RUNNER "${VALGRIND_EXECUTABLE} --quiet --leak-check=full --show-leak-kinds=definite --errors-for-leak-kinds=definite --error-exitcode=42 --suppressions=${CMAKE_SOURCE_DIR}/tests/valgrind.supp")
+    set(QDROUTERD_RUNNER "${VALGRIND_EXECUTABLE} --quiet --leak-check=full --show-leak-kinds=definite --errors-for-leak-kinds=definite --error-exitcode=42 --suppressions=${CMAKE_SOURCE_DIR}/tests/valgrind.supp")
     if (VALGRIND_XML)
-      set(TEST_RUNNER "${TEST_RUNNER} --xml=yes --xml-file=valgrind-%p.xml")
+      set(QDROUTERD_RUNNER "${QDROUTERD_RUNNER} --xml=yes --xml-file=valgrind-%p.xml")
     endif()
   endif ()
 endif()
diff --git a/run.py.in b/run.py.in
index 140f8b8..56edc61 100755
--- a/run.py.in
+++ b/run.py.in
@@ -59,8 +59,8 @@ def getpath(env):
         return path.split(os.pathsep)
     return []
 
-# Test runner program and args (e.g. valgrind)
-test_runner = "${TEST_RUNNER}"
+# runner program (e.g. valgrind) and args used to run qdrouterd
+qdrouterd_runner = "${QDROUTERD_RUNNER}"
 
 env_vars = {
     'PYTHONPATH': os.pathsep.join(sys.path),
@@ -77,7 +77,7 @@ env_vars = {
     'BUILD_DIR': "${CMAKE_BINARY_DIR}",
     'QPID_DISPATCH_HOME': "${CMAKE_SOURCE_DIR}",
     'QPID_DISPATCH_LIB': "${CMAKE_BINARY_DIR}/src/${QPID_DISPATCH_LIB}",
-    'QPID_DISPATCH_TEST_RUNNER': test_runner
+    'QPID_DISPATCH_RUNNER': qdrouterd_runner
 }
 os.environ.update(env_vars)
 
@@ -125,7 +125,7 @@ if __name__ == "__main__":
             for name, value in env_vars.items(): print('%s="%s"'%(name, value))
             print("export %s"%' '.join(env_vars.keys()))
         elif sys.argv[1] == '-x':
-            args = test_runner.split() + sys.argv[2:]
+            args = qdrouterd_runner.split() + sys.argv[2:]
             error_prefix = "Running '%s': "%(args)
             os.execvp(args[0], args)
         elif sys.argv[1].startswith('-'):
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 6eb0547..e3e5cb0 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -56,20 +56,20 @@ target_link_libraries(unit_tests_size qpid-dispatch)
 
 set(TEST_WRAP ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/run.py)
 
-add_test(unit_tests_size_10000 ${TEST_WRAP} -x unit_tests_size 10000)
-add_test(unit_tests_size_512   ${TEST_WRAP} -x unit_tests_size 512)
-add_test(unit_tests_size_10    ${TEST_WRAP} -x unit_tests_size 10)
-add_test(unit_tests_size_7     ${TEST_WRAP} -x unit_tests_size 7)
-add_test(unit_tests_size_5     ${TEST_WRAP} -x unit_tests_size 5)
-add_test(unit_tests_size_3     ${TEST_WRAP} -x unit_tests_size 3)
-add_test(unit_tests_size_2     ${TEST_WRAP} -x unit_tests_size 2)
-add_test(unit_tests_size_1     ${TEST_WRAP} -x unit_tests_size 1)
-add_test(unit_tests            ${TEST_WRAP} -x unit_tests ${CMAKE_CURRENT_SOURCE_DIR}/threads4.conf)
+add_test(unit_tests_size_10000 ${TEST_WRAP} unit_tests_size 10000)
+add_test(unit_tests_size_512   ${TEST_WRAP} unit_tests_size 512)
+add_test(unit_tests_size_10    ${TEST_WRAP} unit_tests_size 10)
+add_test(unit_tests_size_7     ${TEST_WRAP} unit_tests_size 7)
+add_test(unit_tests_size_5     ${TEST_WRAP} unit_tests_size 5)
+add_test(unit_tests_size_3     ${TEST_WRAP} unit_tests_size 3)
+add_test(unit_tests_size_2     ${TEST_WRAP} unit_tests_size 2)
+add_test(unit_tests_size_1     ${TEST_WRAP} unit_tests_size 1)
+add_test(unit_tests            ${TEST_WRAP} unit_tests ${CMAKE_CURRENT_SOURCE_DIR}/threads4.conf)
 
 # Unit test python modules
-add_test(router_engine_test    ${TEST_WRAP} -x unit2 -v router_engine_test)
-add_test(management_test       ${TEST_WRAP} -x unit2 -v management)
-add_test(router_policy_test    ${TEST_WRAP} -x unit2 -v router_policy_test)
+add_test(router_engine_test    ${TEST_WRAP} unit2 -v router_engine_test)
+add_test(management_test       ${TEST_WRAP} unit2 -v management)
+add_test(router_policy_test    ${TEST_WRAP} unit2 -v router_policy_test)
 
 if(USE_LIBWEBSOCKETS)
   set(SYSTEM_TESTS_HTTP system_tests_http)
@@ -129,7 +129,7 @@ foreach(py_test_module
     system_tests_multi_phase
     )
 
-  add_test(${py_test_module} ${TEST_WRAP} -x unit2 -v ${py_test_module})
+  add_test(${py_test_module} ${TEST_WRAP} unit2 -v ${py_test_module})
   list(APPEND SYSTEM_TEST_FILES ${CMAKE_CURRENT_SOURCE_DIR}/${py_test_module}.py)
 endforeach()
 
diff --git a/tests/system_test.py b/tests/system_test.py
index c142ebb..ca8e1f0 100755
--- a/tests/system_test.py
+++ b/tests/system_test.py
@@ -198,10 +198,10 @@ def message(**properties):
         setattr(m, name, value)
     return m
 
+
 class Process(subprocess.Popen):
     """
     Popen that can be torn down at the end of a TestCase and stores its output.
-    Use $TEST_RUNNER as a prefix to the executable if it is defined in the environment.
     """
 
     # Expected states of a Process at teardown
@@ -231,7 +231,6 @@ class Process(subprocess.Popen):
         self.outdir = os.getcwd()
         self.outfile = os.path.abspath(self.unique(self.name))
         self.torndown = False
-        args = os.environ.get('QPID_DISPATCH_TEST_RUNNER', '').split() + args
         with open(self.outfile + '.out', 'w') as out:
             kwargs.setdefault('stdout', out)
             kwargs.setdefault('stderr', subprocess.STDOUT)
@@ -351,6 +350,8 @@ class Qdrouterd(Process):
             args += ['-I', pyinclude]
         elif env_home:
             args += ['-I', os.path.join(env_home, 'python')]
+
+        args = os.environ.get('QPID_DISPATCH_RUNNER', '').split() + args
         super(Qdrouterd, self).__init__(args, name=name, expect=Process.RUNNING)
         self._management = None
         self._wait_ready = False


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org