summaryrefslogtreecommitdiffstats
path: root/config/cmake/runTest.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'config/cmake/runTest.cmake')
-rw-r--r--config/cmake/runTest.cmake48
1 files changed, 25 insertions, 23 deletions
diff --git a/config/cmake/runTest.cmake b/config/cmake/runTest.cmake
index 26acc39..34fac1f 100644
--- a/config/cmake/runTest.cmake
+++ b/config/cmake/runTest.cmake
@@ -14,15 +14,15 @@ ENDIF (NOT TEST_FOLDER)
IF (NOT TEST_OUTPUT)
MESSAGE (FATAL_ERROR "Require TEST_OUTPUT to be defined")
ENDIF (NOT TEST_OUTPUT)
-#IF (NOT TEST_EXPECT)
-# MESSAGE (STATUS "Require TEST_EXPECT to be defined")
-#ENDIF (NOT TEST_EXPECT)
+IF (NOT TEST_EXPECT)
+ MESSAGE (STATUS "Require TEST_EXPECT to be defined")
+ENDIF (NOT TEST_EXPECT)
#IF (NOT TEST_FILTER)
# MESSAGE (STATUS "Require TEST_FILTER to be defined")
#ENDIF (NOT TEST_FILTER)
-IF (NOT TEST_REFERENCE)
+IF (NOT TEST_SKIP_COMPARE AND NOT TEST_REFERENCE)
MESSAGE (FATAL_ERROR "Require TEST_REFERENCE to be defined")
-ENDIF (NOT TEST_REFERENCE)
+ENDIF (NOT TEST_SKIP_COMPARE AND NOT TEST_REFERENCE)
SET (ERROR_APPEND 1)
@@ -77,7 +77,7 @@ IF (TEST_MASK_ERROR)
FILE (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM)
STRING(REGEX REPLACE "thread [0-9]*:" "thread (IDs):" TEST_STREAM "${TEST_STREAM}")
STRING(REGEX REPLACE ": ([^\n]*)[.]c " ": (file name) " TEST_STREAM "${TEST_STREAM}")
- STRING(REGEX REPLACE "line [0-9]*" "line (number)" TEST_STREAM "${TEST_STREAM}")
+ STRING(REGEX REPLACE " line [0-9]*" " line (number)" TEST_STREAM "${TEST_STREAM}")
STRING(REGEX REPLACE "v[1-9]*[.][0-9]*[.]" "version (number)." TEST_STREAM "${TEST_STREAM}")
STRING(REGEX REPLACE "[1-9]*[.][0-9]*[.][0-9]*[^)]*" "version (number)" TEST_STREAM "${TEST_STREAM}")
STRING(REGEX REPLACE "H5Eget_auto[1-2]*" "H5Eget_auto(1 or 2)" TEST_STREAM "${TEST_STREAM}")
@@ -91,23 +91,25 @@ IF (TEST_FILTER)
FILE (WRITE ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_STREAM}")
ENDIF (TEST_FILTER)
-IF (WIN32 AND NOT MINGW)
- FILE (READ ${TEST_FOLDER}/${TEST_REFERENCE} TEST_STREAM)
- FILE (WRITE ${TEST_FOLDER}/${TEST_REFERENCE} "${TEST_STREAM}")
-ENDIF (WIN32 AND NOT MINGW)
-
-# now compare the output with the reference
-EXECUTE_PROCESS (
- COMMAND ${CMAKE_COMMAND} -E compare_files ${TEST_FOLDER}/${TEST_OUTPUT} ${TEST_FOLDER}/${TEST_REFERENCE}
- RESULT_VARIABLE TEST_RESULT
-)
-
-MESSAGE (STATUS "COMPARE Result: ${TEST_RESULT}")
-
-# again, if return value is !=0 scream and shout
-IF (NOT ${TEST_RESULT} STREQUAL 0)
- MESSAGE (FATAL_ERROR "Failed: The output of ${TEST_PROGRAM} did not match ${TEST_REFERENCE}")
-ENDIF (NOT ${TEST_RESULT} STREQUAL 0)
+IF (NOT TEST_SKIP_COMPARE)
+ IF (WIN32 AND NOT MINGW)
+ FILE (READ ${TEST_FOLDER}/${TEST_REFERENCE} TEST_STREAM)
+ FILE (WRITE ${TEST_FOLDER}/${TEST_REFERENCE} "${TEST_STREAM}")
+ ENDIF (WIN32 AND NOT MINGW)
+
+ # now compare the output with the reference
+ EXECUTE_PROCESS (
+ COMMAND ${CMAKE_COMMAND} -E compare_files ${TEST_FOLDER}/${TEST_OUTPUT} ${TEST_FOLDER}/${TEST_REFERENCE}
+ RESULT_VARIABLE TEST_RESULT
+ )
+
+ MESSAGE (STATUS "COMPARE Result: ${TEST_RESULT}")
+
+ # again, if return value is !=0 scream and shout
+ IF (NOT ${TEST_RESULT} STREQUAL 0)
+ MESSAGE (FATAL_ERROR "Failed: The output of ${TEST_PROGRAM} did not match ${TEST_REFERENCE}")
+ ENDIF (NOT ${TEST_RESULT} STREQUAL 0)
+ENDIF (NOT TEST_SKIP_COMPARE)
# everything went fine...
MESSAGE ("Passed: The output of ${TEST_PROGRAM} matches ${TEST_REFERENCE}")