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/CMakeVFDTests.cmake34
-rw-r--r--tools/test/h5repack/h5repacktst.c96
3 files changed, 92 insertions, 48 deletions
diff --git a/tools/test/h5repack/CMakeLists.txt b/tools/test/h5repack/CMakeLists.txt
index 0b90750..6772df6 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 (NOT ONLY_SHARED_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 (NOT ONLY_SHARED_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 NOT ONLY_SHARED_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/CMakeVFDTests.cmake b/tools/test/h5repack/CMakeVFDTests.cmake
index f8ac10b..0514bfb 100644
--- a/tools/test/h5repack/CMakeVFDTests.cmake
+++ b/tools/test/h5repack/CMakeVFDTests.cmake
@@ -17,6 +17,10 @@
##############################################################################
H5_CREATE_VFD_DIR()
+set (H5REPACK_VFD_subfiling_SKIP_TESTS
+ h5repacktest
+)
+
##############################################################################
##############################################################################
### T H E T E S T S M A C R O S ###
@@ -61,20 +65,22 @@ macro (ADD_VFD_TEST vfdname resultcode)
h5repack_paged_persist.h5
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)
+ set_tests_properties (H5REPACK_VFD-${vfdname}-h5repacktest PROPERTIES TIMEOUT ${CTEST_SHORT_TIMEOUT})
+ endif ()
endif ()
endmacro ()
diff --git a/tools/test/h5repack/h5repacktst.c b/tools/test/h5repack/h5repacktst.c
index b89a501..da4ea54 100644
--- a/tools/test/h5repack/h5repacktst.c
+++ b/tools/test/h5repack/h5repacktst.c
@@ -183,6 +183,7 @@ main(void)
h5_stat_t file_stat;
h5_stat_size_t fsize1, fsize2; /* file sizes */
+ hbool_t driver_is_parallel;
#if defined(H5_HAVE_FILTER_SZIP)
int szip_can_encode = 0;
#endif
@@ -206,6 +207,9 @@ main(void)
GOERROR;
PASSED();
+ if (h5_using_parallel_driver(H5P_DEFAULT, &driver_is_parallel) < 0)
+ GOERROR;
+
/*-------------------------------------------------------------------------
* Format of the tests:
*
@@ -391,7 +395,7 @@ main(void)
* file with all kinds of dataset datatypes
*-------------------------------------------------------------------------
*/
- if (!h5_using_parallel_driver(NULL)) {
+ if (!driver_is_parallel) {
TESTING(" copy of datasets (all datatypes)");
if (h5repack_init(&pack_options, 0, FALSE) < 0)
GOERROR;
@@ -1516,7 +1520,7 @@ main(void)
* test --latest options
*-------------------------------------------------------------------------
*/
- if (!h5_using_parallel_driver(NULL)) {
+ if (!driver_is_parallel) {
TESTING(" latest file format options");
if (h5repack_init(&pack_options, 0, FALSE) < 0)
GOERROR;
@@ -1759,6 +1763,10 @@ make_testfiles(void)
hid_t fcpl = H5I_INVALID_HID; /* File creation property list */
hid_t fapl = H5I_INVALID_HID; /* File access property list */
unsigned j; /* Local index variable */
+ hbool_t driver_is_parallel;
+
+ if (h5_using_parallel_driver(H5P_DEFAULT, &driver_is_parallel) < 0)
+ return -1;
/*-------------------------------------------------------------------------
* create a file for general copy test
@@ -1775,7 +1783,7 @@ make_testfiles(void)
* create another file for general copy test (all datatypes)
*-------------------------------------------------------------------------
*/
- if (!h5_using_parallel_driver(NULL)) {
+ if (!driver_is_parallel) {
if ((fid = H5Fcreate(FNAME1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0)
return -1;
if (make_all_objects(fid) < 0)
@@ -1978,7 +1986,7 @@ make_testfiles(void)
if (H5Fclose(fid) < 0)
return -1;
- if (!h5_using_parallel_driver(NULL)) {
+ if (!driver_is_parallel) {
/*-------------------------------------------------------------------------
* create obj and region reference type datasets (bug1814)
* add attribute with int type (bug1726)
@@ -2780,12 +2788,18 @@ make_nbit(hid_t loc_id)
goto error;
#ifdef H5_HAVE_PARALLEL
- /* Set up collective writes for parallel driver */
- if (h5_using_parallel_driver(NULL)) {
- if ((dxpl = H5Pcreate(H5P_DATASET_XFER)) < 0)
- goto error;
- if (H5Pset_dxpl_mpio(dxpl, H5FD_MPIO_COLLECTIVE) < 0)
+ {
+ hbool_t driver_is_parallel;
+
+ /* Set up collective writes for parallel driver */
+ if (h5_using_parallel_driver(H5P_DEFAULT, &driver_is_parallel) < 0)
goto error;
+ if (driver_is_parallel) {
+ if ((dxpl = H5Pcreate(H5P_DATASET_XFER)) < 0)
+ goto error;
+ if (H5Pset_dxpl_mpio(dxpl, H5FD_MPIO_COLLECTIVE) < 0)
+ goto error;
+ }
}
#endif
@@ -2882,12 +2896,18 @@ make_scaleoffset(hid_t loc_id)
goto error;
#ifdef H5_HAVE_PARALLEL
- /* Set up collective writes for parallel driver */
- if (h5_using_parallel_driver(NULL)) {
- if ((dxpl = H5Pcreate(H5P_DATASET_XFER)) < 0)
- goto error;
- if (H5Pset_dxpl_mpio(dxpl, H5FD_MPIO_COLLECTIVE) < 0)
+ {
+ hbool_t driver_is_parallel;
+
+ if (h5_using_parallel_driver(H5P_DEFAULT, &driver_is_parallel) < 0)
goto error;
+ /* Set up collective writes for parallel driver */
+ if (driver_is_parallel) {
+ if ((dxpl = H5Pcreate(H5P_DATASET_XFER)) < 0)
+ goto error;
+ if (H5Pset_dxpl_mpio(dxpl, H5FD_MPIO_COLLECTIVE) < 0)
+ goto error;
+ }
}
#endif
@@ -2985,12 +3005,18 @@ make_all_filters(hid_t loc_id)
goto error;
#ifdef H5_HAVE_PARALLEL
- /* Set up collective writes for parallel driver */
- if (h5_using_parallel_driver(NULL)) {
- if ((dxpl = H5Pcreate(H5P_DATASET_XFER)) < 0)
- goto error;
- if (H5Pset_dxpl_mpio(dxpl, H5FD_MPIO_COLLECTIVE) < 0)
+ {
+ hbool_t driver_is_parallel;
+
+ if (h5_using_parallel_driver(H5P_DEFAULT, &driver_is_parallel) < 0)
goto error;
+ /* Set up collective writes for parallel driver */
+ if (driver_is_parallel) {
+ if ((dxpl = H5Pcreate(H5P_DATASET_XFER)) < 0)
+ goto error;
+ if (H5Pset_dxpl_mpio(dxpl, H5FD_MPIO_COLLECTIVE) < 0)
+ goto error;
+ }
}
#endif
@@ -5888,12 +5914,18 @@ make_dset(hid_t loc_id, const char *name, hid_t sid, hid_t dcpl, void *buf)
return -1;
#ifdef H5_HAVE_PARALLEL
- /* Set up collective writes for parallel driver */
- if (h5_using_parallel_driver(NULL)) {
- if ((dxpl_id = H5Pcreate(H5P_DATASET_XFER)) < 0)
- goto out;
- if (H5Pset_dxpl_mpio(dxpl_id, H5FD_MPIO_COLLECTIVE) < 0)
+ {
+ hbool_t driver_is_parallel;
+
+ if (h5_using_parallel_driver(H5P_DEFAULT, &driver_is_parallel) < 0)
goto out;
+ /* Set up collective writes for parallel driver */
+ if (driver_is_parallel) {
+ if ((dxpl_id = H5Pcreate(H5P_DATASET_XFER)) < 0)
+ goto out;
+ if (H5Pset_dxpl_mpio(dxpl_id, H5FD_MPIO_COLLECTIVE) < 0)
+ goto out;
+ }
}
#endif
@@ -5938,12 +5970,18 @@ write_dset(hid_t loc_id, int rank, hsize_t *dims, const char *dset_name, hid_t t
goto out;
if (buf) {
#ifdef H5_HAVE_PARALLEL
- /* Set up collective writes for parallel driver */
- if (h5_using_parallel_driver(NULL)) {
- if ((dxpl_id = H5Pcreate(H5P_DATASET_XFER)) < 0)
- goto out;
- if (H5Pset_dxpl_mpio(dxpl_id, H5FD_MPIO_COLLECTIVE) < 0)
+ {
+ hbool_t driver_is_parallel;
+
+ if (h5_using_parallel_driver(H5P_DEFAULT, &driver_is_parallel) < 0)
goto out;
+ /* Set up collective writes for parallel driver */
+ if (driver_is_parallel) {
+ if ((dxpl_id = H5Pcreate(H5P_DATASET_XFER)) < 0)
+ goto out;
+ if (H5Pset_dxpl_mpio(dxpl_id, H5FD_MPIO_COLLECTIVE) < 0)
+ goto out;
+ }
}
#endif