From bddae3196fd1aa2504207f1dca819ba2431eb005 Mon Sep 17 00:00:00 2001 From: "H. Joe Lee" Date: Thu, 1 Feb 2024 11:02:47 -0600 Subject: Add h5dump tests that require subfiling VFD (#3879) --- tools/test/h5dump/CMakeVFDTests.cmake | 45 ++++++++++++++++++++- .../testfiles/test_subfiling_precreate_rank_0.h5 | Bin 0 -> 211 bytes ...st_subfiling_precreate_rank_0.h5.subfile.config | 2 + ...st_subfiling_precreate_rank_0.h5.subfile_1_of_2 | Bin 0 -> 22497827 bytes ...st_subfiling_precreate_rank_0.h5.subfile_2_of_2 | Bin 0 -> 22495773 bytes .../testfiles/test_subfiling_stripe_sizes.h5 | Bin 0 -> 96 bytes .../test_subfiling_stripe_sizes.h5.subfile.config | 2 + .../test_subfiling_stripe_sizes.h5.subfile_1_of_1 | Bin 0 -> 889 bytes 8 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 tools/test/h5dump/testfiles/test_subfiling_precreate_rank_0.h5 create mode 100644 tools/test/h5dump/testfiles/test_subfiling_precreate_rank_0.h5.subfile.config create mode 100644 tools/test/h5dump/testfiles/test_subfiling_precreate_rank_0.h5.subfile_1_of_2 create mode 100644 tools/test/h5dump/testfiles/test_subfiling_precreate_rank_0.h5.subfile_2_of_2 create mode 100644 tools/test/h5dump/testfiles/test_subfiling_stripe_sizes.h5 create mode 100644 tools/test/h5dump/testfiles/test_subfiling_stripe_sizes.h5.subfile.config create mode 100644 tools/test/h5dump/testfiles/test_subfiling_stripe_sizes.h5.subfile_1_of_1 diff --git a/tools/test/h5dump/CMakeVFDTests.cmake b/tools/test/h5dump/CMakeVFDTests.cmake index 0118725..433eced 100644 --- a/tools/test/h5dump/CMakeVFDTests.cmake +++ b/tools/test/h5dump/CMakeVFDTests.cmake @@ -24,7 +24,42 @@ set (HDF5_VFD_H5DUMP_FILES packedbits ) +set (HDF5_SF_VFD_H5DUMP_FILES + test_subfiling_stripe_sizes.h5 +) + +set (HDF5_SF2_VFD_H5DUMP_FILES + test_subfiling_precreate_rank_0.h5 +) + foreach (vfdtest ${VFD_LIST}) + if (vfdtest STREQUAL "subfiling") + foreach (h5_tfile ${HDF5_SF_VFD_H5DUMP_FILES}) + file(COPY "${PROJECT_SOURCE_DIR}/testfiles/${h5_tfile}" DESTINATION "${PROJECT_BINARY_DIR}/${vfdtest}") + execute_process( + COMMAND ls -i ${PROJECT_BINARY_DIR}/${vfdtest}/${h5_tfile} + OUTPUT_VARIABLE OUTPUT_VALUE + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + string(REGEX MATCH "^ *([0-9]+) *" INODE_VALUE "${OUTPUT_VALUE}") + string(STRIP ${INODE_VALUE} INODE_STR) + HDFTEST_COPY_FILE("${PROJECT_SOURCE_DIR}/testfiles/${h5_tfile}.subfile_1_of_1" "${PROJECT_BINARY_DIR}/${vfdtest}/${h5_tfile}.subfile_${INODE_STR}_1_of_1" "HDF5_SF_VFD_H5DUMP_files") + HDFTEST_COPY_FILE("${PROJECT_SOURCE_DIR}/testfiles/${h5_tfile}.subfile.config" "${PROJECT_BINARY_DIR}/${vfdtest}/${h5_tfile}.subfile_${INODE_STR}.config" "HDF5_SF_VFD_H5DUMP_files") + endforeach () + foreach (h5_tfile ${HDF5_SF2_VFD_H5DUMP_FILES}) + file(COPY "${PROJECT_SOURCE_DIR}/testfiles/${h5_tfile}" DESTINATION "${PROJECT_BINARY_DIR}/${vfdtest}") + execute_process( + COMMAND ls -i ${PROJECT_BINARY_DIR}/${vfdtest}/${h5_tfile} + OUTPUT_VARIABLE OUTPUT_VALUE + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + string(REGEX MATCH "^ *([0-9]+) *" INODE_VALUE "${OUTPUT_VALUE}") + string(STRIP ${INODE_VALUE} INODE_STR) + HDFTEST_COPY_FILE("${PROJECT_SOURCE_DIR}/testfiles/${h5_tfile}.subfile_1_of_2" "${PROJECT_BINARY_DIR}/${vfdtest}/${h5_tfile}.subfile_${INODE_STR}_1_of_2" "HDF5_SF2_VFD_H5DUMP_files") + HDFTEST_COPY_FILE("${PROJECT_SOURCE_DIR}/testfiles/${h5_tfile}.subfile_2_of_2" "${PROJECT_BINARY_DIR}/${vfdtest}/${h5_tfile}.subfile_${INODE_STR}_2_of_2" "HDF5_SF2_VFD_H5DUMP_files") + HDFTEST_COPY_FILE("${PROJECT_SOURCE_DIR}/testfiles/${h5_tfile}.subfile.config" "${PROJECT_BINARY_DIR}/${vfdtest}/${h5_tfile}.subfile_${INODE_STR}.config" "HDF5_SF2_VFD_H5DUMP_files") + endforeach () + endif () foreach (h5_tfile ${HDF5_VFD_H5DUMP_FILES}) HDFTEST_COPY_FILE("${PROJECT_SOURCE_DIR}/testfiles/${h5_tfile}.h5" "${PROJECT_BINARY_DIR}/${vfdtest}/${h5_tfile}.h5" "HDF5_VFD_H5DUMP_files") HDFTEST_COPY_FILE("${PROJECT_SOURCE_DIR}/expected/${h5_tfile}.ddl" "${PROJECT_BINARY_DIR}/${vfdtest}/${h5_tfile}.ddl" "HDF5_VFD_H5DUMP_files") @@ -32,6 +67,8 @@ foreach (vfdtest ${VFD_LIST}) endforeach () add_custom_target(HDF5_VFD_H5DUMP_files ALL COMMENT "Copying files needed by HDF5_VFD_H5DUMP tests" DEPENDS ${HDF5_VFD_H5DUMP_files_list}) +add_custom_target(HDF5_SF_VFD_H5DUMP_files ALL COMMENT "Copying files needed by HDF5_SF_VFD_H5DUMP tests" DEPENDS ${HDF5_SF_VFD_H5DUMP_files_list}) +add_custom_target(HDF5_SF2_VFD_H5DUMP_files ALL COMMENT "Copying files needed by HDF5_SF2_VFD_H5DUMP tests" DEPENDS ${HDF5_SF2_VFD_H5DUMP_files_list}) ############################################################################## ############################################################################## @@ -69,6 +106,12 @@ endmacro () # Run test with different Virtual File Driver foreach (vfd ${VFD_LIST}) - # test for signed/unsigned datasets + if (vfd STREQUAL "subfiling") + ADD_VFD_H5DUMP_TEST (${vfd} filedriver_subfiling 0 --enable-error-stack=2 --filedriver=subfiling test_subfiling_stripe_sizes.h5) + ADD_VFD_H5DUMP_TEST (${vfd} vfd_name_subfiling 0 --enable-error-stack=2 --vfd-name=subfiling test_subfiling_stripe_sizes.h5) + ADD_VFD_H5DUMP_TEST (${vfd} vfd_value_subfiling 0 --enable-error-stack=2 --vfd-value=12 test_subfiling_stripe_sizes.h5) + ADD_VFD_H5DUMP_TEST (${vfd} vfd_value_subfiling_2 0 --enable-error-stack=2 --vfd-value=12 -d DSET -s 0 -S 100 -c 10 test_subfiling_precreate_rank_0.h5) + endif () + # test for signed/unsigned datasets ADD_VFD_H5DUMP_TEST (${vfd} packedbits 0 --enable-error-stack packedbits.h5) endforeach () diff --git a/tools/test/h5dump/testfiles/test_subfiling_precreate_rank_0.h5 b/tools/test/h5dump/testfiles/test_subfiling_precreate_rank_0.h5 new file mode 100644 index 0000000..92abb78 Binary files /dev/null and b/tools/test/h5dump/testfiles/test_subfiling_precreate_rank_0.h5 differ diff --git a/tools/test/h5dump/testfiles/test_subfiling_precreate_rank_0.h5.subfile.config b/tools/test/h5dump/testfiles/test_subfiling_precreate_rank_0.h5.subfile.config new file mode 100644 index 0000000..fb73927 --- /dev/null +++ b/tools/test/h5dump/testfiles/test_subfiling_precreate_rank_0.h5.subfile.config @@ -0,0 +1,2 @@ +stripe_size=22495773 +subfile_count=2 diff --git a/tools/test/h5dump/testfiles/test_subfiling_precreate_rank_0.h5.subfile_1_of_2 b/tools/test/h5dump/testfiles/test_subfiling_precreate_rank_0.h5.subfile_1_of_2 new file mode 100644 index 0000000..0f7d317 Binary files /dev/null and b/tools/test/h5dump/testfiles/test_subfiling_precreate_rank_0.h5.subfile_1_of_2 differ diff --git a/tools/test/h5dump/testfiles/test_subfiling_precreate_rank_0.h5.subfile_2_of_2 b/tools/test/h5dump/testfiles/test_subfiling_precreate_rank_0.h5.subfile_2_of_2 new file mode 100644 index 0000000..fc78f6a Binary files /dev/null and b/tools/test/h5dump/testfiles/test_subfiling_precreate_rank_0.h5.subfile_2_of_2 differ diff --git a/tools/test/h5dump/testfiles/test_subfiling_stripe_sizes.h5 b/tools/test/h5dump/testfiles/test_subfiling_stripe_sizes.h5 new file mode 100644 index 0000000..d040215 Binary files /dev/null and b/tools/test/h5dump/testfiles/test_subfiling_stripe_sizes.h5 differ diff --git a/tools/test/h5dump/testfiles/test_subfiling_stripe_sizes.h5.subfile.config b/tools/test/h5dump/testfiles/test_subfiling_stripe_sizes.h5.subfile.config new file mode 100644 index 0000000..8b8b597 --- /dev/null +++ b/tools/test/h5dump/testfiles/test_subfiling_stripe_sizes.h5.subfile.config @@ -0,0 +1,2 @@ +stripe_size=12149997 +subfile_count=1 diff --git a/tools/test/h5dump/testfiles/test_subfiling_stripe_sizes.h5.subfile_1_of_1 b/tools/test/h5dump/testfiles/test_subfiling_stripe_sizes.h5.subfile_1_of_1 new file mode 100644 index 0000000..ba79d7c Binary files /dev/null and b/tools/test/h5dump/testfiles/test_subfiling_stripe_sizes.h5.subfile_1_of_1 differ -- cgit v0.12