summaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorAllen Byrne <byrn@hdfgroup.org>2013-01-02 14:47:03 (GMT)
committerAllen Byrne <byrn@hdfgroup.org>2013-01-02 14:47:03 (GMT)
commit8a7e609ba44be7c3527d4323774dfaada95437d8 (patch)
treefe6df337d2a3436c5c69b625371a70684824e9f9 /config
parent40a0c31d371cf12ea097b032c506fbaac9f64877 (diff)
downloadhdf5-8a7e609ba44be7c3527d4323774dfaada95437d8.zip
hdf5-8a7e609ba44be7c3527d4323774dfaada95437d8.tar.gz
hdf5-8a7e609ba44be7c3527d4323774dfaada95437d8.tar.bz2
[svn-r23125] HDFFV-8202: merge cmake compare changes from trunk
Diffstat (limited to 'config')
-rw-r--r--config/cmake/prunTest.cmake28
-rw-r--r--config/cmake/runTest.cmake55
2 files changed, 47 insertions, 36 deletions
diff --git a/config/cmake/prunTest.cmake b/config/cmake/prunTest.cmake
index 261f8a4..91a2403 100644
--- a/config/cmake/prunTest.cmake
+++ b/config/cmake/prunTest.cmake
@@ -1,5 +1,6 @@
# 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.
+cmake_policy(SET CMP0007 NEW)
# arguments checking
IF (NOT TEST_PROGRAM)
@@ -105,19 +106,22 @@ IF (NOT TEST_SKIP_COMPARE)
# now compare the output with the reference
SET (TEST_RESULT 0)
FILE (STRINGS ${TEST_FOLDER}/${TEST_OUTPUT} test_act)
- LIST (LENGTH "${test_act}" len_act)
+ LIST (LENGTH test_act len_act)
FILE (STRINGS ${TEST_FOLDER}/P_${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})
+ LIST (LENGTH test_ref len_ref)
+ IF (NOT ${len_act} STREQUAL "0")
+ 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)
+ IF (NOT "${str_act}" STREQUAL "${str_ref}")
+ IF (NOT "${str_act}" STREQUAL "")
+ SET (TEST_RESULT 1)
+ MESSAGE ("line = ${line}\n***ACTUAL: ${str_act}\n****REFER: ${str_ref}\n")
+ ENDIF (NOT "${str_act}" STREQUAL "")
+ ENDIF (NOT "${str_act}" STREQUAL "${str_ref}")
+ ENDFOREACH (line RANGE 0 ${_FP_LEN})
+ ENDIF (NOT ${len_act} STREQUAL "0")
IF (NOT ${len_act} STREQUAL ${len_ref})
SET (TEST_RESULT 1)
ENDIF (NOT ${len_act} STREQUAL ${len_ref})
diff --git a/config/cmake/runTest.cmake b/config/cmake/runTest.cmake
index 78ccf9f..7735e9b 100644
--- a/config/cmake/runTest.cmake
+++ b/config/cmake/runTest.cmake
@@ -1,5 +1,6 @@
# 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.
+cmake_policy(SET CMP0007 NEW)
# arguments checking
IF (NOT TEST_PROGRAM)
@@ -110,19 +111,22 @@ IF (NOT TEST_SKIP_COMPARE)
# now compare the output with the reference
SET (TEST_RESULT 0)
FILE (STRINGS ${TEST_FOLDER}/${TEST_OUTPUT} test_act)
- LIST (LENGTH "${test_act}" len_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})
+ LIST (LENGTH test_ref len_ref)
+ IF (NOT ${len_act} STREQUAL "0")
+ 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)
+ IF (NOT "${str_act}" STREQUAL "${str_ref}")
+ IF (NOT "${str_act}" STREQUAL "")
+ SET (TEST_RESULT 1)
+ MESSAGE ("line = ${line}\n***ACTUAL: ${str_act}\n****REFER: ${str_ref}\n")
+ ENDIF (NOT "${str_act}" STREQUAL "")
+ ENDIF (NOT "${str_act}" STREQUAL "${str_ref}")
+ ENDFOREACH (line RANGE 0 ${_FP_LEN})
+ ENDIF (NOT ${len_act} STREQUAL "0")
IF (NOT ${len_act} STREQUAL ${len_ref})
SET (TEST_RESULT 1)
ENDIF (NOT ${len_act} STREQUAL ${len_ref})
@@ -143,19 +147,23 @@ IF (NOT TEST_SKIP_COMPARE)
# now compare the error output with the error reference
SET (TEST_RESULT 0)
FILE (STRINGS ${TEST_FOLDER}/${TEST_OUTPUT}.err test_act)
- LIST (LENGTH "${test_act}" len_act)
+ LIST (LENGTH test_act len_act)
FILE (STRINGS ${TEST_FOLDER}/${TEST_ERRREF} test_ref)
- LIST (LENGTH "${test_ref}" len_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 "0")
+ 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)
+ IF (NOT "${str_act}" STREQUAL "${str_ref}")
+ IF (NOT "${str_act}" STREQUAL "")
+ SET (TEST_RESULT 1)
+ MESSAGE ("line = ${line}\n***ACTUAL: ${str_act}\n****REFER: ${str_ref}\n")
+ ENDIF (NOT "${str_act}" STREQUAL "")
+ ENDIF (NOT "${str_act}" STREQUAL "${str_ref}")
+ ENDFOREACH (line RANGE 0 ${_FP_LEN})
+ ENDIF (NOT ${len_act} STREQUAL "0")
IF (NOT ${len_act} STREQUAL ${len_ref})
SET (TEST_RESULT 1)
ENDIF (NOT ${len_act} STREQUAL ${len_ref})
@@ -171,4 +179,3 @@ ENDIF (NOT TEST_SKIP_COMPARE)
# everything went fine...
MESSAGE ("Passed: The output of ${TEST_PROGRAM} matches ${TEST_REFERENCE}")
-