diff options
author | Christian Dywan <christian.dywan@canonical.com> | 2014-04-04 21:00:41 +0200 |
---|---|---|
committer | Christian Dywan <christian.dywan@canonical.com> | 2014-04-04 21:00:41 +0200 |
commit | 1485d8a3b841bbcd7fbc703e1de46d2196736958 (patch) | |
tree | 6afc366f0b9e346cf3e39c1bf661ba8eafc33d37 | |
parent | a0791c5dfe7e6090d75b96a44020ded6ccf1823b (diff) | |
download | midori-1485d8a3b841bbcd7fbc703e1de46d2196736958.tar.gz |
Use dependencies to clear test folders before execution
-rw-r--r-- | cmake/ContainTest.cmake | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/cmake/ContainTest.cmake b/cmake/ContainTest.cmake index 2f4b7948..c671fd28 100644 --- a/cmake/ContainTest.cmake +++ b/cmake/ContainTest.cmake @@ -5,23 +5,33 @@ include(ParseArguments) macro(contain_test test_name) parse_arguments(ARGS "TEST" "" ${ARGN}) set(TEST_ENV "") - foreach(VARIABLE XDG_DATA_HOME XDG_CONFIG_HOME XDG_CACHE_HOME XDG_DATA_HOME XDG_RUNTIME_DIR TMPDIR) + foreach(VARIABLE XDG_CONFIG_HOME XDG_CACHE_HOME XDG_DATA_HOME XDG_RUNTIME_DIR TMPDIR) set(CONTAINER "${CMAKE_CURRENT_BINARY_DIR}/${test_name}-folders/${VARIABLE}") - file(REMOVE_RECURSE ${CONTAINER}) - file(MAKE_DIRECTORY ${CONTAINER}) set(TEST_ENV "${TEST_ENV}${VARIABLE}=${CONTAINER};") endforeach() + + add_dependencies(check contain-${test_name}) + set_tests_properties(${test_name} PROPERTIES WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} TIMEOUT 42 ENVIRONMENT "${TEST_ENV}" ) + add_custom_target("contain-${test_name}" + COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_CURRENT_BINARY_DIR}/${test_name}-folders + COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/${test_name}-folders/XDG_CONFIG_HOME + COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/${test_name}-folders/XDG_CACHE_HOME + COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/${test_name}-folders/XDG_DATA_HOME + COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/${test_name}-folders/XDG_RUNTIME_DIR + COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/${test_name}-folders/TMPDIR + ) add_custom_target("gdb-${test_name}" COMMAND env ${TEST_ENV} gdb --batch -ex 'set print thread-events off' -ex 'run' -ex 'bt' ${CMAKE_BINARY_DIR}/tests/${UNIT} + DEPENDS "contain-${test_name}" ) add_custom_target("valgrind-${test_name}" @@ -31,6 +41,7 @@ macro(contain_test test_name) --undef-value-errors=yes --track-origins=yes ${CMAKE_BINARY_DIR}/tests/${UNIT} + DEPENDS "contain-${test_name}" ) add_custom_target("callgrind-${test_name}" @@ -38,5 +49,6 @@ macro(contain_test test_name) --tool=callgrind --callgrind-out-file=${UNIT}.callgrind ${CMAKE_BINARY_DIR}/tests/${UNIT} + DEPENDS "contain-${test_name}" ) endmacro(contain_test) |