summaryrefslogtreecommitdiffstats
path: root/config/cmake/vfdTest.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'config/cmake/vfdTest.cmake')
-rw-r--r--config/cmake/vfdTest.cmake13
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}")