diff options
Diffstat (limited to 'config/cmake/vfdTest.cmake')
-rw-r--r-- | config/cmake/vfdTest.cmake | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/config/cmake/vfdTest.cmake b/config/cmake/vfdTest.cmake index eaa019a..2e854fb 100644 --- a/config/cmake/vfdTest.cmake +++ b/config/cmake/vfdTest.cmake @@ -1,5 +1,5 @@ -# runTest.cmake executes a command and captures the output in a file. File is then compared -# against a reference file. Exit status of command can also be compared. +# vfdTest.cmake executes a command and captures the output in a file. Command uses specified VFD. +# Exit status of command can also be compared. # arguments checking IF (NOT TEST_PROGRAM) @@ -18,6 +18,8 @@ IF (NOT TEST_VFD) MESSAGE (FATAL_ERROR "Require TEST_VFD to be defined") ENDIF (NOT TEST_VFD) +SET (ERROR_APPEND 1) + MESSAGE (STATUS "USING ${TEST_VFD} ON COMMAND: ${TEST_PROGRAM} ${TEST_ARGS}") SET (ENV{HDF5_DRIVER} "${TEST_VFD}") @@ -25,12 +27,19 @@ SET (ENV{HDF5_DRIVER} "${TEST_VFD}") EXECUTE_PROCESS ( COMMAND ${TEST_PROGRAM} ${TEST_ARGS} WORKING_DIRECTORY ${TEST_FOLDER} + OUTPUT_FILE ${TEST_OUTPUT}_${TEST_VFD}.out + ERROR_FILE ${TEST_OUTPUT}_${TEST_VFD}.err OUTPUT_VARIABLE TEST_ERROR ERROR_VARIABLE TEST_ERROR ) MESSAGE (STATUS "COMMAND Result: ${TEST_RESULT}") +IF (ERROR_APPEND) + FILE (READ ${TEST_FOLDER}/${TEST_OUTPUT}_${TEST_VFD}.err TEST_STREAM) + FILE (APPEND ${TEST_FOLDER}/${TEST_OUTPUT}_${TEST_VFD}.out "${TEST_STREAM}") +ENDIF (ERROR_APPEND) + # if the return value is !=${TEST_EXPECT} bail out IF (NOT ${TEST_RESULT} STREQUAL ${TEST_EXPECT}) MESSAGE ( FATAL_ERROR "Failed: Test program ${TEST_PROGRAM} exited != ${TEST_EXPECT}.\n${TEST_ERROR}") |