summaryrefslogtreecommitdiffstats
path: root/tools/test/h5repack
diff options
context:
space:
mode:
Diffstat (limited to 'tools/test/h5repack')
-rw-r--r--tools/test/h5repack/CMakeLists.txt10
-rw-r--r--tools/test/h5repack/CMakeTests.cmake357
-rw-r--r--tools/test/h5repack/CMakeVFDTests.cmake108
-rw-r--r--tools/test/h5repack/h5repack.sh.in54
-rw-r--r--tools/test/h5repack/h5repack_plugin.sh.in4
5 files changed, 296 insertions, 237 deletions
diff --git a/tools/test/h5repack/CMakeLists.txt b/tools/test/h5repack/CMakeLists.txt
index 2f79763..2fd2827 100644
--- a/tools/test/h5repack/CMakeLists.txt
+++ b/tools/test/h5repack/CMakeLists.txt
@@ -6,7 +6,7 @@ project (HDF5_TOOLS_TEST_H5REPACK C)
# --------------------------------------------------------------------
add_executable (testh5repack_detect_szip ${HDF5_TOOLS_TEST_H5REPACK_SOURCE_DIR}/testh5repack_detect_szip.c)
target_include_directories (testh5repack_detect_szip
- PRIVATE "${HDF5_TOOLS_SRC_H5REPACK_SOURCE_DIR};${HDF5_TOOLS_DIR}/lib;${HDF5_SRC_DIR};${HDF5_SRC_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
+ PRIVATE "${HDF5_TOOLS_SRC_H5REPACK_SOURCE_DIR};${HDF5_TOOLS_DIR}/lib;${HDF5_SRC_INCLUDE_DIRS};${HDF5_SRC_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
)
if (BUILD_STATIC_LIBS)
TARGET_C_PROPERTIES (testh5repack_detect_szip STATIC)
@@ -29,7 +29,7 @@ set (REPACK_COMMON_SOURCES
)
add_executable (h5repacktest ${REPACK_COMMON_SOURCES} ${HDF5_TOOLS_TEST_H5REPACK_SOURCE_DIR}/h5repacktst.c)
target_include_directories (h5repacktest
- PRIVATE "${HDF5_TOOLS_SRC_H5REPACK_SOURCE_DIR};${HDF5_TOOLS_DIR}/lib;${HDF5_SRC_DIR};${HDF5_TEST_SRC_DIR};${HDF5_SRC_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
+ PRIVATE "${HDF5_TOOLS_SRC_H5REPACK_SOURCE_DIR};${HDF5_TOOLS_DIR}/lib;${HDF5_SRC_INCLUDE_DIRS};${HDF5_TEST_SRC_DIR};${HDF5_SRC_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
)
if (BUILD_STATIC_LIBS)
TARGET_C_PROPERTIES (h5repacktest STATIC)
@@ -52,13 +52,13 @@ if (BUILD_SHARED_LIBS)
set (H5REPACK_TOOL_PLUGIN_LIB_VTARGET ${H5REPACK_TOOL_PLUGIN_LIB_VCORENAME})
add_library (${H5REPACK_TOOL_PLUGIN_LIB_TARGET} SHARED dynlib_rpk.c)
- target_include_directories (${H5REPACK_TOOL_PLUGIN_LIB_TARGET} PRIVATE "${HDF5_SRC_DIR};${HDF5_SRC_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ target_include_directories (${H5REPACK_TOOL_PLUGIN_LIB_TARGET} PRIVATE "${HDF5_SRC_INCLUDE_DIRS};${HDF5_SRC_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
TARGET_C_PROPERTIES (${H5REPACK_TOOL_PLUGIN_LIB_TARGET} SHARED)
target_link_libraries (${H5REPACK_TOOL_PLUGIN_LIB_TARGET} PRIVATE ${HDF5_LIBSH_TARGET})
H5_SET_LIB_OPTIONS (${H5REPACK_TOOL_PLUGIN_LIB_TARGET} ${H5REPACK_TOOL_PLUGIN_LIB_NAME} SHARED "LIB")
add_library (${H5REPACK_TOOL_PLUGIN_LIB_VTARGET} SHARED dynlib_vrpk.c)
- target_include_directories (${H5REPACK_TOOL_PLUGIN_LIB_VTARGET} PRIVATE "${HDF5_SRC_DIR};${HDF5_SRC_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ target_include_directories (${H5REPACK_TOOL_PLUGIN_LIB_VTARGET} PRIVATE "${HDF5_SRC_INCLUDE_DIRS};${HDF5_SRC_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
TARGET_C_PROPERTIES (${H5REPACK_TOOL_PLUGIN_LIB_VTARGET} SHARED)
target_link_libraries (${H5REPACK_TOOL_PLUGIN_LIB_VTARGET} PRIVATE ${HDF5_LIBSH_TARGET})
H5_SET_LIB_OPTIONS (${H5REPACK_TOOL_PLUGIN_LIB_VTARGET} ${H5REPACK_TOOL_PLUGIN_LIB_VNAME} SHARED "LIB")
@@ -99,7 +99,7 @@ endif ()
# --------------------------------------------------------------------
if (HDF5_BUILD_GENERATORS AND BUILD_STATIC_LIBS)
add_executable (h5repackgentest ${HDF5_TOOLS_TEST_H5REPACK_SOURCE_DIR}/h5repackgentest.c)
- target_include_directories (h5repackgentest PRIVATE "${HDF5_SRC_DIR};${HDF5_SRC_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ target_include_directories (h5repackgentest PRIVATE "${HDF5_SRC_INCLUDE_DIRS};${HDF5_SRC_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
TARGET_C_PROPERTIES (h5repackgentest STATIC)
target_link_libraries (h5repackgentest PRIVATE ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (h5repackgentest PROPERTIES FOLDER generator/tools)
diff --git a/tools/test/h5repack/CMakeTests.cmake b/tools/test/h5repack/CMakeTests.cmake
index 936ee3e..9ced142 100644
--- a/tools/test/h5repack/CMakeTests.cmake
+++ b/tools/test/h5repack/CMakeTests.cmake
@@ -222,9 +222,6 @@
# If using memchecker add tests without using scripts
if (HDF5_ENABLE_USING_MEMCHECKER)
add_test (NAME H5REPACK-h5repack-${testname} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:h5repack${tgt_file_ext}> ${ARGN})
- set_tests_properties (H5REPACK-h5repack-${testname} PROPERTIES
- WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles"
- )
else ()
add_test (
NAME H5REPACK-h5repack-${testname}
@@ -240,7 +237,7 @@
)
endif ()
set_tests_properties (H5REPACK-h5repack-${testname} PROPERTIES
- FIXTURES_REQUIRED clear_h5repack
+ WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles"
)
endmacro ()
@@ -257,9 +254,6 @@
NAME H5REPACK_OLD-${testname}-clear-objects
COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${testname}.${testfile}
)
- set_tests_properties (H5REPACK_OLD-${testname}-clear-objects PROPERTIES
- FIXTURES_REQUIRED clear_h5repack
- )
add_test (
NAME H5REPACK_OLD-${testname}
COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:h5repack${tgt_file_ext}> ${ARGN} -i ${PROJECT_BINARY_DIR}/testfiles/${testfile} -o ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${testfile}
@@ -274,6 +268,13 @@
set_tests_properties (H5REPACK_OLD-${testname}_DFF PROPERTIES
DEPENDS H5REPACK_OLD-${testname}
)
+ add_test (
+ NAME H5REPACK_OLD-${testname}-clean-objects
+ COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${testname}.${testfile}
+ )
+ set_tests_properties (H5REPACK_OLD-${testname}-clean-objects PROPERTIES
+ DEPENDS H5REPACK_OLD-${testname}_DFF
+ )
endif ()
endif ()
endmacro ()
@@ -292,9 +293,6 @@
NAME H5REPACK-${testname}-clear-objects
COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${testname}.${testfile}
)
- set_tests_properties (H5REPACK-${testname}-clear-objects PROPERTIES
- FIXTURES_REQUIRED clear_h5repack
- )
add_test (
NAME H5REPACK-${testname}
COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:h5repack${tgt_file_ext}> --enable-error-stack ${ARGN} ${PROJECT_BINARY_DIR}/testfiles/${testfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${testfile}
@@ -309,6 +307,13 @@
set_tests_properties (H5REPACK-${testname}_DFF PROPERTIES
DEPENDS H5REPACK-${testname}
)
+ add_test (
+ NAME H5REPACK-${testname}-clean-objects
+ COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${testname}.${testfile}
+ )
+ set_tests_properties (H5REPACK-${testname}-clean-objects PROPERTIES
+ DEPENDS H5REPACK-${testname}_DFF
+ )
endif ()
endmacro ()
@@ -322,20 +327,20 @@
set_property(TEST H5REPACK_CMP-${testname} PROPERTY DISABLED)
endif ()
else ()
+ add_test (
+ NAME H5REPACK_CMP-${testname}-clear-objects
+ COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${testname}.${resultfile}
+ )
# If using memchecker add tests without using scripts
if (HDF5_ENABLE_USING_MEMCHECKER)
add_test (
NAME H5REPACK_CMP-${testname}
COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:h5repack${tgt_file_ext}> ${ARGN} ${PROJECT_BINARY_DIR}/testfiles/${resultfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${resultfile}
)
- else ()
- add_test (
- NAME H5REPACK_CMP-${testname}-clear-objects
- COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${testname}.${resultfile}
- )
- set_tests_properties (H5REPACK_CMP-${testname}-clear-objects PROPERTIES
- FIXTURES_REQUIRED clear_h5repack
+ set_tests_properties (H5REPACK_CMP-${testname} PROPERTIES
+ DEPENDS H5REPACK_CMP-${testname}-clear-objects
)
+ else ()
add_test (
NAME H5REPACK_CMP-${testname}
COMMAND "${CMAKE_COMMAND}"
@@ -353,6 +358,13 @@
DEPENDS H5REPACK_CMP-${testname}-clear-objects
)
endif ()
+ add_test (
+ NAME H5REPACK_CMP-${testname}-clean-objects
+ COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${testname}.${resultfile}
+ )
+ set_tests_properties (H5REPACK_CMP-${testname}-clean-objects PROPERTIES
+ DEPENDS H5REPACK_CMP-${testname}
+ )
endif ()
endmacro ()
@@ -366,24 +378,18 @@
set_property(TEST H5REPACK_MASK-${testname} PROPERTY DISABLED)
endif ()
else ()
+ add_test (
+ NAME H5REPACK_MASK-${testname}-clear-objects
+ COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${testname}.${resultfile}
+ )
# If using memchecker add tests without using scripts
if (HDF5_ENABLE_USING_MEMCHECKER)
add_test (
NAME H5REPACK_MASK-${testname}
COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:h5repack${tgt_file_ext}> ${ARGN} ${PROJECT_BINARY_DIR}/testfiles/${resultfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${resultfile}
)
- set_tests_properties (H5REPACK_MASK-${testname} PROPERTIES
- FIXTURES_REQUIRED clear_h5repack
- )
else (HDF5_ENABLE_USING_MEMCHECKER)
add_test (
- NAME H5REPACK_MASK-${testname}-clear-objects
- COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${testname}.${resultfile}
- )
- set_tests_properties (H5REPACK_MASK-${testname}-clear-objects PROPERTIES DEPENDS ${last_test}
- FIXTURES_REQUIRED clear_h5repack
- )
- add_test (
NAME H5REPACK_MASK-${testname}
COMMAND "${CMAKE_COMMAND}"
-D "TEST_EMULATOR=${CMAKE_CROSSCOMPILING_EMULATOR}"
@@ -397,8 +403,17 @@
-D "TEST_ERRREF=${result_errcheck}"
-P "${HDF_RESOURCES_DIR}/grepTest.cmake"
)
- set_tests_properties (H5REPACK_MASK-${testname} PROPERTIES DEPENDS H5REPACK_MASK-${testname}-clear-objects)
endif ()
+ set_tests_properties (H5REPACK_MASK-${testname} PROPERTIES
+ DEPENDS H5REPACK_MASK-${testname}-clear-objects
+ )
+ add_test (
+ NAME H5REPACK_MASK-${testname}-clean-objects
+ COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${testname}.${resultfile}
+ )
+ set_tests_properties (H5REPACK_MASK-${testname}-clean-objects PROPERTIES
+ DEPENDS H5REPACK_MASK-${testname}
+ )
endif ()
endmacro ()
@@ -416,6 +431,62 @@
NAME H5REPACK_DMP-${testname}-clear-objects
COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${testname}.${resultfile}
)
+ add_test (
+ NAME H5REPACK_DMP-${testname}
+ COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:h5repack${tgt_file_ext}> ${ARGN} ${PROJECT_BINARY_DIR}/testfiles/${resultfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${resultfile}
+ )
+ set_tests_properties (H5REPACK_DMP-${testname} PROPERTIES
+ DEPENDS H5REPACK_DMP-${testname}-clear-objects
+ )
+ if (NOT HDF5_ENABLE_USING_MEMCHECKER)
+ add_test (
+ NAME H5REPACK_DMP-h5dump-${testname}
+ COMMAND "${CMAKE_COMMAND}"
+ -D "TEST_EMULATOR=${CMAKE_CROSSCOMPILING_EMULATOR}"
+ -D "TEST_PROGRAM=$<TARGET_FILE:h5dump${tgt_file_ext}>"
+ -D "TEST_ARGS:STRING=-q;creation_order;-pH;out-${testname}.${resultfile}"
+ -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/testfiles"
+ -D "TEST_OUTPUT=${resultfile}-${testname}.out"
+ -D "TEST_EXPECT=${resultcode}"
+ -D "TEST_REFERENCE=${testname}.${resultfile}.ddl"
+ -P "${HDF_RESOURCES_DIR}/runTest.cmake"
+ )
+ set_tests_properties (H5REPACK_DMP-h5dump-${testname} PROPERTIES
+ DEPENDS H5REPACK_DMP-${testname}
+ )
+ add_test (
+ NAME H5REPACK_DMP-${testname}-clean-objects
+ COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${testname}.${resultfile}
+ )
+ set_tests_properties (H5REPACK_DMP-${testname}-clean-objects PROPERTIES
+ DEPENDS H5REPACK_DMP-h5dump-${testname}
+ )
+ else ()
+ add_test (
+ NAME H5REPACK_DMP-${testname}-clean-objects
+ COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${testname}.${resultfile}
+ )
+ set_tests_properties (H5REPACK_DMP-${testname}-clean-objects PROPERTIES
+ DEPENDS H5REPACK_DMP-${testname}
+ )
+ endif ()
+ endif ()
+ endmacro ()
+
+ macro (ADD_H5_DMP_NO_OPT_TEST testname testtype resultcode resultfile)
+ if ("${testtype}" STREQUAL "SKIP")
+ if (NOT HDF5_ENABLE_USING_MEMCHECKER)
+ add_test (
+ NAME H5REPACK_DMP-${testname}
+ COMMAND ${CMAKE_COMMAND} -E echo "SKIP ${ARGN} ${PROJECT_BINARY_DIR}/testfiles/${resultfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${resultfile}"
+ )
+ set_property(TEST H5REPACK_DMP-${testname} PROPERTY DISABLED)
+ endif ()
+ else ()
+ add_test (
+ NAME H5REPACK_DMP-${testname}-clear-objects
+ COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${testname}.${resultfile}
+ )
set_tests_properties (H5REPACK_DMP-${testname}-clear-objects PROPERTIES
FIXTURES_REQUIRED clear_h5repack
)
@@ -432,7 +503,7 @@
COMMAND "${CMAKE_COMMAND}"
-D "TEST_EMULATOR=${CMAKE_CROSSCOMPILING_EMULATOR}"
-D "TEST_PROGRAM=$<TARGET_FILE:h5dump${tgt_file_ext}>"
- -D "TEST_ARGS:STRING=-q;creation_order;-pH;out-${testname}.${resultfile}"
+ -D "TEST_ARGS:STRING=out-${testname}.${resultfile}"
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/testfiles"
-D "TEST_OUTPUT=${resultfile}-${testname}.out"
-D "TEST_EXPECT=${resultcode}"
@@ -460,9 +531,6 @@
NAME H5REPACK_DIFF-${testname}-clear-objects
COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${testname}.${testfile}
)
- set_tests_properties (H5REPACK_DIFF-${testname}-clear-objects PROPERTIES
- FIXTURES_REQUIRED clear_h5repack
- )
add_test (
NAME H5REPACK_DIFF-${testname}
COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:h5repack${tgt_file_ext}> --enable-error-stack ${ARGN} ${PROJECT_BINARY_DIR}/testfiles/${testfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${testfile}
@@ -485,6 +553,13 @@
set_tests_properties (H5REPACK_DIFF-${testname}_DFF PROPERTIES
DEPENDS H5REPACK_DIFF-${testname}
)
+ add_test (
+ NAME H5REPACK_DIFF-${testname}-clean-objects
+ COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${testname}.${testfile}
+ )
+ set_tests_properties (H5REPACK_DIFF-${testname}-clean-objects PROPERTIES
+ DEPENDS H5REPACK_DIFF-${testname}_DFF
+ )
endif ()
endmacro ()
@@ -502,9 +577,6 @@
NAME H5REPACK_STAT-${testname}-clear-objects
COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${statarg}.${resultfile}
)
- set_tests_properties (H5REPACK_STAT-${testname}-clear-objects PROPERTIES
- FIXTURES_REQUIRED clear_h5repack
- )
add_test (
NAME H5REPACK_STAT-${testname}
COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:h5repack${tgt_file_ext}> ${ARGN} ${PROJECT_BINARY_DIR}/testfiles/${resultfile} ${PROJECT_BINARY_DIR}/testfiles/out-${statarg}.${resultfile}
@@ -526,7 +598,22 @@
-P "${HDF_RESOURCES_DIR}/runTest.cmake"
)
set_tests_properties (H5REPACK_STAT-h5stat-${testname} PROPERTIES
- DEPENDS "H5REPACK_STAT-${testname}"
+ DEPENDS H5REPACK_STAT-${testname}
+ )
+ add_test (
+ NAME H5REPACK_STAT-${testname}-clean-objects
+ COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${statarg}.${resultfile}
+ )
+ set_tests_properties (H5REPACK_STAT-${testname}-clean-objects PROPERTIES
+ DEPENDS H5REPACK_STAT-h5stat-${testname}
+ )
+ else ()
+ add_test (
+ NAME H5REPACK_STAT-${testname}-clean-objects
+ COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${statarg}.${resultfile}
+ )
+ set_tests_properties (H5REPACK_STAT-${testname}-clean-objects PROPERTIES
+ DEPENDS H5REPACK_STAT-${testname}
)
endif ()
endif ()
@@ -547,9 +634,6 @@
NAME H5REPACK_VERIFY_LAYOUT-${testname}-clear-objects
COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${testname}.${testfile}
)
- set_tests_properties (H5REPACK_VERIFY_LAYOUT-${testname}-clear-objects PROPERTIES
- FIXTURES_REQUIRED clear_h5repack
- )
add_test (
NAME H5REPACK_VERIFY_LAYOUT-${testname}
COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:h5repack${tgt_file_ext}> ${ARGN} ${PROJECT_BINARY_DIR}/testfiles/${testfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${testfile}
@@ -608,6 +692,13 @@
DEPENDS H5REPACK_VERIFY_LAYOUT-${testname}_DFF
)
endif ()
+ add_test (
+ NAME H5REPACK_VERIFY_LAYOUT-${testname}-clean-objects
+ COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${testname}.${testfile}
+ )
+ set_tests_properties (H5REPACK_VERIFY_LAYOUT-${testname}-clean-objects PROPERTIES
+ DEPENDS H5REPACK_VERIFY_LAYOUT-${testname}_DMP
+ )
endif ()
endif ()
endmacro ()
@@ -628,9 +719,6 @@
NAME H5REPACK_VERIFY_LAYOUT_VDS-${testname}-clear-objects
COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${testname}.${testfile}
)
- set_tests_properties (H5REPACK_VERIFY_LAYOUT_VDS-${testname}-clear-objects PROPERTIES
- FIXTURES_REQUIRED clear_h5repack
- )
add_test (
NAME H5REPACK_VERIFY_LAYOUT_VDS-${testname}
COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:h5repack${tgt_file_ext}> ${ARGN} ${PROJECT_BINARY_DIR}/testfiles/${testfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${testfile}
@@ -655,6 +743,13 @@
WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles"
DEPENDS H5REPACK_VERIFY_LAYOUT_VDS-${testname}
)
+ add_test (
+ NAME H5REPACK_VERIFY_LAYOUT_VDS-${testname}-clean-objects
+ COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${testname}.${testfile}
+ )
+ set_tests_properties (H5REPACK_VERIFY_LAYOUT_VDS-${testname}-clean-objects PROPERTIES
+ DEPENDS H5REPACK_VERIFY_LAYOUT_VDS-${testname}_DMP
+ )
endif ()
endif ()
endmacro ()
@@ -666,9 +761,6 @@
NAME H5REPACK_VERIFY_SUPERBLOCK-${testname}-clear-objects
COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${testname}.${testfile}
)
- set_tests_properties (H5REPACK_VERIFY_SUPERBLOCK-${testname}-clear-objects PROPERTIES
- FIXTURES_REQUIRED clear_h5repack
- )
add_test (
NAME H5REPACK_VERIFY_SUPERBLOCK-${testname}
COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:h5repack${tgt_file_ext}> -j;${lowbound};-k;${highbound} ${PROJECT_BINARY_DIR}/testfiles/${testfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${testfile}
@@ -692,6 +784,13 @@
set_tests_properties (H5REPACK_VERIFY_SUPERBLOCK-${testname}_DMP PROPERTIES
DEPENDS H5REPACK_VERIFY_SUPERBLOCK-${testname}
)
+ add_test (
+ NAME H5REPACK_VERIFY_SUPERBLOCK-${testname}-clean-objects
+ COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${testname}.${testfile}
+ )
+ set_tests_properties (H5REPACK_VERIFY_SUPERBLOCK-${testname}-clean-objects PROPERTIES
+ DEPENDS H5REPACK_VERIFY_SUPERBLOCK-${testname}_DMP
+ )
endif ()
endmacro ()
@@ -700,9 +799,6 @@
NAME ADD_H5_VERIFY_INVALIDBOUNDS-h5repack-${testname}-clear-objects
COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${testname}.${testfile}
)
- set_tests_properties (ADD_H5_VERIFY_INVALIDBOUNDS-h5repack-${testname}-clear-objects PROPERTIES
- FIXTURES_REQUIRED clear_h5repack
- )
add_test (
NAME ADD_H5_VERIFY_INVALIDBOUNDS-h5repack-${testname}
COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:h5repack${tgt_file_ext}> -j;${lowbound};-k;${highbound} ${PROJECT_BINARY_DIR}/testfiles/${testfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${testfile}
@@ -711,6 +807,13 @@
DEPENDS ADD_H5_VERIFY_INVALIDBOUNDS-h5repack-${testname}-clear-objects
WILL_FAIL "true"
)
+ add_test (
+ NAME ADD_H5_VERIFY_INVALIDBOUNDS-h5repack-${testname}-clean-objects
+ COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${testname}.${testfile}
+ )
+ set_tests_properties (ADD_H5_VERIFY_INVALIDBOUNDS-h5repack-${testname}-clean-objects PROPERTIES
+ DEPENDS ADD_H5_VERIFY_INVALIDBOUNDS-h5repack-${testname}
+ )
endmacro ()
macro (ADD_H5_TEST_META testname testfile)
@@ -719,14 +822,7 @@
NAME H5REPACK_META-${testname}-clear-objects
COMMAND ${CMAKE_COMMAND} -E remove
testfiles/out-${testname}_N.${testname}.h5
- testfiles/out-${testname}_N.${testname}.out
- testfiles/out-${testname}_N.${testname}.out.err
testfiles/out-${testname}_M.${testname}.h5
- testfiles/out-${testname}_M.${testname}.out
- testfiles/out-${testname}_M.${testname}.out.err
- )
- set_tests_properties (H5REPACK_META-${testname}-clear-objects PROPERTIES
- FIXTURES_REQUIRED clear_h5repack
)
add_test (
NAME H5REPACK_META-${testname}_N
@@ -775,7 +871,7 @@
add_test (NAME H5REPACK_META-${testname}
COMMAND "${CMAKE_COMMAND}"
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/testfiles"
- -D "TEST_ONEFILE=out-${testname}_N.${testname}.out"
+ -D "TEST_ONEFILE=out-${testname}_N.${testname}.h5"
-D "TEST_TWOFILE=out-${testname}_M.${testname}.h5"
-D "TEST_FUNCTION=LTEQ"
-P "${HDF_RESOURCES_DIR}/fileCompareTest.cmake"
@@ -788,6 +884,15 @@
set_tests_properties (H5REPACK_META-${testname} PROPERTIES
DEPENDS H5REPACK_META-${testname}_M_DFF
)
+ add_test (
+ NAME H5REPACK_META-${testname}-clean-objects
+ COMMAND ${CMAKE_COMMAND} -E remove
+ testfiles/out-${testname}_N.${testname}.h5
+ testfiles/out-${testname}_M.${testname}.h5
+ )
+ set_tests_properties (H5REPACK_META-${testname}-clean-objects PROPERTIES
+ DEPENDS H5REPACK_META-${testname}
+ )
endmacro ()
macro (ADD_H5_UD_TEST testname resultcode resultfile)
@@ -797,9 +902,6 @@
NAME H5REPACK_UD-${testname}-clear-objects
COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${testname}.${resultfile}
)
- set_tests_properties (H5REPACK_UD-${testname}-clear-objects PROPERTIES
- FIXTURES_REQUIRED clear_h5repack
- )
add_test (
NAME H5REPACK_UD-${testname}
COMMAND "${CMAKE_COMMAND}"
@@ -835,7 +937,14 @@
-P "${HDF_RESOURCES_DIR}/runTest.cmake"
)
set_tests_properties (H5REPACK_UD-${testname}-h5dump PROPERTIES
- DEPENDS "H5REPACK_UD-${testname}"
+ DEPENDS H5REPACK_UD-${testname}
+ )
+ add_test (
+ NAME H5REPACK_UD-${testname}-clean-objects
+ COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${testname}.${resultfile}
+ )
+ set_tests_properties (H5REPACK_UD-${testname}-clean-objects PROPERTIES
+ DEPENDS H5REPACK_UD-${testname}-h5dump
)
endif ()
endmacro ()
@@ -859,7 +968,6 @@
)
set_tests_properties (H5REPACK_EXTERNAL-${testname}-clear-objects PROPERTIES
WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles"
- FIXTURES_REQUIRED clear_h5repack
)
# make sure external data file 0 is available
add_test (
@@ -934,6 +1042,14 @@
DEPENDS H5REPACK_EXTERNAL-${testname}_DFF4
WILL_FAIL "true"
)
+ add_test (
+ NAME H5REPACK_EXTERNAL-${testname}-clean-objects
+ COMMAND ${CMAKE_COMMAND} -E remove h5repack_${testfile}_rp.h5
+ )
+ set_tests_properties (H5REPACK_EXTERNAL-${testname}-clean-objects PROPERTIES
+ WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles"
+ DEPENDS H5REPACK_EXTERNAL-${testname}_DFF_FAIL
+ )
endif ()
endif ()
endmacro ()
@@ -976,123 +1092,6 @@
set (FILEV4 4_vds.h5)
set (FILEV5 5_vds.h5)
- if (HDF5_ENABLE_USING_MEMCHECKER)
- # Remove any output file left over from previous test run
- set (LIST_TO_CLEAR
- out-family.tfamily%05d.h5
- out-HDFFV-7840.h5diff_attr1.h5
- out-attr.h5repack_attr.h5
- out-native_attr.h5repack_attr.h5
- out-HDFFV-5932.h5repack_attr_refs.h5
- out-deflate_copy.h5repack_deflate.h5
- out-deflate_remove.h5repack_deflate.h5
- out-early.h5repack_early.h5
- out-fill.h5repack_fill.h5
- out-native_fill.h5repack_fill.h5
- out-gzip_verbose_filters.h5repack_filters.h5
- out-fletcher_copy.h5repack_fletcher.h5
- out-fletcher_remove.h5repack_fletcher.h5
- out-hlink.h5repack_hlink.h5
- out-chunk_18x13.h5repack_layout.h5
- out-chunk_20x10.h5repack_layout.h5
- out-chunk_compa.h5repack_layout.h5
- out-chunk_conti.h5repack_layout.h5
- out-compa.h5repack_layout.h5
- out-conti.h5repack_layout.h5
- out-deflate_file.h5repack_layout.h5
- out-deflate_limit.h5repack_layout.h5
- out-dset2_chunk_20x10.h5repack_layout.h5
- out-dset2_compa.h5repack_layout.h5
- out-dset2_conti.h5repack_layout.h5
- out-dset_compa_chunk.h5repack_layout.h5
- out-dset_compa_compa.h5repack_layout.h5
- out-dset_compa_conti.h5repack_layout.h5
- out-dset_conti_chunk.h5repack_layout.h5
- out-dset_conti_compa.h5repack_layout.h5
- out-dset_conti_conti.h5repack_layout.h5
- out-fletcher_all.h5repack_layout.h5
- out-fletcher_individual.h5repack_layout.h5
- out-global_filters.h5repack_layout.h5
- out-gzip_all.h5repack_layout.h5
- out-gzip_individual.h5repack_layout.h5
- out-layout.h5repack_layout.h5
- out-layout_long_switches.h5repack_layout.h5
- out-layout_short_switches.h5repack_layout.h5
- out-old_style_layout_short_switches.h5repack_layout.h5
- out-plugin_test.h5repack_layout.h5
- out-shuffle_all.h5repack_layout.h5
- out-shuffle_individual.h5repack_layout.h5
- out-upgrade_layout.h5repack_layouto.h5
- out-contig_small_compa.h5repack_layout2.h5
- out-contig_small_fixed_compa.h5repack_layout2.h5
- out-ckdim_biger.h5repack_layout3.h5
- out-ckdim_smaller.h5repack_layout3.h5
- out-chunk2chunk.h5repack_layout3.h5
- out-chunk2compa.h5repack_layout3.h5
- out-chunk2conti.h5repack_layout3.h5
- out-error1.h5repack_layout3.h5
- out-error2.h5repack_layout3.h5
- out-error3.h5repack_layout3.h5
- out-error4.h5repack_layout3.h5
- out-committed_dt.h5repack_named_dtypes.h5
- out-nbit_add.h5repack_nbit.h5
- out-nbit_copy.h5repack_nbit.h5
- out-nbit_remove.h5repack_nbit.h5
- out-add_alignment.h5repack_objs.h5
- out-add_userblock.h5repack_objs.h5
- out-objs.h5repack_objs.h5
- out-gt_mallocsize.h5repack_objs.h5
- out-bug1814.h5repack_refs.h5
- out-shuffle_copy.h5repack_shuffle.h5
- out-shuffle_remove.h5repack_shuffle.h5
- out-scale_add.h5repack_soffset.h5
- out-scale_copy.h5repack_soffset.h5
- out-scale_remove.h5repack_soffset.h5
- out-meta_short_M.meta_short.h5
- out-meta_short_N.meta_short.h5
- out-meta_long_M.meta_long.h5
- out-meta_long_N.meta_long.h5
- out-vds_compa.4_vds.h5
- out-vds_conti.4_vds.h5
- out-vds_chunk2x5x8.3_1_vds.h5
- out-vds_chunk3x6x9.2_vds.h5
- out-vds_dset_chunk20x10x5.1_vds.h5
- )
-
- set (LIST_TO_CLEAR ${LIST_TO_CLEAR} ${LIST_OTHER_TEST_FILES})
-
- foreach (h5_file ${LIST_HDF5_TEST_FILES})
- get_filename_component(fname "${h5_file}" NAME)
- set (LIST_TO_CLEAR ${LIST_TO_CLEAR}
- ${h5_file}.h5
- )
- endforeach ()
-
- foreach (h5_file ${LIST_TST_TEST_FILES})
- get_filename_component(fname "${h5_file}" NAME)
- set (LIST_TO_CLEAR ${LIST_TO_CLEAR}
- ${h5_file}.tst.out
- ${h5_file}.tst.out.err
- )
- endforeach ()
-
- foreach (h5_file ${LIST_DDL_TEST_FILES})
- get_filename_component(fname "${h5_file}" NAME)
- set (LIST_TO_CLEAR ${LIST_TO_CLEAR}
- ${h5_file}.ddl.out
- ${h5_file}.ddl.out.err
- )
- endforeach ()
- add_test (
- NAME H5REPACK-clearall-objects
- COMMAND ${CMAKE_COMMAND} -E remove ${LIST_TO_CLEAR}
- )
- set_tests_properties (H5REPACK-clearall-objects PROPERTIES
- FIXTURES_SETUP clear_h5repack
- WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles"
- )
- endif ()
-
ADD_HELP_TEST(help 0 -h)
add_test (NAME H5REPACK-testh5repack_detect_szip COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:testh5repack_detect_szip>)
@@ -1108,7 +1107,7 @@
set (passRegex "no")
set_tests_properties (H5REPACK-testh5repack_detect_szip PROPERTIES PASS_REGULAR_EXPRESSION "no")
endif ()
- set_tests_properties (H5REPACK-testh5repack_detect_szip PROPERTIES DEPENDS H5REPACK-clearall-objects)
+ set_tests_properties (H5REPACK-testh5repack_detect_szip PROPERTIES DEPENDS H5REPACK-h5repack-${testname})
set (last_test "H5REPACK-testh5repack_detect_szip")
# add_test (NAME H5REPACK-h5repacktest COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:h5repacktest>)
diff --git a/tools/test/h5repack/CMakeVFDTests.cmake b/tools/test/h5repack/CMakeVFDTests.cmake
index f8ac10b..335ac28 100644
--- a/tools/test/h5repack/CMakeVFDTests.cmake
+++ b/tools/test/h5repack/CMakeVFDTests.cmake
@@ -22,59 +22,73 @@ H5_CREATE_VFD_DIR()
### T H E T E S T S M A C R O S ###
##############################################################################
##############################################################################
-
+set (H5REPACK_CLEANFILES
+ bounds_latest_latest.h5
+ h5repack_attr.h5
+ h5repack_attr_refs.h5
+ h5repack_deflate.h5
+ h5repack_early.h5
+ h5repack_ext.h5
+ h5repack_fill.h5
+ h5repack_filters.h5
+ h5repack_fletcher.h5
+ h5repack_hlink.h5
+ h5repack_layout.h5
+ h5repack_layouto.h5
+ h5repack_layout2.h5
+ h5repack_layout3.h5
+ h5repack_layout.UD.h5
+ h5repack_named_dtypes.h5
+ h5repack_nested_8bit_enum.h5
+ h5repack_nested_8bit_enum_deflated.h5
+ h5repack_nbit.h5
+ h5repack_objs.h5
+ h5repack_refs.h5
+ h5repack_shuffle.h5
+ h5repack_soffset.h5
+ h5repack_szip.h5
+ # fsm
+ h5repack_aggr.h5
+ h5repack_fsm_aggr_nopersist.h5
+ h5repack_fsm_aggr_persist.h5
+ h5repack_none.h5
+ h5repack_paged_nopersist.h5
+ h5repack_paged_persist.h5
+)
macro (ADD_VFD_TEST vfdname resultcode)
if (NOT HDF5_ENABLE_USING_MEMCHECKER)
add_test (
NAME H5REPACK-${vfdname}-h5repacktest-clear-objects
- COMMAND ${CMAKE_COMMAND} -E remove
- bounds_latest_latest.h5
- h5repack_attr.h5
- h5repack_attr_refs.h5
- h5repack_deflate.h5
- h5repack_early.h5
- h5repack_ext.h5
- h5repack_fill.h5
- h5repack_filters.h5
- h5repack_fletcher.h5
- h5repack_hlink.h5
- h5repack_layout.h5
- h5repack_layouto.h5
- h5repack_layout2.h5
- h5repack_layout3.h5
- h5repack_layout.UD.h5
- h5repack_named_dtypes.h5
- h5repack_nested_8bit_enum.h5
- h5repack_nested_8bit_enum_deflated.h5
- h5repack_nbit.h5
- h5repack_objs.h5
- h5repack_refs.h5
- h5repack_shuffle.h5
- h5repack_soffset.h5
- h5repack_szip.h5
- # fsm
- h5repack_aggr.h5
- h5repack_fsm_aggr_nopersist.h5
- h5repack_fsm_aggr_persist.h5
- h5repack_none.h5
- h5repack_paged_nopersist.h5
- h5repack_paged_persist.h5
+ COMMAND ${CMAKE_COMMAND} -E remove ${H5REPACK_CLEANFILES}
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/${vfdname}
)
- add_test (
- NAME H5REPACK_VFD-${vfdname}-h5repacktest
- COMMAND "${CMAKE_COMMAND}"
- -D "TEST_EMULATOR=${CMAKE_CROSSCOMPILING_EMULATOR}"
- -D "TEST_PROGRAM=$<TARGET_FILE:h5repacktest>"
- -D "TEST_ARGS:STRING="
- -D "TEST_VFD:STRING=${vfdname}"
- -D "TEST_EXPECT=${resultcode}"
- -D "TEST_OUTPUT=${vfdname}-h5repacktest.out"
- -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${vfdname}"
- -P "${HDF_RESOURCES_DIR}/vfdTest.cmake"
- )
- set_tests_properties (H5REPACK_VFD-${vfdname}-h5repacktest PROPERTIES DEPENDS H5REPACK_VFD-${vfdname}-h5repacktest-clear-objects)
- set_tests_properties (H5REPACK_VFD-${vfdname}-h5repacktest PROPERTIES TIMEOUT ${CTEST_SHORT_TIMEOUT})
+ if (NOT "h5repacktest" IN_LIST H5REPACK_VFD_${vfdname}_SKIP_TESTS)
+ add_test (
+ NAME H5REPACK_VFD-${vfdname}-h5repacktest
+ COMMAND "${CMAKE_COMMAND}"
+ -D "TEST_EMULATOR=${CMAKE_CROSSCOMPILING_EMULATOR}"
+ -D "TEST_PROGRAM=$<TARGET_FILE:h5repacktest>"
+ -D "TEST_ARGS:STRING="
+ -D "TEST_VFD:STRING=${vfdname}"
+ -D "TEST_EXPECT=${resultcode}"
+ -D "TEST_OUTPUT=${vfdname}-h5repacktest.out"
+ -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${vfdname}"
+ -P "${HDF_RESOURCES_DIR}/vfdTest.cmake"
+ )
+ set_tests_properties (H5REPACK_VFD-${vfdname}-h5repacktest PROPERTIES
+ DEPENDS H5REPACK_VFD-${vfdname}-h5repacktest-clear-objects
+ TIMEOUT ${CTEST_SHORT_TIMEOUT}
+ )
+ add_test (
+ NAME H5REPACK_VFD-${vfdname}-h5repacktest-clean-objects
+ COMMAND ${CMAKE_COMMAND} -E remove
+ ${H5REPACK_CLEANFILES}
+ )
+ set_tests_properties (H5REPACK_VFD-${vfdname}-h5repacktest-clean-objects PROPERTIES
+ DEPENDS H5REPACK_VFD-${vfdname}-h5repacktest
+ WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/${vfdname}
+ )
+ endif ()
endif ()
endmacro ()
diff --git a/tools/test/h5repack/h5repack.sh.in b/tools/test/h5repack/h5repack.sh.in
index 7776c3e..f6e981a 100644
--- a/tools/test/h5repack/h5repack.sh.in
+++ b/tools/test/h5repack/h5repack.sh.in
@@ -12,10 +12,6 @@
#
# Tests for the h5repack tool
#
-# Modification:
-# Pedro Vicente Nunes, 11/15/2006
-# Added $FILEN variables for file names
-#
srcdir=@srcdir@
@@ -1129,6 +1125,56 @@ TOOLTEST_DUMP()
rm -f $outfile
}
+# This is same as TOOLTEST_DUMP() with comparing h5dump output
+# without any option
+#
+TOOLTEST_DUMP_NO_OPT()
+{
+ infile=$2
+ outfile=out-$1.$2
+ expect="$TESTDIR/$1.$2.ddl"
+ actual="$TESTDIR/out-$1.$2.out"
+ actual_err="$TESTDIR/out-$1.$2.err"
+
+ shift
+ shift
+
+ # Run test.
+ TESTING $H5REPACK $@
+ (
+ cd $TESTDIR
+ $RUNSERIAL $H5REPACK_BIN "$@" $infile $outfile
+ ) >$actual 2>$actual_err
+ RET=$?
+ if [ $RET != 0 ] ; then
+ echo "*FAILED*"
+ nerrors="`expr $nerrors + 1`"
+ else
+ echo " PASSED"
+ VERIFY h5dump output $@
+ (
+ cd $TESTDIR
+ $RUNSERIAL $H5DUMP_BIN $outfile
+ ) >$actual 2>$actual_err
+ cat $actual_err >> $actual
+
+ RET=$?
+
+ fi
+
+ if cmp -s $expect $actual; then
+ echo " PASSED"
+ else
+ echo "*FAILED*"
+ echo " Expected result (*.ddl) differs from actual result (*.out)"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && diff -c $expect $actual |sed 's/^/ /'
+ fi
+
+ rm -f $actual $actual_err
+ rm -f $outfile
+}
+
# This is similar to TOOLTEST_DUMP().
# Test h5repack with options added for paged aggregation.
# h5stat is used on the repacked file and the expected output
diff --git a/tools/test/h5repack/h5repack_plugin.sh.in b/tools/test/h5repack/h5repack_plugin.sh.in
index 0331d85..bd7c3a1 100644
--- a/tools/test/h5repack/h5repack_plugin.sh.in
+++ b/tools/test/h5repack/h5repack_plugin.sh.in
@@ -3,7 +3,7 @@
# Copyright by The HDF Group.
# All rights reserved.
#
-# This file is part of HDF5. The full HDF5 copyright notice, including
+# This file is part of HDF5. The full HDF5 copyright notice, including
# terms governing use, modification, and redistribution, is contained in
# the COPYING file, which can be found at the root of the source code
# distribution tree, or in https://www.hdfgroup.org/licenses.
@@ -98,7 +98,7 @@ if [ $? != 0 ]; then
fi
# setup plugin path
-ENVCMD="env HDF5_PLUGIN_PATH=../${PLUGIN_LIBDIR}"
+ENVCMD="env HDF5_PLUGIN_PATH=../${PLUGIN_LIBDIR}:${HDF5_PLUGIN_PATH}"
COPY_TESTFILES_TO_TESTDIR()
{