HDFFV-9994 port changes from develop.
CMake folder changes brought up to standard.
This commit is contained in:
@@ -50,6 +50,8 @@
|
||||
${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/testfiles/compounds_array_vlen2.h5
|
||||
${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/testfiles/non_comparables1.h5
|
||||
${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/testfiles/non_comparables2.h5
|
||||
${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/testfiles/tudfilter.h5
|
||||
${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/testfiles/tudfilter2.h5
|
||||
)
|
||||
|
||||
set (LIST_OTHER_TEST_FILES
|
||||
@@ -227,6 +229,8 @@
|
||||
${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/testfiles/h5diff_710.txt
|
||||
${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/testfiles/h5diff_80.txt
|
||||
${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/testfiles/h5diff_90.txt
|
||||
${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/testfiles/h5diff_ud.txt
|
||||
${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/testfiles/h5diff_udfail.txt
|
||||
)
|
||||
|
||||
set (LIST_WIN_TEST_FILES
|
||||
@@ -238,6 +242,9 @@
|
||||
|
||||
# Make testfiles dir under build dir
|
||||
file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")
|
||||
if (H5_HAVE_PARALLEL)
|
||||
file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/PAR/testfiles")
|
||||
endif ()
|
||||
|
||||
#
|
||||
# copy test files from source to build dir
|
||||
@@ -245,6 +252,9 @@
|
||||
foreach (h5_tstfiles ${LIST_HDF5_TEST_FILES} ${LIST_OTHER_TEST_FILES})
|
||||
get_filename_component(fname "${h5_tstfiles}" NAME)
|
||||
HDFTEST_COPY_FILE("${h5_tstfiles}" "${PROJECT_BINARY_DIR}/testfiles/${fname}" "h5diff_files")
|
||||
if (H5_HAVE_PARALLEL)
|
||||
HDFTEST_COPY_FILE("${h5_tstfiles}" "${PROJECT_BINARY_DIR}/PAR/testfiles/${fname}" "h5diff_files")
|
||||
endif ()
|
||||
endforeach ()
|
||||
|
||||
|
||||
@@ -255,11 +265,17 @@
|
||||
foreach (h5_tstfiles ${LIST_WIN_TEST_FILES})
|
||||
get_filename_component(fname "${h5_tstfiles}" NAME)
|
||||
HDFTEST_COPY_FILE("${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/testfiles/${h5_tstfiles}w.txt" "${PROJECT_BINARY_DIR}/testfiles/${fname}.txt" "h5diff_files")
|
||||
if (H5_HAVE_PARALLEL)
|
||||
HDFTEST_COPY_FILE("${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/testfiles/${h5_tstfiles}w.txt" "${PROJECT_BINARY_DIR}/PAR/testfiles/${fname}.txt" "h5diff_files")
|
||||
endif ()
|
||||
endforeach ()
|
||||
else ()
|
||||
foreach (h5_tstfiles ${LIST_WIN_TEST_FILES})
|
||||
get_filename_component(fname "${h5_tstfiles}" NAME)
|
||||
HDFTEST_COPY_FILE("${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/testfiles/${h5_tstfiles}.txt" "${PROJECT_BINARY_DIR}/testfiles/${fname}.txt" "h5diff_files")
|
||||
if (H5_HAVE_PARALLEL)
|
||||
HDFTEST_COPY_FILE("${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/testfiles/${h5_tstfiles}.txt" "${PROJECT_BINARY_DIR}/PAR/testfiles/${fname}.txt" "h5diff_files")
|
||||
endif ()
|
||||
endforeach ()
|
||||
endif ()
|
||||
add_custom_target(h5diff_files ALL COMMENT "Copying files needed by h5diff tests" DEPENDS ${h5diff_files_list})
|
||||
@@ -281,12 +297,7 @@
|
||||
if (NOT "${last_test}" STREQUAL "")
|
||||
set_tests_properties (H5DIFF-${resultfile} PROPERTIES DEPENDS ${last_test})
|
||||
endif ()
|
||||
else (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
add_test (
|
||||
NAME H5DIFF-${resultfile}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove ./testfiles/${resultfile}.out ./testfiles/${resultfile}.out.err
|
||||
)
|
||||
else ()
|
||||
add_test (
|
||||
NAME H5DIFF-${resultfile}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
@@ -299,78 +310,85 @@
|
||||
-D "TEST_APPEND=EXIT CODE:"
|
||||
-P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
|
||||
)
|
||||
set_tests_properties (H5DIFF-${resultfile} PROPERTIES DEPENDS "H5DIFF-${resultfile}-clear-objects")
|
||||
endif (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
endif ()
|
||||
if (H5_HAVE_PARALLEL)
|
||||
ADD_PH5_TEST (${resultfile} ${resultcode} ${ARGN})
|
||||
endif ()
|
||||
ENDMACRO (ADD_H5_TEST file)
|
||||
ENDMACRO ()
|
||||
|
||||
MACRO (ADD_PH5_TEST resultfile resultcode)
|
||||
# If using memchecker add tests without using scripts
|
||||
if (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
add_test (NAME PH5DIFF-${resultfile} COMMAND $<TARGET_FILE:ph5diff> ${MPIEXEC} ${MPIEXEC_PREFLAGS} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_POSTFLAGS} ${ARGN})
|
||||
set_tests_properties (PH5DIFF-${resultfile} PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")
|
||||
set_tests_properties (PH5DIFF-${resultfile} PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/PAR/testfiles")
|
||||
if (NOT ${resultcode} STREQUAL "0")
|
||||
set_tests_properties (PH5DIFF-${resultfile} PROPERTIES WILL_FAIL "true")
|
||||
endif ()
|
||||
if (NOT "${last_test}" STREQUAL "")
|
||||
set_tests_properties (PH5DIFF-${resultfile} PROPERTIES DEPENDS ${last_test})
|
||||
endif ()
|
||||
else (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
add_test (
|
||||
NAME PH5DIFF-${resultfile}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove ./testfiles/${resultfile}_p.out ./testfiles/${resultfile}_p.out.err
|
||||
)
|
||||
else ()
|
||||
add_test (
|
||||
NAME PH5DIFF-${resultfile}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=${MPIEXEC};${MPIEXEC_PREFLAGS};${MPIEXEC_NUMPROC_FLAG};${MPIEXEC_MAX_NUMPROCS};${MPIEXEC_POSTFLAGS};$<TARGET_FILE:ph5diff>"
|
||||
-D "TEST_ARGS:STRING=${ARGN}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/testfiles"
|
||||
-D "TEST_OUTPUT=P_${resultfile}.out"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/PAR/testfiles"
|
||||
-D "TEST_OUTPUT=${resultfile}.out"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_REFERENCE=${resultfile}.txt"
|
||||
# -D "TEST_APPEND=EXIT CODE: [0-9]"
|
||||
# -D "TEST_REF_FILTER=EXIT CODE: 0"
|
||||
-D "TEST_SKIP_COMPARE=TRUE"
|
||||
-P "${HDF_RESOURCES_EXT_DIR}/prunTest.cmake"
|
||||
-P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
|
||||
)
|
||||
set_tests_properties (PH5DIFF-${resultfile} PROPERTIES DEPENDS "PH5DIFF-${resultfile}-clear-objects")
|
||||
endif (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO (ADD_PH5_TEST file)
|
||||
|
||||
# ADD_H5_NO_OUTPUT_TEST
|
||||
# Purpose to verify only exitcode without output comparison
|
||||
# Don't use this if possible; this may be removed.
|
||||
MACRO (ADD_H5_NO_OUTPUT_TEST testname resultcode)
|
||||
# If using memchecker add tests without using scripts
|
||||
if (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
add_test (
|
||||
NAME H5DIFF-${testname}-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove ./testfiles/${testname}.out ./testfiles/${testname}.out.err
|
||||
)
|
||||
# if there was a previous test
|
||||
if (NOT "${last_test}" STREQUAL "")
|
||||
set_tests_properties (H5DIFF-${testname}-clear-objects PROPERTIES DEPENDS ${last_test})
|
||||
endif ()
|
||||
endif (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
|
||||
add_test (NAME H5DIFF-${testname} COMMAND $<TARGET_FILE:h5diff> ${ARGN})
|
||||
if (NOT ${resultcode} STREQUAL "0")
|
||||
set_tests_properties (H5DIFF-${testname} PROPERTIES WILL_FAIL "true")
|
||||
endif ()
|
||||
ENDMACRO ()
|
||||
|
||||
if (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
if (NOT "${last_test}" STREQUAL "")
|
||||
set_tests_properties (H5DIFF-${testname} PROPERTIES DEPENDS ${last_test})
|
||||
MACRO (ADD_H5_UD_TEST testname resultcode resultfile)
|
||||
if (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
# Remove any output file left over from previous test run
|
||||
add_test (
|
||||
NAME H5DIFF_UD-${testname}-clearall-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
testfiles/${resultfile}.out
|
||||
testfiles/${resultfile}.out.err
|
||||
)
|
||||
if (${resultcode} STREQUAL "2")
|
||||
add_test (
|
||||
NAME H5DIFF_UD-${testname}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5diff>"
|
||||
-D "TEST_ARGS:STRING=${ARGN}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/testfiles"
|
||||
-D "TEST_OUTPUT=${resultfile}.out"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_REFERENCE=${resultfile}.txt"
|
||||
-D "TEST_APPEND=EXIT CODE:"
|
||||
-D "TEST_ENV_VAR=HDF5_PLUGIN_PATH"
|
||||
-D "TEST_ENV_VALUE=${CMAKE_BINARY_DIR}"
|
||||
-P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
|
||||
)
|
||||
else ()
|
||||
add_test (
|
||||
NAME H5DIFF_UD-${testname}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:h5diff>"
|
||||
-D "TEST_ARGS:STRING=${ARGN}"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/testfiles"
|
||||
-D "TEST_OUTPUT=${resultfile}.out"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_REFERENCE=${resultfile}.txt"
|
||||
-D "TEST_APPEND=EXIT CODE:"
|
||||
-D "TEST_ENV_VAR=HDF5_PLUGIN_PATH"
|
||||
-D "TEST_ENV_VALUE=${CMAKE_BINARY_DIR}/plugins"
|
||||
-P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
|
||||
)
|
||||
endif ()
|
||||
else (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
set_tests_properties (H5DIFF-${testname} PROPERTIES DEPENDS H5DIFF-${testname}-clear-objects)
|
||||
endif (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
ENDMACRO (ADD_H5_NO_OUTPUT_TEST)
|
||||
set_tests_properties (H5DIFF_UD-${testname} PROPERTIES DEPENDS H5DIFF_UD-${testname}-clearall-objects)
|
||||
endif ()
|
||||
ENDMACRO ()
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
@@ -784,9 +802,9 @@
|
||||
set_tests_properties (H5DIFF-clearall-objects PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles")
|
||||
if (NOT "${last_test}" STREQUAL "")
|
||||
set_tests_properties (H5DIFF-clearall-objects PROPERTIES DEPENDS ${last_test})
|
||||
endif (NOT "${last_test}" STREQUAL "")
|
||||
endif ()
|
||||
set (last_test "H5DIFF-clearall-objects")
|
||||
endif (HDF5_ENABLE_USING_MEMCHECKER)
|
||||
endif ()
|
||||
|
||||
# ############################################################################
|
||||
# # Common usage
|
||||
@@ -1357,3 +1375,9 @@ ADD_H5_TEST (h5diff_643 1 -v -d 5 --use-system-epsilon ${FILE1} ${FILE2} /g1/dse
|
||||
ADD_H5_TEST (h5diff_644 1 -v --use-system-epsilon -d 5 ${FILE1} ${FILE2} /g1/dset3 /g1/dset4)
|
||||
ADD_H5_TEST (h5diff_645 1 -v -p 0.05 --use-system-epsilon ${FILE1} ${FILE2} /g1/dset3 /g1/dset4)
|
||||
ADD_H5_TEST (h5diff_646 1 -v --use-system-epsilon -p 0.05 ${FILE1} ${FILE2} /g1/dset3 /g1/dset4)
|
||||
|
||||
##############################################################################
|
||||
### P L U G I N T E S T S
|
||||
##############################################################################
|
||||
ADD_H5_UD_TEST (h5diff_plugin_test 0 h5diff_ud -v tudfilter.h5 tudfilter2.h5)
|
||||
ADD_H5_UD_TEST (h5diff_plugin_fail 2 h5diff_udfail -v tudfilter.h5 tudfilter2.h5)
|
||||
|
||||
Reference in New Issue
Block a user