diff options
author | Vailin Choi <vchoi@hdfgroup.org> | 2013-04-18 18:23:51 (GMT) |
---|---|---|
committer | Vailin Choi <vchoi@hdfgroup.org> | 2013-04-18 18:23:51 (GMT) |
commit | 6ee0e05fb94445551840fcb80b9b1c254c736799 (patch) | |
tree | 0acf68cdc69dae2ff0e2a72b36e4efb6f8fbfd06 /config/cmake/runTest.cmake | |
parent | 94f89911545edce6fc9ebde2c83357cbda0bbd70 (diff) | |
download | hdf5-6ee0e05fb94445551840fcb80b9b1c254c736799.zip hdf5-6ee0e05fb94445551840fcb80b9b1c254c736799.tar.gz hdf5-6ee0e05fb94445551840fcb80b9b1c254c736799.tar.bz2 |
[svn-r23599] Bring revisions 22802 : 23085 from trunk to revise_chunks.
h5committested.
Diffstat (limited to 'config/cmake/runTest.cmake')
-rw-r--r-- | config/cmake/runTest.cmake | 48 |
1 files changed, 38 insertions, 10 deletions
diff --git a/config/cmake/runTest.cmake b/config/cmake/runTest.cmake index 4738523..78ccf9f 100644 --- a/config/cmake/runTest.cmake +++ b/config/cmake/runTest.cmake @@ -108,16 +108,30 @@ IF (NOT TEST_SKIP_COMPARE) 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 - ) + SET (TEST_RESULT 0) + FILE (STRINGS ${TEST_FOLDER}/${TEST_OUTPUT} test_act) + LIST (LENGTH "${test_act}" len_act) + FILE (STRINGS ${TEST_FOLDER}/${TEST_REFERENCE} test_ref) + LIST (LENGTH "${test_ref}" len_ref) + MATH (EXPR _FP_LEN "${len_ref} - 1") + FOREACH (line RANGE 0 ${_FP_LEN}) + LIST (GET "${test_act}" ${line} str_act) + LIST (GET "${test_ref}" ${line} str_ref) + STRING (COMPARE NOTEQUAL ${str_act} ${str_ref} str_res) + IF (${str_res}) + SET (TEST_RESULT 1) + MESSAGE ("line = ${line}\n***ACTUAL: ${str_act}\n****REFER: ${str_ref}") + ENDIF (${str_res}) + ENDFOREACH (line RANGE 0 ${_FP_LEN}) + IF (NOT ${len_act} STREQUAL ${len_ref}) + SET (TEST_RESULT 1) + ENDIF (NOT ${len_act} STREQUAL ${len_ref}) 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}") + MESSAGE (FATAL_ERROR "Failed: The output of ${TEST_OUTPUT} did not match ${TEST_REFERENCE}") ENDIF (NOT ${TEST_RESULT} STREQUAL 0) IF (TEST_ERRREF) @@ -127,16 +141,30 @@ IF (NOT TEST_SKIP_COMPARE) ENDIF (WIN32 AND NOT MINGW) # now compare the error output with the error reference - EXECUTE_PROCESS ( - COMMAND ${CMAKE_COMMAND} -E compare_files ${TEST_FOLDER}/${TEST_OUTPUT}.err ${TEST_FOLDER}/${TEST_ERRREF} - RESULT_VARIABLE TEST_RESULT - ) + SET (TEST_RESULT 0) + FILE (STRINGS ${TEST_FOLDER}/${TEST_OUTPUT}.err test_act) + LIST (LENGTH "${test_act}" len_act) + FILE (STRINGS ${TEST_FOLDER}/${TEST_ERRREF} test_ref) + LIST (LENGTH "${test_ref}" len_ref) + MATH (EXPR _FP_LEN "${len_ref} - 1") + FOREACH (line RANGE 0 ${_FP_LEN}) + LIST (GET "${test_act}" ${line} str_act) + LIST (GET "${test_ref}" ${line} str_ref) + STRING (COMPARE NOTEQUAL ${str_act} ${str_ref} str_res) + IF (${str_res}) + SET (TEST_RESULT 1) + MESSAGE ("line = ${line}\n***ACTUAL: ${str_act}\n****REFER: ${str_ref}") + ENDIF (${str_res}) + ENDFOREACH (line RANGE 0 ${_FP_LEN}) + IF (NOT ${len_act} STREQUAL ${len_ref}) + SET (TEST_RESULT 1) + ENDIF (NOT ${len_act} STREQUAL ${len_ref}) 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 error output of ${TEST_PROGRAM} did not match ${TEST_ERRREF}") + MESSAGE (FATAL_ERROR "Failed: The error output of ${TEST_OUTPUT}.err did not match ${TEST_ERRREF}") ENDIF (NOT ${TEST_RESULT} STREQUAL 0) ENDIF (TEST_ERRREF) ENDIF (NOT TEST_SKIP_COMPARE) |