Computer Assited Medical Intervention Tool Kit  version 4.0
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 # message( "CAMITK_TEST_COMMAND_OUTPUT_FILE " ${CAMITK_TEST_COMMAND_OUTPUT_FILE} )
14 # remove previous savings
15 execute_process(COMMAND ${CMAKE_COMMAND} -E remove -f ${CAMITK_TEST_COMMAND_OUTPUT_FILE} )
16 # expands all arguments
17 set( CAMITK_TEST_COMMAND_ARG "${CAMITK_TEST_COMMAND_ARG} -o ${CAMITK_TEST_OUTPUT_DIR}" ) #space before -o is important here #-o is the directory where the output file will be saved
18 string(REPLACE " " "" CAMITK_TEST_COMMAND_ARG_LIST ${CAMITK_TEST_COMMAND_ARG})
20  COMMAND ${CAMITK_TEST_COMMAND} ${CAMITK_TEST_COMMAND_ARG_LIST})
21 
22 # Then compare the files
24  COMMAND ${CMAKE_COMMAND} -E compare_files ${CAMITK_TEST_PASS_FILE} ${CAMITK_TEST_COMMAND_OUTPUT_FILE}
25  RESULT_VARIABLE CAMITK_TEST_PASS_FILE_RESULT
26  )
27 
28 # check result
29 if( CAMITK_TEST_PASS_FILE_RESULT )
30  message(SEND_ERROR "${CAMITK_TEST_NAME}: ${CAMITK_TEST_COMMAND_OUTPUT_FILE} does not match ${CAMITK_TEST_PASS_FILE}" )
31 endif()
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
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