From ccc3cb80790d18e68a10fb7c4b6a9beb4372d96d Mon Sep 17 00:00:00 2001 From: Lars Bilke <lars.bilke@ufz.de> Date: Wed, 12 Oct 2016 16:46:42 +0200 Subject: [PATCH] [CMake] Possibility to don't specify a test wrapper. When there is no wrapper specified then there simply is no wrapper which results in a no-op. This enables ctest on Windows and fixes #1403. time-Wrapper can still be used! --- CHANGELOG.md | 3 +++ scripts/cmake/test/AddTest.cmake | 22 ++++++++++------------ 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b18638bc505..a7b06796eb9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,9 @@ ### Features: ### Utilities ### Infrastructure: + +- ctest now works on Windows too by removing time-wrappers + ### Fixes: # 6.0.7 diff --git a/scripts/cmake/test/AddTest.cmake b/scripts/cmake/test/AddTest.cmake index 8f5ad7599b1..66b2acff45b 100644 --- a/scripts/cmake/test/AddTest.cmake +++ b/scripts/cmake/test/AddTest.cmake @@ -9,10 +9,9 @@ # PATH <working directory> # relative to SourceDir/Tests/Data # EXECUTABLE <executable target> # optional, defaults to ogs # EXECUTABLE_ARGS <arguments> -# WRAPPER <time|memcheck|callgrind> # optional, defaults to time +# WRAPPER <time|memcheck|callgrind> # optional # WRAPPER_ARGS <arguments> # optional -# TESTER <diff|memcheck> # optional -# DATA <list of all required data files, white-space separated, have to be in PATH> +# TESTER <diff|vtkdiff|memcheck> # optional # ) # # Conditional arguments: @@ -53,16 +52,11 @@ function (AddTest) if (NOT AddTest_RELTOL) set (AddTest_RELTOL 1e-16) endif() - # message("AddTest_ABSTOL ${AddTest_ABSTOL}") if("${AddTest_EXECUTABLE}" STREQUAL "ogs") set(AddTest_EXECUTABLE_ARGS -o ${AddTest_BINARY_PATH_NATIVE} ${AddTest_EXECUTABLE_ARGS}) endif() - if(NOT AddTest_WRAPPER) - set(AddTest_WRAPPER time) - endif() - # --- Implement wrappers --- # check requirements, disable if not met if(AddTest_WRAPPER STREQUAL "time" AND NOT TIME_TOOL_PATH) @@ -172,8 +166,12 @@ function (AddTest) endforeach() # Run the wrapper + if(DEFINED AddTest_WRAPPER) + set(AddTest_WRAPPER_STRING "-${AddTest_WRAPPER}") + endif() + set(TEST_NAME "${AddTest_EXECUTABLE}-${AddTest_NAME}${AddTest_WRAPPER_STRING}") add_test( - NAME "${AddTest_EXECUTABLE}-${AddTest_NAME}-${AddTest_WRAPPER}" + NAME ${TEST_NAME} COMMAND ${CMAKE_COMMAND} -DEXECUTABLE=${AddTest_EXECUTABLE_PARSED} "-DEXECUTABLE_ARGS=${AddTest_EXECUTABLE_ARGS}" @@ -195,14 +193,14 @@ function (AddTest) endif() # Run the tester + set(TESTER_NAME "${TEST_NAME}-${AddTest_TESTER}") add_test( - NAME "${AddTest_EXECUTABLE}-${AddTest_NAME}-${AddTest_WRAPPER}-${AddTest_TESTER}" + NAME ${TESTER_NAME} COMMAND ${CMAKE_COMMAND} -Dcase_path=${AddTest_SOURCE_PATH} -DTESTER_COMMAND=${TESTER_COMMAND} -P ${PROJECT_SOURCE_DIR}/scripts/cmake/test/AddTestTester.cmake ) - set_tests_properties(${AddTest_EXECUTABLE}-${AddTest_NAME}-${AddTest_WRAPPER}-${AddTest_TESTER} - PROPERTIES DEPENDS ${AddTest_EXECUTABLE}-${AddTest_NAME}-${AddTest_WRAPPER}) + set_tests_properties(${TESTER_NAME} PROPERTIES DEPENDS ${TEST_NAME}) endfunction() -- GitLab