49 "EXECUTABLE_ARGSPASS_FILEPASS_REGULAR_EXPRESSIONFAIL_REGULAR_EXPRESSIONPASS_FILE_OUTPUTTEST_SUFFIXPROJECT_NAME" # possible lists #
PASS_FILE -> compare the std output to a ref
file #
PASS_FILE_OUTPUT -> compare two files given as parameters
54 math(EXPR CAMITK_TEST_ID
"${CAMITK_TEST_ID} + 1")
55 set(CAMITK_TEST_NAME
"${CAMITK_TEST_BASENAME}${CAMITK_ADD_TEST_TEST_SUFFIX}${CAMITK_TEST_ID}")
56 set(CAMITK_TEST_LIST ${CAMITK_TEST_LIST} ${CAMITK_TEST_NAME})
57 #
message(STATUS
"Configuring test ${CAMITK_TEST_NAME}")
59 #CAMITK_INSTALL_PREFIX is camitk/src/sdk directory ...
60 set(CAMITK_INSTALL_PREFIX ${SDK_TOP_LEVEL_SOURCE_DIR})
62 # create test output directory
63 set(CAMITK_TEST_OUTPUT_DIR
"${CMAKE_BINARY_DIR}/Testing/Temporary/${CAMITK_TEST_NAME}")
64 # message(STATUS "Creating test output dir ${CAMITK_TEST_OUTPUT_DIR}")
65 execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${CAMITK_TEST_OUTPUT_DIR})
66 # check which test is to be done
67 if(CAMITK_ADD_TEST_PASS_FILE)
68 add_test(NAME ${CAMITK_TEST_NAME}
69 COMMAND ${CMAKE_COMMAND}
70 -DCAMITK_TEST_COMMAND=${CAMITK_INIT_TEST_EXECUTABLE}
71 -DCAMITK_TEST_COMMAND_ARG=${CAMITK_ADD_TEST_EXECUTABLE_ARGS}
72 -DCAMITK_TEST_PASS_FILE=${CAMITK_ADD_TEST_PASS_FILE}
73 -DCAMITK_TEST_OUTPUT_DIR=${CAMITK_TEST_OUTPUT_DIR}
74 -DCAMITK_TEST_NAME=${CAMITK_TEST_NAME}
75 -P ${CAMITK_INSTALL_PREFIX}/cmake/modules/macros/CamiTKTestPassFile.cmake
77 elseif(CAMITK_ADD_TEST_PASS_FILE_OUTPUT)
78 add_test(NAME ${CAMITK_TEST_NAME}
79 COMMAND ${CMAKE_COMMAND}
80 -DCAMITK_TEST_COMMAND=${CAMITK_INIT_TEST_EXECUTABLE}
81 -DCAMITK_TEST_COMMAND_ARG=${CAMITK_ADD_TEST_EXECUTABLE_ARGS}
82 -DCAMITK_TEST_PASS_FILE=${CAMITK_ADD_TEST_PASS_FILE_OUTPUT}
83 -DCAMITK_TEST_OUTPUT_DIR=${CAMITK_TEST_OUTPUT_DIR}
84 -DCAMITK_TEST_NAME=${CAMITK_TEST_NAME}
85 -P ${CAMITK_INSTALL_PREFIX}/cmake/modules/macros/CamiTKTestCompareFile.cmake
88 # set output files for more advanced checking/debugging
89 set(CAMITK_TEST_COMMAND_FILE ${CAMITK_TEST_OUTPUT_DIR}/command) # which command is run to test the exectable
91 execute_process(COMMAND ${CMAKE_COMMAND} -E
remove -f ${CAMITK_TEST_COMMAND_FILE} )
92 file(WRITE ${CAMITK_TEST_COMMAND_FILE}
"Test command: ${CAMITK_INIT_TEST_EXECUTABLE} ${CAMITK_ADD_TEST_EXECUTABLE_ARGS}\nPASS_REGULAR_EXPRESSION: '${CAMITK_ADD_TEST_PASS_REGULAR_EXPRESSION}'\n")
94 if(CAMITK_ADD_TEST_EXECUTABLE_ARGS)
95 # expands all arguments
96 string(REPLACE
" " "" CAMITK_TEST_COMMAND_ARG_LIST ${CAMITK_ADD_TEST_EXECUTABLE_ARGS})
98 set(CAMITK_TEST_COMMAND_ARG_LIST)
101 # add the simple test command
102 add_test(NAME ${CAMITK_TEST_NAME}
103 COMMAND ${CAMITK_INIT_TEST_EXECUTABLE} ${CAMITK_TEST_COMMAND_ARG_LIST}
106 # add properties
if needed
107 if(CAMITK_ADD_TEST_PASS_REGULAR_EXPRESSION)
108 set_tests_properties(${CAMITK_TEST_NAME} PROPERTIES
PASS_REGULAR_EXPRESSION ${CAMITK_ADD_TEST_PASS_REGULAR_EXPRESSION})
110 if(CAMITK_ADD_TEST_FAIL_REGULAR_EXPRESSION)
111 set_tests_properties(${CAMITK_TEST_NAME} PROPERTIES
FAIL_REGULAR_EXPRESSION ${CAMITK_ADD_TEST_FAIL_REGULAR_EXPRESSION})
116 # set the label for tests
117 if( CAMITK_ADD_TEST_PROJECT_NAME )
118 set_tests_properties( ${CAMITK_TEST_NAME} PROPERTIES LABELS ${CAMITK_ADD_TEST_PROJECT_NAME} )#associate tests to a project name in CDash
120 set_tests_properties( ${CAMITK_TEST_NAME} PROPERTIES LABELS ${CAMITK_TEST_BASENAME} )
FAIL_REGULAR_EXPRESSION
Definition: CamiTKAddTest.cmake:49
config endif() if(EXISTS"$
Definition: FindCamiTK.cmake:76
PASS_FILE_OUTPUT
Definition: CamiTKAddTest.cmake:49
set(CAMITK_TEST_PLATEFORM ${Plateform}) set(CAMITK_SVN_SUBDIR $
Definition: CamiTKTestBuildMacros.cmake:15
PASS_REGULAR_EXPRESSION
Definition: CamiTKAddTest.cmake:49
TYPE_EXTENSION_CMAKE elseif(${EXTENSION_NAME_CMAKE}_COMPONENT_EXTENSION) set(TYPE_EXTENSION"component") string(TOUPPER $
Definition: CamiTKExtension.cmake:102
CamiTK CamiTKDir txt file(STRINGS"${FIND_CAMITK_USER_BASE_DIR}/CamiTK/CamiTKDir.txt"FIND_CAMITK_USER_DIR_LAST_INSTALL) endif() find_program(CAMITK_CONFIG_EXECUTABLE NAMES camitk-config-debug camitk-config PATH_SUFFIXES"bin"PATHS"$
Definition: FindCamiTK.cmake:80
if(NOT DEFINED CTEST_SOURCE_DIRECTORY) message(FATAL_ERROR"Please provide the source directory of the continuous test with the CTEST_SOURCE_DIRECTORY argument") endif() if(NOT DEFINED CTEST_BINARY_DIRECTORY) message(FATAL_ERROR"Please provide the build directory of the continuous test with the CTEST_BINARY_DIRECTORY argument") endif() if(CAMITK_CONTINUOUS_INTEGRATION) string(REGEX REPLACE"^(.*)-.*-.*""\\1"COMPILER"$
Definition: continuous.cmake:21
message(STATUS"Looking for CamiTK ${CamiTK_FIND_VERSION}") set(CAMITK_FOUND FALSE) set(CAMITK_USE_FILE"CamiTKConfig.cmake") set(CAMITK_DIR_DESCRIPTION"directory containing a build tree or install tree of CamiTK.\n It must have the camitk-config binary in its 'bin' subdirectory.") if(WIN32) set(FIND_CAMITK_USER_BASE_DIR $ENV
Definition: FindCamiTK.cmake:54
PASS_FILE
Definition: CamiTKAddTest.cmake:49
EXTENSION_NAME parse_arguments(${EXTENSION_NAME_CMAKE}#prefix"NEEDS_TOOL;NEEDS_CEP_LIBRARIES;NEEDS_COMPONENT_EXTENSION;NEEDS_ACTION_EXTENSION;INCLUDE_DIRECTORIES;EXTERNAL_LIBRARIES;HEADERS_TO_INSTALL;DEFINES;CXX_FLAGS;EXTERNAL_SOURCES;TARGET_NAME;CEP_NAME;DESCRIPTION;TEST_APPLICATION"#possible lists"NEEDS_QT_MODULES;ACTION_EXTENSION;COMPONENT_EXTENSION;DISABLED;NEEDS_XERCESC;NEEDS_ITK;NEEDS_LIBXML2;NEEDS_XSD;NEEDS_QTXML;NEEDS_OPENCV;NEEDS_IGSTK;INSTALL_ALL_HEADERS;NEEDS_GDCM;"#possible options ${ARGN}) if($
Definition: CamiTKExtension.cmake:82
string(REGEX REPLACE"^.*-(.*)-.*""\\1"ARCH"${CAMITK_CONTINUOUS_INTEGRATION}") string(REGEX REPLACE"^.*-.*-(.*)""\\1"BUILDTYPE"$
Definition: continuous.cmake:34
camitk_add_test()
camitk_add_test is a macro to add a new test to the CTest infrastructure It encapsulates CMake add_te...
Definition: CamiTKAddTest.h:47
CPACK_PACKAGE_ARCHITECTURE execute_process(COMMAND lsb_release-is OUTPUT_VARIABLE LSB_ID) execute_process(COMMAND lsb_release-rs OUTPUT_VARIABLE LSB_RELEASE) string(STRIP"$
Definition: CamiTKOpenSourcePackaging.cmake:134