Computer Assited Medical Intervention Tool Kit  version 3.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
CamiTKTestCompareFile.h
Go to the documentation of this file.
1 # Description: compare two files with the same name but not present in the same directory. The two full paths are provided by pre-edited variables
7 # Inspired from http://stackoverflow.com/questions/3305545/how-to-adapt-my-unit-tests-to-cmake-and-ctest
8 # and http://www.cmake.org/pipermail/cmake/2009-July/030619.html
9 
10 # declare outputfiles
11 get_filename_component(OUTFILE ${CAMITK_TEST_PASS_FILE} NAME )
12 set(CAMITK_TEST_COMMAND_OUTPUT_FILE ${CAMITK_TEST_OUTPUT_DIR}/${OUTFILE}) # the output of the tested command goes in this files
13 # remove previous savings
14 execute_process(COMMAND ${CMAKE_COMMAND} -E remove -f ${CAMITK_TEST_COMMAND_OUTPUT_FILE} )
15 # expands all arguments
16 set( CAMITK_TEST_COMMAND_ARG "${CAMITK_TEST_COMMAND_ARG} -d ${CAMITK_TEST_OUTPUT_DIR}" ) #space before -d is important here #-d is the directory where the output file will be saved
17 string(REPLACE " " "" CAMITK_TEST_COMMAND_ARG_LIST ${CAMITK_TEST_COMMAND_ARG})
19  COMMAND ${CAMITK_TEST_COMMAND} ${CAMITK_TEST_COMMAND_ARG_LIST})
20 
21 # Then compare the files
23  COMMAND ${CMAKE_COMMAND} -E compare_files ${CAMITK_TEST_PASS_FILE} ${CAMITK_TEST_COMMAND_OUTPUT_FILE}
24  RESULT_VARIABLE CAMITK_TEST_PASS_FILE_RESULT
25  )
26 
27 # check result
28 if( CAMITK_TEST_PASS_FILE_RESULT )
29  message(SEND_ERROR "${CAMITK_TEST_NAME}: ${CAMITK_TEST_COMMAND_OUTPUT_FILE} does not match ${CAMITK_TEST_PASS_FILE}" )
30 endif()
test result execute_process(COMMAND ${CMAKE_COMMAND}-E remove-f ${CAMITK_TEST_COMMAND_FILE}${CAMITK_TEST_COMMAND_RESULT_FILE}${CAMITK_TEST_COMMAND_OUTPUT_FILE}${CAMITK_TEST_PASS_FILE_COMMAND_FILE}${CAMITK_TEST_PASS_FILE_OUTPUT_FILE}${CAMITK_TEST_PASS_FILE_RESULT_FILE}) file(WRITE $
Definition: CamiTKTestPassFile.h:19
set(CAMITK_TEST_COMMAND_FILE ${CAMITK_TEST_OUTPUT_DIR}/command) set(CAMITK_TEST_COMMAND_RESULT_FILE $
This CMake file run a command and put the output in a given file.
Definition: CamiTKTestPassFile.h:11
get_filename_component(OUTFILE ${CAMITK_TEST_PASS_FILE}NAME) set(CAMITK_TEST_COMMAND_OUTPUT_FILE $
This CMake file run a command and put the output in a given file.
Definition: CamiTKTestCompareFile.h:11