diff options
author | Allen Byrne <byrn@hdfgroup.org> | 2016-10-27 15:04:42 (GMT) |
---|---|---|
committer | Allen Byrne <byrn@hdfgroup.org> | 2016-10-27 15:04:42 (GMT) |
commit | 5b562d9ce9b2945d0378b9c03e01f42923da80f4 (patch) | |
tree | 3fa67d9656f2b32330e3fe31996952f60f71cdb9 /tools/h5format_convert | |
parent | b34423f620b470e1c5dc38cdd3abbd5fe8adc4ec (diff) | |
download | hdf5-5b562d9ce9b2945d0378b9c03e01f42923da80f4.zip hdf5-5b562d9ce9b2945d0378b9c03e01f42923da80f4.tar.gz hdf5-5b562d9ce9b2945d0378b9c03e01f42923da80f4.tar.bz2 |
Split tools into src and test - remove folders
Diffstat (limited to 'tools/h5format_convert')
53 files changed, 0 insertions, 3578 deletions
diff --git a/tools/h5format_convert/CMakeLists.txt b/tools/h5format_convert/CMakeLists.txt deleted file mode 100644 index 7027566..0000000 --- a/tools/h5format_convert/CMakeLists.txt +++ /dev/null @@ -1,62 +0,0 @@ -cmake_minimum_required (VERSION 3.1.0) -PROJECT (HDF5_TOOLS_H5FC) - -#----------------------------------------------------------------------------- -# Setup include Directories -#----------------------------------------------------------------------------- -INCLUDE_DIRECTORIES (${HDF5_TOOLS_DIR}/lib) - -# -------------------------------------------------------------------- -# Add the h5format_convert executables -# -------------------------------------------------------------------- -add_executable (h5format_convert ${HDF5_TOOLS_H5FC_SOURCE_DIR}/h5format_convert.c) -TARGET_NAMING (h5format_convert STATIC) -TARGET_C_PROPERTIES (h5format_convert STATIC " " " ") -target_link_libraries (h5format_convert ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET}) -set_target_properties (h5format_convert PROPERTIES FOLDER tools) -set_global_variable (HDF5_UTILS_TO_EXPORT "${HDF5_UTILS_TO_EXPORT};h5format_convert") - -set (H5_DEP_EXECUTABLES h5format_convert) - -if (BUILD_TESTING) - # -------------------------------------------------------------------- - # Add the h5format_convert test executables - # -------------------------------------------------------------------- - add_executable (h5fc_chk_idx ${HDF5_TOOLS_H5FC_SOURCE_DIR}/h5fc_chk_idx.c) - TARGET_NAMING (h5fc_chk_idx STATIC) - TARGET_C_PROPERTIES (h5fc_chk_idx STATIC " " " ") - target_link_libraries (h5fc_chk_idx ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET}) - set_target_properties (h5fc_chk_idx PROPERTIES FOLDER tools) - - if (HDF5_BUILD_GENERATORS) - add_executable (h5fc_gentest ${HDF5_TOOLS_H5FC_SOURCE_DIR}/h5fc_gentest.c) - TARGET_NAMING (h5fc_gentest STATIC) - TARGET_C_PROPERTIES (h5fc_gentest STATIC " " " ") - target_link_libraries (h5fc_gentest ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET}) - set_target_properties (h5fc_gentest PROPERTIES FOLDER generator/tools) - - #add_test (NAME h5fc_gentest COMMAND $<TARGET_FILE:h5fc_gentest>) - endif (HDF5_BUILD_GENERATORS) - - include (CMakeTests.cmake) -endif (BUILD_TESTING) - -############################################################################## -############################################################################## -### I N S T A L L A T I O N ### -############################################################################## -############################################################################## - -#----------------------------------------------------------------------------- -# Rules for Installation of tools using make Install target -#----------------------------------------------------------------------------- - -#INSTALL_PROGRAM_PDB (h5format_convert ${HDF5_INSTALL_BIN_DIR} toolsapplications) - -install ( - TARGETS - h5format_convert - EXPORT - ${HDF5_EXPORTED_TARGETS} - RUNTIME DESTINATION ${HDF5_INSTALL_BIN_DIR} COMPONENT toolsapplications -) diff --git a/tools/h5format_convert/CMakeTests.cmake b/tools/h5format_convert/CMakeTests.cmake deleted file mode 100644 index 929230a..0000000 --- a/tools/h5format_convert/CMakeTests.cmake +++ /dev/null @@ -1,460 +0,0 @@ - -############################################################################## -############################################################################## -### T E S T I N G ### -############################################################################## -############################################################################## - - # -------------------------------------------------------------------- - # Copy all the HDF5 files from the test directory into the source directory - # -------------------------------------------------------------------- - set (HDF5_REFERENCE_FILES - h5fc_help.ddl - h5fc_nooption.ddl - h5fc_nonexistfile.ddl - h5fc_d_file.ddl - h5fc_dname.ddl - h5fc_nonexistdset_file.ddl - h5fc_v_non_chunked.ddl - h5fc_v_bt1.ddl - h5fc_v_ndata_bt1.ddl - h5fc_v_all.ddl - h5fc_v_n_1d.ddl - h5fc_v_n_all.ddl - h5fc_ext1_i.ddl - h5fc_ext1_s.ddl - h5fc_ext1_f.ddl - h5fc_ext2_if.ddl - h5fc_ext2_is.ddl - h5fc_ext2_sf.ddl - h5fc_ext3_isf.ddl - old_h5fc_ext1_i.ddl - old_h5fc_ext1_s.ddl - old_h5fc_ext1_f.ddl - old_h5fc_ext2_if.ddl - old_h5fc_ext2_is.ddl - old_h5fc_ext2_sf.ddl - old_h5fc_ext3_isf.ddl - h5fc_v_err.ddl - ) - set (HDF5_REFERENCE_TEST_FILES - h5fc_non_v3.h5 - h5fc_edge_v3.h5 - h5fc_ext_none.h5 - old_h5fc_ext_none.h5 - h5fc_ext1_i.h5 - h5fc_ext1_s.h5 - h5fc_ext1_f.h5 - h5fc_ext2_if.h5 - h5fc_ext2_is.h5 - h5fc_ext2_sf.h5 - h5fc_ext3_isf.h5 - old_h5fc_ext1_i.h5 - old_h5fc_ext1_s.h5 - old_h5fc_ext1_f.h5 - old_h5fc_ext2_if.h5 - old_h5fc_ext2_is.h5 - old_h5fc_ext2_sf.h5 - old_h5fc_ext3_isf.h5 - h5fc_err_level.h5 - ) - - file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles") - add_custom_target(h5fc-files ALL COMMENT "Copying files needed by h5fc tests") - - foreach (ddl_file ${HDF5_REFERENCE_FILES}) - HDFTEST_COPY_FILE("${HDF5_TOOLS_H5FC_SOURCE_DIR}/testfiles/${ddl_file}" "${PROJECT_BINARY_DIR}/testfiles/${ddl_file}" "h5fc_files") - endforeach (ddl_file ${HDF5_REFERENCE_FILES}) - - foreach (h5_file ${HDF5_REFERENCE_TEST_FILES}) - HDFTEST_COPY_FILE("${HDF5_TOOLS_H5FC_SOURCE_DIR}/testfiles/${h5_file}" "${PROJECT_BINARY_DIR}/testfiles/${h5_file}" "h5fc_files") - endforeach (h5_file ${HDF5_REFERENCE_TEST_FILES}) - add_custom_target(h5fc_files ALL COMMENT "Copying files needed by h5fc tests" DEPENDS ${h5fc_files_list}) - -############################################################################## -############################################################################## -### T H E T E S T S M A C R O S ### -############################################################################## -############################################################################## - - MACRO (ADD_H5_OUTPUT testname resultfile resultcode testfile) - # If using memchecker add tests without using scripts - if (NOT HDF5_ENABLE_USING_MEMCHECKER) - add_test ( - NAME H5FC-${testname}-clear-objects - COMMAND ${CMAKE_COMMAND} - -E remove ./testfiles/outtmp.h5 - ) - if (NOT "${last_test}" STREQUAL "") - set_tests_properties (H5FC-${testname}-clear-objects PROPERTIES DEPENDS ${last_test}) - endif (NOT "${last_test}" STREQUAL "") - if (NOT "${testfile}" STREQUAL "") - add_test ( - NAME H5FC-${testname}-${testfile}-tmpfile - COMMAND ${CMAKE_COMMAND} - -E copy_if_different ${HDF5_TOOLS_H5FC_SOURCE_DIR}/testfiles/${testfile} ./testfiles/outtmp.h5 - ) - set_tests_properties (H5FC-${testname}-${testfile}-tmpfile PROPERTIES DEPENDS "H5FC-${testname}-clear-objects") - add_test ( - NAME H5FC-${testname}-${testfile} - COMMAND "${CMAKE_COMMAND}" - -D "TEST_PROGRAM=$<TARGET_FILE:h5format_convert>" - -D "TEST_ARGS=${ARGN};outtmp.h5" - -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/testfiles" - -D "TEST_OUTPUT=${testname}.out" - -D "TEST_EXPECT=${resultcode}" - -D "TEST_REFERENCE=${resultfile}" - -P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake" - ) - set_tests_properties (H5FC-${testname}-${testfile} PROPERTIES DEPENDS "H5FC-${testname}-${testfile}-tmpfile") - set (last_test "H5FC-${testname}-${testfile}") - else (NOT "${testfile}" STREQUAL "") - add_test ( - NAME H5FC-${testname}-NA - COMMAND "${CMAKE_COMMAND}" - -D "TEST_PROGRAM=$<TARGET_FILE:h5format_convert>" - -D "TEST_ARGS=${ARGN}" - -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/testfiles" - -D "TEST_OUTPUT=${testname}.out" - -D "TEST_EXPECT=${resultcode}" - -D "TEST_REFERENCE=${resultfile}" - -P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake" - ) - set_tests_properties (H5FC-${testname}-NA PROPERTIES DEPENDS "H5FC-${testname}-clear-objects") - set (last_test "H5FC-${testname}-NA") - endif (NOT "${testfile}" STREQUAL "") - endif (NOT HDF5_ENABLE_USING_MEMCHECKER) - ENDMACRO (ADD_H5_OUTPUT) - - MACRO (ADD_H5_TEST testname resultcode testfile) - # If using memchecker add tests without using scripts - if (NOT HDF5_ENABLE_USING_MEMCHECKER) - add_test ( - NAME H5FC-${testname}-clear-objects - COMMAND ${CMAKE_COMMAND} - -E remove ./testfiles/tmp.h5 - ) - if (NOT "${last_test}" STREQUAL "") - set_tests_properties (H5FC-${testname}-clear-objects PROPERTIES DEPENDS ${last_test}) - endif (NOT "${last_test}" STREQUAL "") - add_test ( - NAME H5FC-${testname}-tmpfile - COMMAND ${CMAKE_COMMAND} - -E copy_if_different ${HDF5_TOOLS_H5FC_SOURCE_DIR}/testfiles/${testfile} testfiles/tmp.h5 - ) - set_tests_properties (H5FC-${testname}-tmpfile PROPERTIES DEPENDS "H5FC-${testname}-clear-objects") - add_test ( - NAME H5FC-${testname} - COMMAND "${CMAKE_COMMAND}" - -D "TEST_PROGRAM=$<TARGET_FILE:h5format_convert>" - -D "TEST_ARGS=${ARGN};./testfiles/tmp.h5" - -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" - -D "TEST_OUTPUT=testfiles/${testname}.out" - -D "TEST_SKIP_COMPARE=TRUE" - -D "TEST_EXPECT=${resultcode}" - -P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake" - ) - set_tests_properties (H5FC-${testname} PROPERTIES DEPENDS "H5FC-${testname}-tmpfile") - set (last_test "H5FC-${testname}") - endif (NOT HDF5_ENABLE_USING_MEMCHECKER) - ENDMACRO (ADD_H5_TEST) - - MACRO (ADD_H5_CHECK_IDX dependtest testname) - # If using memchecker add tests without using scripts - if (NOT HDF5_ENABLE_USING_MEMCHECKER) - add_test ( - NAME H5FC_CHECK_IDX-${testname} - COMMAND "$<TARGET_FILE:h5fc_chk_idx>" "./testfiles/tmp.h5" "${ARGN}" - ) - set_tests_properties (H5FC_CHECK_IDX-${testname} PROPERTIES DEPENDS "H5FC-${dependtest}") - endif (NOT HDF5_ENABLE_USING_MEMCHECKER) - ENDMACRO (ADD_H5_CHECK_IDX) - - MACRO (ADD_H5_TEST_CHECK_IDX testname resultcode testfile) - # If using memchecker add tests without using scripts - if (NOT HDF5_ENABLE_USING_MEMCHECKER) - add_test ( - NAME H5FC-${testname}-clear-objects - COMMAND ${CMAKE_COMMAND} - -E remove ./testfiles/chktmp.h5 - ) - if (NOT "${last_test}" STREQUAL "") - set_tests_properties (H5FC-${testname}-clear-objects PROPERTIES DEPENDS ${last_test}) - endif (NOT "${last_test}" STREQUAL "") - add_test ( - NAME H5FC-${testname}-tmpfile - COMMAND ${CMAKE_COMMAND} - -E copy_if_different ${HDF5_TOOLS_H5FC_SOURCE_DIR}/testfiles/${testfile} testfiles/chktmp.h5 - ) - set_tests_properties (H5FC-${testname}-tmpfile PROPERTIES DEPENDS "H5FC-${testname}-clear-objects") - add_test ( - NAME H5FC-${testname} - COMMAND "${CMAKE_COMMAND}" - -D "TEST_PROGRAM=$<TARGET_FILE:h5format_convert>" - -D "TEST_ARGS=-d;${ARGN};./testfiles/chktmp.h5" - -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" - -D "TEST_OUTPUT=testfiles/${testname}.out" - -D "TEST_SKIP_COMPARE=TRUE" - -D "TEST_EXPECT=${resultcode}" - -P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake" - ) - set_tests_properties (H5FC-${testname} PROPERTIES DEPENDS "H5FC-${testname}-tmpfile") - add_test ( - NAME H5FC_CHECK_IDX-${testname} - COMMAND "$<TARGET_FILE:h5fc_chk_idx>" "./testfiles/chktmp.h5" "${ARGN}" - ) - set_tests_properties (H5FC_CHECK_IDX-${testname} PROPERTIES DEPENDS "H5FC-${testname}") - set (last_test "H5FC_CHECK_IDX-${testname}") - endif (NOT HDF5_ENABLE_USING_MEMCHECKER) - ENDMACRO (ADD_H5_TEST_CHECK_IDX) - - MACRO (ADD_H5_H5DUMP_CHECK testname) - # If using memchecker add tests without using scripts - if (NOT HDF5_ENABLE_USING_MEMCHECKER) - add_test ( - NAME H5FC-${testname}-clear-objects - COMMAND ${CMAKE_COMMAND} - -E remove ./testfiles/dmptmp.h5 - ) - if (NOT "${last_test}" STREQUAL "") - set_tests_properties (H5FC-${testname}-clear-objects PROPERTIES DEPENDS ${last_test}) - endif (NOT "${last_test}" STREQUAL "") - add_test ( - NAME H5FC-${testname}-tmpfile - COMMAND ${CMAKE_COMMAND} - -E copy_if_different ${HDF5_TOOLS_H5FC_SOURCE_DIR}/testfiles/${testname}.h5 testfiles/dmptmp.h5 - ) - set_tests_properties (H5FC-${testname}-tmpfile PROPERTIES DEPENDS "H5FC-${testname}-clear-objects") - add_test ( - NAME H5FC-${testname} - COMMAND "${CMAKE_COMMAND}" - -D "TEST_PROGRAM=$<TARGET_FILE:h5format_convert>" - -D "TEST_ARGS=${ARGN};./testfiles/dmptmp.h5" - -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" - -D "TEST_OUTPUT=testfiles/${testname}.out" - -D "TEST_SKIP_COMPARE=TRUE" - -D "TEST_EXPECT=0" - -P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake" - ) - set_tests_properties (H5FC-${testname} PROPERTIES DEPENDS "H5FC-${testname}-tmpfile") - add_test ( - NAME H5FC_CHECK_DUMP-${testname} - COMMAND "${CMAKE_COMMAND}" - -D "TEST_PROGRAM=$<TARGET_FILE:h5dump>" - -D "TEST_ARGS:STRING=-BH;./testfiles/dmptmp.h5" - -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" - -D "TEST_OUTPUT=testfiles/${testname}.out" - -D "TEST_EXPECT=0" - -D "TEST_REFERENCE=testfiles/${testname}.ddl" - -P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake" - ) - set_tests_properties (H5FC_CHECK_DUMP-${testname} PROPERTIES DEPENDS "H5FC-${testname}") - set (last_test "H5FC_CHECK_DUMP-${testname}") - endif (NOT HDF5_ENABLE_USING_MEMCHECKER) - ENDMACRO (ADD_H5_H5DUMP_CHECK) - -############################################################################## -############################################################################## -### T H E T E S T S ### -############################################################################## -############################################################################## - - if (HDF5_ENABLE_USING_MEMCHECKER) - # Remove any output file left over from previous test run - add_test ( - NAME H5FC-clearall-objects - COMMAND ${CMAKE_COMMAND} - -E remove - h5fc_help.out - h5fc_help.out.err - h5fc_nooption.out - h5fc_nooption.out.err - h5fc_nonexistfile.out - h5fc_nonexistfile.out.err - h5fc_d_file.out - h5fc_d_file.out.err - h5fc_d_file-d.out - h5fc_d_file-d.out.err - h5fc_dname.out - h5fc_dname.out.err - h5fc_nonexistdset_file.out - h5fc_nonexistdset_file.out.err - h5fc_v_non_chunked.out - h5fc_v_non_chunked.out.err - h5fc_v_bt1.out - h5fc_v_bt1.out.err - h5fc_v_ndata_bt1.out - h5fc_v_ndata_bt1.out.err - h5fc_v_all.out - h5fc_v_all.out.err - h5fc_v_n_1d.out - h5fc_v_n_1d.out.err - h5fc_v_n_all.out - h5fc_v_n_all.out.err - h5fc_ext1_i.out - h5fc_ext1_i.out.err - h5fc_ext1_s.out - h5fc_ext1_s.out.err - h5fc_ext1_f.out - h5fc_ext1_f.out.err - h5fc_ext2_if.out - h5fc_ext2_if.out.err - h5fc_ext2_is.out - h5fc_ext2_is.out.err - h5fc_ext2_sf.out - h5fc_ext2_sf.out.err - h5fc_ext3_isf.out - h5fc_ext3_isf.out.err - old_h5fc_ext1_i.out - old_h5fc_ext1_i.out.err - old_h5fc_ext1_s.out - old_h5fc_ext1_s.out.err - old_h5fc_ext1_f.out - old_h5fc_ext1_f.out.err - old_h5fc_ext2_if.out - old_h5fc_ext2_is.out.err - old_h5fc_ext2_is.out - old_h5fc_ext2_sf.out.err - old_h5fc_ext3_isf.out - old_h5fc_ext3_isf.out.err - outtmp.h5 - tmp.h5 - chktmp.h5 - dmptmp.h5 - ) - if (NOT "${last_test}" STREQUAL "") - set_tests_properties (H5FC-clearall-objects PROPERTIES DEPENDS ${last_test}) - endif (NOT "${last_test}" STREQUAL "") - set (last_test "H5FC-clearall-objects") - endif (HDF5_ENABLE_USING_MEMCHECKER) - -# h5format_convert --help -# h5format_convert (no options) -# h5format_convert nonexist.h5 (no options, file does not exist) - ADD_H5_OUTPUT (h5fc_help h5fc_help.ddl 0 "" --help) - ADD_H5_OUTPUT (h5fc_nooption h5fc_nooption.ddl 1 "") - ADD_H5_OUTPUT (h5fc_nonexistfile h5fc_nonexistfile.ddl 1 "" nonexist.h5) -# -# -# h5format_convert -d old_h5fc_ext_none.h5 (just -d option, file exists) -# h5format_convert --dname old_h5fc_ext_none.h5 (just --dname option, file exists) -# h5format_convert --dname (just --dname option) -# h5format_convert --dname=nonexist old_h5fc_ext_none.h5 (dataset does not exist, file exists) - ADD_H5_OUTPUT (h5fc_d_file-d h5fc_d_file.ddl 1 old_h5fc_ext_none.h5 -d) - ADD_H5_OUTPUT (h5fc_d_file h5fc_d_file.ddl 1 old_h5fc_ext_none.h5 --dname) - ADD_H5_OUTPUT (h5fc_dname h5fc_dname.ddl 1 "" --dname) - ADD_H5_OUTPUT (h5fc_nonexistdset_file h5fc_nonexistdset_file.ddl 1 old_h5fc_ext_none.h5 --dname=nonexist) -# -# -# -# h5format_convert -d /DSET_CONTIGUOUS -v old_h5fc_ext_none.h5 (verbose, contiguous dataset) -# h5format_convert -d /GROUP/DSET_BT2 --verbose old_h5fc_ext_none.h5 (verbose, bt1 dataset) -# h5format_convert -d /DSET_NDATA_BT2 -v -n old_h5fc_ext_none.h5 (verbose, noop, bt1+nodata dataset) -# h5format_convert -v old_h5fc_ext_none.h5 (verbose, all datasets) - ADD_H5_OUTPUT (h5fc_v_non_chunked h5fc_v_non_chunked.ddl 0 old_h5fc_ext_none.h5 -d /DSET_CONTIGUOUS -v) - ADD_H5_OUTPUT (h5fc_v_bt1 h5fc_v_bt1.ddl 0 old_h5fc_ext_none.h5 -d /GROUP/DSET_BT2 --verbose) - ADD_H5_OUTPUT (h5fc_v_ndata_bt1 h5fc_v_ndata_bt1.ddl 0 old_h5fc_ext_none.h5 -d /DSET_NDATA_BT2 -v -n) - ADD_H5_OUTPUT (h5fc_v_all h5fc_v_all.ddl 0 old_h5fc_ext_none.h5 -v) -# -# -# -# h5format_convert -d /DSET_EA -v -n h5fc_ext_none.h5 (verbose, noop, one ea dataset) -# h5format_convert -v -n h5fc_non_v3.h5 (verbose, noop, all datasets) - ADD_H5_OUTPUT (h5fc_v_n_1d h5fc_v_n_1d.ddl 0 h5fc_ext_none.h5 -d /DSET_EA -v -n) - ADD_H5_OUTPUT (h5fc_v_n_all h5fc_v_n_all.ddl 0 h5fc_non_v3.h5 -v -n) -# -# -# -# h5format_convert -v h5fc_err_level.h5 (error encountered in converting the dataset) - ADD_H5_OUTPUT (h5fc_v_err h5fc_v_err.ddl 1 h5fc_err_level.h5 -v) -# -# -# -# No output from tests -# 1) Use the tool to convert the dataset -# 2) Verify the chunk indexing type is correct -# h5format_convert -d /DSET_EA h5fc_ext_none.h5 -# h5format_convert -d /GROUP/DSET_NDATA_EA h5fc_ext_none.h5 -# h5format_convert -d /GROUP/DSET_BT2 h5fc_ext_none.h5 -# h5format_convert -d /DSET_NDATA_BT2 h5fc_ext_none.h5 -# h5format_convert -d /DSET_FA h5fc_ext_none.h5 -# h5format_convert -d /GROUP/DSET_FA h5fc_ext_none.h5 -# h5format_convert -d /DSET_NONE h5fc_ext_none.h5 -# h5format_convert -d /GROUP/DSET_NDATA_NONE h5fc_ext_none.h5 - ADD_H5_TEST_CHECK_IDX (h5fc_ext_none_EA 0 h5fc_ext_none.h5 /DSET_EA) -# - ADD_H5_TEST_CHECK_IDX (h5fc_ext_none_ND_EA 0 h5fc_ext_none.h5 /GROUP/DSET_NDATA_EA) -# - ADD_H5_TEST_CHECK_IDX (h5fc_ext_none_BT 0 h5fc_ext_none.h5 /GROUP/DSET_BT2) -# - ADD_H5_TEST_CHECK_IDX (h5fc_ext_none_ND_BT 0 h5fc_ext_none.h5 /DSET_NDATA_BT2) -# - ADD_H5_TEST_CHECK_IDX (h5fc_ext_none_FA 0 h5fc_ext_none.h5 /DSET_FA) -# - ADD_H5_TEST_CHECK_IDX (h5fc_ext_none_ND_FA 0 h5fc_ext_none.h5 /GROUP/DSET_NDATA_FA) -# - ADD_H5_TEST_CHECK_IDX (h5fc_ext_none_NONE 0 h5fc_ext_none.h5 /DSET_NONE) -# - ADD_H5_TEST_CHECK_IDX (h5fc_ext_none_ND_NONE 0 h5fc_ext_none.h5 /GROUP/DSET_NDATA_NONE) -# -# -# -# No output from tests: just check exit code -# h5format_convert -d /DSET_NDATA_BT2 old_h5fc_ext_none.h5 (v1-btree dataset) -# h5format_convert -d /DSET_CONTIGUOUS h5fc_non_v3.h5 (non-chunked dataset) - ADD_H5_TEST (old_h5fc_ext_none 0 old_h5fc_ext_none.h5 -d /DSET_NDATA_BT2) - ADD_H5_TEST (old_h5fc_ext_none_CONT 0 h5fc_non_v3.h5 -d /DSET_CONTIGUOUS) -# -# -# -# No output from tests: just check exit code -# h5format_convert -d /GROUP/DSET_BT2 -n h5fc_non_v3.h5 (noop, one dataset) -# h5format_convert -n h5fc_non_v3.h5 (noop, all datasets) - ADD_H5_TEST (h5fc_non_v3_BT 0 h5fc_non_v3.h5 -d /GROUP/DSET_BT2 -n) - ADD_H5_TEST (h5fc_non_v3-n 0 h5fc_non_v3.h5 -n) -# -# -# -# No output from tests: just check exit code -# h5format_convert h5fc_non_v3.h5 -# 1) convert all datasets -# 2) verify indexing types - ADD_H5_TEST (h5fc_non_v3 0 h5fc_non_v3.h5) - ADD_H5_CHECK_IDX (h5fc_non_v3 h5fc_non_v3-NEA /DSET_NDATA_EA) - ADD_H5_CHECK_IDX (h5fc_non_v3 h5fc_non_v3-NBT /DSET_NDATA_BT2) - ADD_H5_CHECK_IDX (h5fc_non_v3 h5fc_non_v3-BT /GROUP/DSET_BT2) - ADD_H5_CHECK_IDX (h5fc_non_v3 h5fc_non_v3-EA /GROUP/DSET_EA) -# -# -# -# No output from test: just check exit code -# h5format_convert h5fc_edge_v3.h5 -# 1) convert the chunked dataset (filter, no-filter-edge-chunk) -# 2) verify the indexing type - ADD_H5_TEST_CHECK_IDX (h5fc_edge_v3 0 h5fc_edge_v3.h5 /DSET_EDGE) -# -# - -# The following test files have messages in the superblock extension. -# Verify h5dump output for correctness after conversion - ADD_H5_H5DUMP_CHECK (h5fc_ext1_i) - ADD_H5_H5DUMP_CHECK (h5fc_ext1_s) - ADD_H5_H5DUMP_CHECK (h5fc_ext1_f) -# - ADD_H5_H5DUMP_CHECK (h5fc_ext2_if) - ADD_H5_H5DUMP_CHECK (h5fc_ext2_is) - ADD_H5_H5DUMP_CHECK (h5fc_ext2_sf) -# - ADD_H5_H5DUMP_CHECK (h5fc_ext3_isf) -# -# -# - ADD_H5_H5DUMP_CHECK (old_h5fc_ext1_i) - ADD_H5_H5DUMP_CHECK (old_h5fc_ext1_s) - ADD_H5_H5DUMP_CHECK (old_h5fc_ext1_f) -# - ADD_H5_H5DUMP_CHECK (old_h5fc_ext2_if) - ADD_H5_H5DUMP_CHECK (old_h5fc_ext2_is) - ADD_H5_H5DUMP_CHECK (old_h5fc_ext2_sf) -# - ADD_H5_H5DUMP_CHECK (old_h5fc_ext3_isf) diff --git a/tools/h5format_convert/Makefile.am b/tools/h5format_convert/Makefile.am deleted file mode 100644 index d3aef7d..0000000 --- a/tools/h5format_convert/Makefile.am +++ /dev/null @@ -1,49 +0,0 @@ -# -# Copyright by The HDF Group. -# Copyright by the Board of Trustees of the University of Illinois. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the files COPYING and Copyright.html. COPYING can be found at the root -# of the source code distribution tree; Copyright.html can be found at the -# root level of an installed copy of the electronic HDF5 document set and -# is linked from the top-level documents page. It can also be found at -# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -# access to either file, you may request a copy from help@hdfgroup.org. -## -## Makefile.am -## Run automake to generate a Makefile.in from this file. -# -# HDF5 Library Makefile(.in) -# - -include $(top_srcdir)/config/commence.am - -# Include src directory -AM_CPPFLAGS+=-I$(top_srcdir)/src -I$(top_srcdir)/tools/lib - -#test script and program -TEST_PROG=h5fc_gentest -TEST_SCRIPT=testh5fc.sh - -check_PROGRAMS=$(TEST_PROG) h5fc_chk_idx -check_SCRIPTS=$(TEST_SCRIPT) -SCRIPT_DEPEND=h5format_convert$(EXEEXT) - -# These are our main targets, the tools -bin_PROGRAMS=h5format_convert - -# Add h5format_convert specific linker flags here -h5format_convert_LDFLAGS = $(LT_STATIC_EXEC) $(AM_LDFLAGS) - -# Tell automake to clean h5redeploy script -CHECK_CLEANFILES+=*.h5 - -# These were generated by configure. Remove them only when distclean. -DISTCLEANFILES=testh5fc.sh - -# All programs rely on hdf5 library and h5tools library -LDADD=$(LIBH5TOOLS) $(LIBHDF5) - -include $(top_srcdir)/config/conclude.am diff --git a/tools/h5format_convert/h5fc_chk_idx.c b/tools/h5format_convert/h5fc_chk_idx.c deleted file mode 100644 index 3a87594..0000000 --- a/tools/h5format_convert/h5fc_chk_idx.c +++ /dev/null @@ -1,103 +0,0 @@ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Copyright by The HDF Group. * - * Copyright by the Board of Trustees of the University of Illinois. * - * All rights reserved. * - * * - * This file is part of HDF5. The full HDF5 copyright notice, including * - * terms governing use, modification, and redistribution, is contained in * - * the files COPYING and Copyright.html. COPYING can be found at the root * - * of the source code distribution tree; Copyright.html can be found at the * - * root level of an installed copy of the electronic HDF5 document set and * - * is linked from the top-level documents page. It can also be found at * - * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * - * access to either file, you may request a copy from help@hdfgroup.org. * - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -/* - * A program to verify that the chunk indexing type of a dataset in a file - * is version 1 B-tree. - * This is to support the testing of the tool "h5format_convert". - */ - -#include "hdf5.h" -#include "H5private.h" -#include "h5tools.h" - -static void usage(void); - -static void -usage(void) -{ - HDfprintf(stdout, "Usage: h5fc_chk_idx file_name dataset_pathname\n"); -} /* usage() */ - -/*------------------------------------------------------------------------- - * Function: main - * - * Purpose: To check that the chunk indexing type for the dataset in - * the file is version 1 B-tree. - * - * Return: 0 -- the indexing type is version 1 B-tree - * 1 -- otherwise - * - *------------------------------------------------------------------------- - */ -int -main(int argc, char *argv[]) -{ - char *fname = NULL; - char *dname = NULL; - hid_t fid = -1; - hid_t did = -1; - H5D_chunk_index_t idx_type; - - /* h5fc_chk_idx fname dname */ - if(argc != 3) { - usage(); - HDexit(EXIT_FAILURE); - } /* end if */ - - /* Duplicate the file name & dataset name */ - fname = HDstrdup(argv[1]); - dname = HDstrdup(argv[2]); - - /* Try opening the file */ - if((fid = h5tools_fopen(fname, H5F_ACC_RDONLY, H5P_DEFAULT, NULL, NULL, (size_t)0)) < 0) { - HDfprintf(stderr, "h5fc_chk_idx: unable to open the file\n"); - HDexit(EXIT_FAILURE); - } /* end if */ - - /* Open the dataset */ - if((did = H5Dopen2(fid, dname, H5P_DEFAULT)) < 0) { - HDfprintf(stderr, "h5fc_chk_idx: unable to open the dataset\n"); - HDexit(EXIT_FAILURE); - } /* end if */ - - /* Get the dataset's chunk indexing type */ - if(H5Dget_chunk_index_type(did, &idx_type) < 0) { - HDfprintf(stderr, "h5fc_chk_idx: unable to get chunk index type for the dataset\n"); - HDexit(EXIT_FAILURE); - } /* end if */ - - /* Close the dataset */ - if(H5Dclose(did) < 0) { - HDfprintf(stderr, "h5fc_chk_idx: unable to close the dataset\n"); - HDexit(EXIT_FAILURE); - } /* end if */ - - /* Close the file */ - if(H5Fclose(fid) < 0) { - HDfprintf(stderr, "h5fc_chk_idx_type: cannot close the file\n"); - HDexit(EXIT_FAILURE); - } /* end if */ - - /* Return success when the chunk indexing type is version 1 B-tree */ - if(idx_type == H5D_CHUNK_IDX_BTREE) - HDexit(EXIT_SUCCESS); - else { - HDfprintf(stderr, "Error: chunk indexing type is %d\n", idx_type); - HDexit(EXIT_FAILURE); - } /* end if */ - -} /* main() */ - diff --git a/tools/h5format_convert/h5fc_gentest.c b/tools/h5format_convert/h5fc_gentest.c deleted file mode 100644 index 97def9a..0000000 --- a/tools/h5format_convert/h5fc_gentest.c +++ /dev/null @@ -1,812 +0,0 @@ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Copyright by The HDF Group. * - * Copyright by the Board of Trustees of the University of Illinois. * - * All rights reserved. * - * * - * This file is part of HDF5. The full HDF5 copyright notice, including * - * terms governing use, modification, and redistribution, is contained in * - * the files COPYING and Copyright.html. COPYING can be found at the root * - * of the source code distribution tree; Copyright.html can be found at the * - * root level of an installed copy of the electronic HDF5 document set and * - * is linked from the top-level documents page. It can also be found at * - * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * - * access to either file, you may request a copy from help@hdfgroup.org. * - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -/* - * Generate the binary hdf5 files for the h5format_convert tests. - * Usage: just execute the program without any arguments will - * generate all the binary hdf5 files - * - * If you regenerate the test files (e.g., changing some code, - * trying it on a new platform, ...), you need to verify the correctness - * of the expected output and update the corresponding *.ddl files. - */ - -#include "hdf5.h" -#include "H5private.h" - -#define NON_V3_FILE "h5fc_non_v3.h5" -#define EDGE_V3_FILE "h5fc_edge_v3.h5" -#define ERR_LEVEL_FILE "h5fc_err_level.h5" - -const char *FILENAME[] = { - "h5fc_ext1_i.h5", /* 0 */ - "h5fc_ext1_s.h5", /* 1 */ - "h5fc_ext1_f.h5", /* 2 */ - "h5fc_ext2_is.h5", /* 3 */ - "h5fc_ext2_if.h5", /* 4 */ - "h5fc_ext2_sf.h5", /* 5 */ - "h5fc_ext3_isf.h5", /* 6 */ - "h5fc_ext_none.h5", /* 7 */ - NULL -}; - -#define GROUP "GROUP" - -#define DSET_COMPACT "DSET_COMPACT" -#define DSET_CONTIGUOUS "DSET_CONTIGUOUS" - -#define DSET_EA "DSET_EA" -#define DSET_NDATA_EA "DSET_NDATA_EA" -#define DSET_BT2 "DSET_BT2" -#define DSET_NDATA_BT2 "DSET_NDATA_BT2" -#define DSET_FA "DSET_FA" -#define DSET_NDATA_FA "DSET_NDATA_FA" -#define DSET_NONE "DSET_NONE" -#define DSET_NDATA_NONE "DSET_NDATA_NONE" - -#define DSET_EDGE "DSET_EDGE" -#define DSET_ERR "DSET_ERR" - -#define ISTORE_IK 64 -#define ISTORE_ERR 1 - -#define NUM 500 - - -/* - * Function: gen_non() - * - * Create empty file with latest-format--this will result in v3 superbock - * Close and re-open file with non-latest-format--v3 superblock will result in latest version support: - * 1) 1 chunked dataset with extensible array chunk indexing type (without data) - * 2) 1 chunked dataset with version 2 B-tree chunk indexing type (with data) - * Re-open the file with write+non-latest-format and create: - * 3) 1 chunked dataset with version 2 B-tree chunk indexing type (without data) - * 4) 1 chunked dataset with extensible array indexing type (with data) - * 5) 1 compact and 1 contiguous datasets - */ -static void -gen_non(const char *fname) -{ - hid_t fid = -1; /* file id */ - hid_t fcpl = -1; /* file creation property list */ - hid_t fapl = -1; /* file access property list */ - hid_t gid = -1; /* group id */ - hid_t sid = -1; /* space id */ - hid_t dcpl = -1; /* dataset creation property id */ - hid_t did1 = -1, did2 = -1; /* dataset id */ - hsize_t dims1[1] = {10}; /* dataset dimension */ - hsize_t dims2[2] = {4, 6}; /* dataset dimension */ - hsize_t max_dims[2]; /* maximum dataset dimension */ - hsize_t c_dims[2] = {2, 3}; /* chunk dimension */ - int i; /* local index variable */ - int buf[24]; /* data buffer */ - - if((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) - goto error; - if(H5Pset_shared_mesg_nindexes(fcpl, 4) < 0) - goto error; - if(H5Pset_istore_k(fcpl, 64) < 0) - goto error; - - if((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0) - goto error; - if(H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0) - goto error; - - /* Create an empty file with latest-format */ - if((fid = H5Fcreate(fname, H5F_ACC_TRUNC, fcpl, fapl)) < 0) - goto error; - - /* Create a group */ - if((gid = H5Gcreate2(fid, GROUP, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) - goto error; - - /* Create data */ - for(i = 0; i < 24; i++) - buf[i] = i; - - /* Set chunk */ - if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) - goto error; - if(H5Pset_chunk(dcpl, 2, c_dims) < 0) - goto error; - - /* - * Create a chunked dataset with extensible array chunk indexing type (without data) - */ - - /* Create dataspace */ - max_dims[0] = 10; - max_dims[1] = H5S_UNLIMITED; - if((sid = H5Screate_simple(2, dims2, max_dims)) < 0) - goto error; - - /* Create the dataset */ - if((did1 = H5Dcreate2(fid, DSET_NDATA_EA, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) - goto error; - - /* Closing */ - if(H5Sclose(sid) < 0) - goto error; - if(H5Dclose(did1) < 0) - goto error; - - /* - * Create a chunked dataset with version 2 B-tree chunk indexing type (with data) - */ - - /* Create dataspace */ - max_dims[0] = 10; - max_dims[0] = H5S_UNLIMITED; - max_dims[1] = H5S_UNLIMITED; - if((sid = H5Screate_simple(2, dims2, max_dims)) < 0) - goto error; - - /* Create the dataset */ - if((did1 = H5Dcreate2(gid, DSET_BT2, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) - goto error; - - /* Write to the dataset */ - if(H5Dwrite(did1, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) - goto error; - - /* Closing */ - if(H5Sclose(sid) < 0) - goto error; - if(H5Dclose(did1) < 0) - goto error; - if(H5Pclose(dcpl) < 0) - goto error; - if(H5Gclose(gid) < 0) - goto error; - - - /* Open the group */ - if((gid = H5Gopen2(fid, GROUP, H5P_DEFAULT)) < 0) - goto error; - - /* - * Create a dataset with version 2 B-btree chunk indexing type (without data) - */ - - /* Set chunk */ - if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) - goto error; - if(H5Pset_chunk(dcpl, 2, c_dims) < 0) - goto error; - - /* Create dataspace */ - max_dims[0] = H5S_UNLIMITED; - max_dims[1] = H5S_UNLIMITED; - if((sid = H5Screate_simple(2, dims2, max_dims)) < 0) - goto error; - - /* Create the dataset */ - if((did1 = H5Dcreate2(fid, DSET_NDATA_BT2, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) - goto error; - - /* Close the dataspace */ - if(H5Sclose(sid) < 0) - goto error; - - /* - * Create a dataset with extensible array chunk indexing type (with data) in the group - */ - - /* Create dataspace */ - max_dims[0] = 10; - max_dims[1] = H5S_UNLIMITED; - if((sid = H5Screate_simple(2, dims2, max_dims)) < 0) - goto error; - - /* Create the dataset */ - if((did2 = H5Dcreate2(gid, DSET_EA, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) - goto error; - - /* Write to the dataset */ - if(H5Dwrite(did2, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) - goto error; - - /* Closing */ - if(H5Sclose(sid) < 0) - goto error; - if(H5Pclose(dcpl) < 0) - goto error; - if(H5Dclose(did1) < 0) - goto error; - if(H5Dclose(did2) < 0) - goto error; - - /* - * Create a compact dataset in the group - */ - - /* Create dataspace */ - if((sid = H5Screate_simple(1, dims1, NULL)) < 0) - goto error; - - if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) - goto error; - if(H5Pset_layout(dcpl, H5D_COMPACT) < 0) - goto error; - - /* Create the dataset */ - if((did1 = H5Dcreate2(gid, DSET_COMPACT, H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) - goto error; - - /* Closing */ - if(H5Dclose(did1) < 0) - goto error; - if(H5Pclose(dcpl) < 0) - goto error; - if(H5Sclose(sid) < 0) - goto error; - - /* - * Create a contiguous dataset with (2d with data) in the file - */ - if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) - goto error; - if(H5Pset_layout(dcpl, H5D_CONTIGUOUS) < 0) - goto error; - - if((sid = H5Screate_simple(2, dims2, NULL)) < 0) - goto error; - - /* Create the dataset */ - if((did2 = H5Dcreate2(fid, DSET_CONTIGUOUS, H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) - goto error; - /* Write to the dataset */ - if(H5Dwrite(did2, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) - goto error; - - /* Closing */ - if(H5Dclose(did2) < 0) - goto error; - if(H5Pclose(dcpl) < 0) - goto error; - if(H5Sclose(sid) < 0) - goto error; - - if(H5Gclose(gid) < 0) - goto error; - if(H5Pclose(fcpl) < 0) - goto error; - if(H5Pclose(fapl) < 0) - goto error; - if(H5Fclose(fid) < 0) - goto error; - -error: - H5E_BEGIN_TRY { - H5Pclose(dcpl); - H5Sclose(sid); - H5Dclose(did1); - H5Dclose(did2); - H5Gclose(gid); - H5Fclose(fcpl); - H5Fclose(fapl); - H5Fclose(fid); - } H5E_END_TRY; - -} /* gen_non() */ - -/* - * Function: gen_edge() - * - * Create a file with write+latest-format--this will result in v3 superblock+latest version support: - * A dataset: chunked, filtered, H5D_CHUNK_DONT_FILTER_PARTIAL_CHUNKS enabled - * (i.e. the dataset does not filter partial edge chunks) - */ -static void -gen_edge(const char *fname) -{ - hid_t fid = -1; /* file id */ - hid_t fapl = -1; /* file access property list */ - hid_t sid = -1; /* dataspace id */ - hid_t dcpl = -1; /* dataset creation property id */ - hid_t did = -1; /* dataset id */ - hsize_t dims2[2] = {12, 6}; /* Dataset dimensions */ - hsize_t c_dims[2] = {5, 5}; /* Chunk dimensions */ - float buf[12][6]; /* Buffer for writing data */ - int i, j; /* local index variable */ - - /* Create a new format file */ - if((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0) - goto error; - if(H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0) - goto error; - if((fid = H5Fcreate(fname, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) - goto error; - - /* Set chunk, filter, no-filter-edge-chunk */ - if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) - goto error; - if(H5Pset_chunk(dcpl, 2, c_dims) < 0) - goto error; - if(H5Pset_deflate(dcpl, 9) < 0) - goto error; - if(H5Pset_chunk_opts(dcpl, H5D_CHUNK_DONT_FILTER_PARTIAL_CHUNKS) < 0) - goto error; - - /* Create dataspace */ - if((sid = H5Screate_simple(2, dims2, NULL)) < 0) - goto error; - - /* Create the dataset */ - if((did = H5Dcreate2(fid, DSET_EDGE, H5T_NATIVE_FLOAT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) - goto error; - - /* Create data */ - for (i = 0; i< 12; i++) - for (j = 0; j< 6; j++) - buf[i][j] = 100.0F; - - /* Write to the dataset */ - if(H5Dwrite(did, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) - goto error; - - /* Closing */ - if(H5Pclose(dcpl) < 0) - goto error; - if(H5Sclose(sid) < 0) - goto error; - if(H5Dclose(did) < 0) - goto error; - if(H5Pclose(fapl) < 0) - goto error; - if(H5Fclose(fid) < 0) - goto error; - -error: - H5E_BEGIN_TRY { - H5Pclose(dcpl); - H5Sclose(sid); - H5Dclose(did); - H5Fclose(fid); - H5Pclose(fapl); - } H5E_END_TRY; - -} /* gen_edge() */ - - -/* - * Function: gen_err_level() - * - * Generate a file to test the situtation described in HDFFV-9434: - * Exceed the limit of v1-btree level - * - * Create a file with H5Pset_istore_k(fcpl, 1). - * Create a chunked dataset with extensible array chunk index and - * appends many chunks to the dataset. - * - * When h5format_convert tries to convert the dataset with - * extensive array index in the file to v1-btree chunk index, - * it will insert the dataset chunks to the v1-btree chunk index. - * The tree will split quickly due to the 'K' value of 1 and the - * tree level will eventually hit the maximum: 2^8(256). - */ -static void -gen_err_level(const char *fname) -{ - hid_t fid = -1; /* file ID */ - hid_t fapl = -1; /* file access property list */ - hid_t fcpl = -1; /* file creation property list */ - hid_t sid = -1; /* dataspace id */ - hid_t dcpl = -1; /* dataset creation property list */ - hid_t did = -1; /* dataset ID */ - hid_t fsid = -1; /* file dataspace ID */ - hid_t msid = -1; /* memory dataspace ID */ - unsigned char *buf = NULL; /* buffer for data */ - hsize_t dims[2] = {0, 1}; /* dataset dimension sizes */ - hsize_t max_dims[2] = {1, H5S_UNLIMITED}; /* dataset maximum dimension sizes */ - hsize_t chunk_dims[2] = {1, 1}; /* chunk dimension sizes */ - int n = 0; /* local index variable */ - - /* Create a new format file */ - if((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0) - goto error; - if(H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0) - goto error; - - /* Set 'K' value to 1 in file creation property list */ - if((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) - goto error; - if(H5Pset_istore_k(fcpl, ISTORE_ERR) < 0) - goto error; - - /* Initialize data buffer */ - buf = (unsigned char *)HDmalloc(NUM * sizeof(unsigned char *)); - HDmemset(buf, 42, NUM * sizeof(unsigned char)); - - /* Create the test file */ - if((fid = H5Fcreate(fname, H5F_ACC_TRUNC, fcpl, fapl)) < 0) - goto error; - - /* Create a chunked dataset with extensible array chunk index */ - if((sid = H5Screate_simple(2, dims, max_dims)) < 0) - goto error; - if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) - goto error; - if(H5Pset_chunk(dcpl, 2, chunk_dims) < 0) - goto error; - if((did = H5Dcreate2(fid, DSET_ERR, H5T_NATIVE_UCHAR, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) - goto error; - - /* Closing */ - if(H5Pclose(dcpl) < 0) - goto error; - if(H5Sclose(sid) < 0) - goto error; - if(H5Dclose(did) < 0) - goto error; - if(H5Fclose(fid) < 0) - goto error; - - /* Re-open the file */ - if((fid = H5Fopen(fname, H5F_ACC_RDWR, fapl)) < 0) - goto error; - - /* Open the dataset */ - if((did = H5Dopen2(fid, DSET_ERR, H5P_DEFAULT)) < 0) - goto error; - - /* Loop through appending 1 element at a time */ - for(n = 0; n < NUM; n++) { - hsize_t start[2] = {0, 0}; - hsize_t count[2] = {1, 1}; - hsize_t extent[2] = {0, 0}; - - start[0] = 0; - start[1] = (hsize_t)n; - extent[0] = 1; - extent[1] = (hsize_t)(n + 1); - - /* Set current dimension sizes for the dataset */ - if(H5Dset_extent(did, extent) < 0) - goto error; - - /* Set up memory dataspace */ - if((msid = H5Screate_simple(2, count, NULL)) < 0) - goto error; - - /* Get file dataspace */ - if((fsid = H5Dget_space(did)) < 0) - goto error; - - if((H5Sselect_hyperslab(fsid, H5S_SELECT_SET, start, NULL, count, NULL)) < 0) - goto error; - - /* Write to the dataset */ - if(H5Dwrite(did, H5T_NATIVE_UCHAR, msid, fsid, H5P_DEFAULT, buf) < 0) - goto error; - - if(H5Sclose(fsid) < 0) - goto error; - if(H5Sclose(msid) < 0) - goto error; - } - - /* Closing */ - if(H5Dclose(did) < 0) - goto error; - if(H5Fclose(fid) < 0) - goto error; - if(H5Pclose(fapl) < 0) - goto error; - if(buf) free(buf); - -error: - H5E_BEGIN_TRY { - H5Pclose(dcpl); - H5Sclose(sid); - H5Dclose(did); - H5Sclose(msid); - H5Sclose(fsid); - H5Fclose(fid); - H5Pclose(fapl); - H5Pclose(fcpl); - } H5E_END_TRY; - -} /* gen_err_level() */ - -/* - * Function: gen_ext() - * - * Create a file with/without latest format with: - * 1) 1 contiguous dataset (without data) - * 2) 2 chunked datasets with extensible array chunk indexing type (with/without data) - * 3) 2 chunked datasets with version 2 B-tree chunk indexing type (with/without data) - * 4) 2 chunked datasets with fixed array chunk indexing type (with/without data) - * 5) 2 chunked datasets with implicit array chunk indexing type (with/without data) - * It will create the file with/without messages in the superblock extension depending - * on the parameter "what". - */ -static void -gen_ext(const char *fname, unsigned new_format, unsigned what) -{ - hid_t fid = -1; /* file id */ - hid_t fapl = -1; /* file access property list */ - hid_t fcpl = -1; /* file creation property list */ - hid_t gid = -1; /* group id */ - hid_t sid = -1; /* space id */ - hid_t dcpl = -1; /* dataset creation property id */ - hid_t did1 = -1, did2 = -1; /* dataset id */ - hsize_t dims1[1] = {10}; /* dataset dimension */ - hsize_t dims2[2] = {4, 6}; /* dataset dimension */ - hsize_t max_dims[2]; /* maximum dataset dimension */ - hsize_t c_dims[2] = {2, 3}; /* chunk dimension */ - int i; /* local index variable */ - int buf[24]; /* data buffer */ - - if((fapl = H5Pcreate(H5P_FILE_ACCESS)) < 0) - goto error; - - if(new_format) { - /* Create a new format file */ - if(H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) < 0) - goto error; - } /* end if */ - - /* Create a file creation property list */ - fcpl = H5Pcreate(H5P_FILE_CREATE); - - /* Generate messages that might be placed in superblock extension */ - switch(what) { - case 0: - H5Pset_istore_k(fcpl, ISTORE_IK); - break; - case 1: - H5Pset_shared_mesg_nindexes(fcpl, 4); - break; - case 2: - H5Pset_file_space(fcpl, H5F_FILE_SPACE_ALL_PERSIST, (hsize_t)0); - break; - case 3: - H5Pset_istore_k(fcpl, ISTORE_IK); - H5Pset_shared_mesg_nindexes(fcpl, 4); - break; - case 4: - H5Pset_istore_k(fcpl, ISTORE_IK); - H5Pset_file_space(fcpl, H5F_FILE_SPACE_DEFAULT, (hsize_t)2); - break; - case 5: - H5Pset_shared_mesg_nindexes(fcpl, 4); - H5Pset_file_space(fcpl, H5F_FILE_SPACE_VFD, (hsize_t)0); - break; - case 6: - H5Pset_istore_k(fcpl, ISTORE_IK); - H5Pset_shared_mesg_nindexes(fcpl, 4); - H5Pset_file_space(fcpl, H5F_FILE_SPACE_AGGR_VFD, (hsize_t)0); - break; - default: - break; - } - - /* Create the file */ - if((fid = H5Fcreate(fname, H5F_ACC_TRUNC, fcpl, fapl)) < 0) - goto error; - - /* Create a group */ - if((gid = H5Gcreate2(fid, GROUP, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) - goto error; - - /* Set chunk */ - if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) - goto error; - if(H5Pset_chunk(dcpl, 2, c_dims) < 0) - goto error; - - - /* - * Create a contiguous dataset - */ - - /* Create dataspace */ - if((sid = H5Screate_simple(1, dims1, NULL)) < 0) - goto error; - - /* Create the dataset */ - if((did1 = H5Dcreate2(fid, DSET_CONTIGUOUS, H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) - goto error; - - /* Closing */ - if(H5Sclose(sid) < 0) - goto error; - if(H5Dclose(did1) < 0) - goto error; - - /* - * Create 2 chunked datasets with extensible array chunk indexing type - * (one with data; one without data) - */ - - /* Create dataspace */ - max_dims[0] = 10; - max_dims[1] = H5S_UNLIMITED; - if((sid = H5Screate_simple(2, dims2, max_dims)) < 0) - goto error; - - /* Create the 2 datasets */ - if((did1 = H5Dcreate2(gid, DSET_NDATA_EA, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) - goto error; - - if((did2 = H5Dcreate2(fid, DSET_EA, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) - goto error; - - /* Create data */ - for(i = 0; i < 24; i++) - buf[i] = i; - - /* Write to one dataset */ - if(H5Dwrite(did2, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) - goto error; - - /* Closing */ - if(H5Sclose(sid) < 0) - goto error; - if(H5Dclose(did1) < 0) - goto error; - if(H5Dclose(did2) < 0) - goto error; - - - /* - * Create 2 chunked datasets with version 2 B-tree chunk indexing type - * (one with data; one without data) - */ - - /* Create dataspace */ - max_dims[0] = 10; - max_dims[0] = H5S_UNLIMITED; - max_dims[1] = H5S_UNLIMITED; - if((sid = H5Screate_simple(2, dims2, max_dims)) < 0) - goto error; - - /* Create the 2 datasets */ - if((did1 = H5Dcreate2(fid, DSET_NDATA_BT2, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) - goto error; - - if((did2 = H5Dcreate2(gid, DSET_BT2, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) - goto error; - - /* Write to one dataset */ - if(H5Dwrite(did2, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) - goto error; - - /* Closing */ - if(H5Sclose(sid) < 0) - goto error; - if(H5Dclose(did1) < 0) - goto error; - if(H5Dclose(did2) < 0) - goto error; - - /* - * Create 2 chunked datasets with fixed array chunk indexing type - * (one with data; one without data) - */ - - /* Create dataspace */ - max_dims[0] = 20; - max_dims[1] = 10; - if((sid = H5Screate_simple(2, dims2, max_dims)) < 0) - goto error; - - /* Create the datasets */ - if((did1 = H5Dcreate2(fid, DSET_FA, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) - goto error; - - if((did2 = H5Dcreate2(gid, DSET_NDATA_FA, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) - goto error; - - /* Write to the dataset */ - if(H5Dwrite(did1, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) - goto error; - - /* Closing */ - if(H5Sclose(sid) < 0) - goto error; - if(H5Dclose(did1) < 0) - goto error; - if(H5Dclose(did2) < 0) - goto error; - - - /* - * Create 2 chunked datasets with implicit chunk indexing type - * (one with data; one without data) - */ - - /* Create dataspace */ - if((sid = H5Screate_simple(2, dims2, NULL)) < 0) - goto error; - - /* Set early allocation */ - if(H5Pset_alloc_time(dcpl, H5D_ALLOC_TIME_EARLY) < 0) - goto error; - - /* Create the 2 datasets */ - if((did1 = H5Dcreate2(fid, DSET_NONE, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) - goto error; - - if((did2 = H5Dcreate2(gid, DSET_NDATA_NONE, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) - goto error; - - /* Write to one dataset */ - if(H5Dwrite(did1, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) - goto error; - - /* Closing */ - if(H5Dclose(did1) < 0) - goto error; - if(H5Dclose(did2) < 0) - goto error; - if(H5Sclose(sid) < 0) - goto error; - - if(H5Pclose(dcpl) < 0) - goto error; - if(H5Gclose(gid) < 0) - goto error; - if(H5Fclose(fid) < 0) - goto error; - -error: - H5E_BEGIN_TRY { - H5Pclose(dcpl); - H5Sclose(sid); - H5Dclose(did1); - H5Dclose(did2); - H5Gclose(gid); - H5Fclose(fid); - H5Pclose(fapl); - H5Pclose(fcpl); - } H5E_END_TRY; - -} /* end gen_ext() */ - -int -main(void) -{ - unsigned i, new_format; - - /* Generate a non-latest-format file with v3 superblock */ - gen_non(NON_V3_FILE); - - /* Generate a new format file with a no-filter-edge-chunk dataset */ - gen_edge(EDGE_V3_FILE); - - /* Generate a new format file with 'K' value of 1 in H5Pset_istore_k() */ - gen_err_level(ERR_LEVEL_FILE); - - /* Generate old/new format file with/without messages in the superblock extension */ - for(new_format = FALSE; new_format <= TRUE; new_format++) { - for(i = 0; i < 8; i++) { - char filename[50]; - - HDmemset(filename, 0, sizeof(filename)); - if(!new_format) - HDstrcat(filename, "old_"); - HDstrcat(filename, FILENAME[i]); - - gen_ext(filename, new_format, i); - } /* end for */ - } /* end for */ - - return 0; -} /* end main */ - diff --git a/tools/h5format_convert/h5format_convert.c b/tools/h5format_convert/h5format_convert.c deleted file mode 100644 index 8ce28dd..0000000 --- a/tools/h5format_convert/h5format_convert.c +++ /dev/null @@ -1,474 +0,0 @@ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Copyright by The HDF Group. * - * Copyright by the Board of Trustees of the University of Illinois. * - * All rights reserved. * - * * - * This file is part of HDF5. The full HDF5 copyright notice, including * - * terms governing use, modification, and redistribution, is contained in * - * the files COPYING and Copyright.html. COPYING can be found at the root * - * of the source code distribution tree; Copyright.html can be found at the * - * root level of an installed copy of the electronic HDF5 document set and * - * is linked from the top-level documents page. It can also be found at * - * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * - * access to either file, you may request a copy from help@hdfgroup.org. * - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -/* - * Programmer: Vailin Choi; Feb 2015 - */ - - -/* - * We include the private header file so we can get to the uniform - * programming environment it declares. - * HDF5 API functions (except for H5G_basename()) - */ -#include "H5private.h" -#include "h5tools.h" -#include "h5tools_utils.h" -#include "h5trav.h" - -/* Name of tool */ -#define PROGRAMNAME "h5format_convert" - -static char *fname_g = NULL; -static char *dname_g = NULL; -static int dset_g = FALSE; -static int noop_g = FALSE; -static int verbose_g = 0; - -/* - * Command-line options: The user can specify short or long-named - * parameters. - */ -static const char *s_opts = "hVvd:n"; -static struct long_options l_opts[] = { - { "help", no_arg, 'h' }, - { "hel", no_arg, 'h'}, - { "he", no_arg, 'h'}, - { "version", no_arg, 'V' }, - { "version", no_arg, 'V' }, - { "versio", no_arg, 'V' }, - { "versi", no_arg, 'V' }, - { "vers", no_arg, 'V' }, - { "verbose", no_arg, 'v' }, - { "verbos", no_arg, 'v' }, - { "verbo", no_arg, 'v' }, - { "verb", no_arg, 'v' }, - { "dname", require_arg, 'd' }, - { "dnam", require_arg, 'd' }, - { "dna", require_arg, 'd' }, - { "dn", require_arg, 'd' }, - { "noop", no_arg, 'n' }, - { "noo", no_arg, 'n' }, - { "no", no_arg, 'n' }, - { NULL, 0, '\0' } -}; - - -/*------------------------------------------------------------------------- - * Function: usage - * - * Purpose: print usage - * - * Return: void - * - *------------------------------------------------------------------------- - */ -static void usage(const char *prog) -{ - HDfprintf(stdout, "usage: %s [OPTIONS] file_name\n", prog); - HDfprintf(stdout, " OPTIONS\n"); - HDfprintf(stdout, " -h, --help Print a usage message and exit\n"); - HDfprintf(stdout, " -V, --version Print version number and exit\n"); - HDfprintf(stdout, " -v, --verbose Turn on verbose mode\n"); - HDfprintf(stdout, " -d dname, --dname=dataset_name Pathname for the dataset\n"); - HDfprintf(stdout, " -n, --noop Perform all the steps except the actual conversion\n"); - HDfprintf(stdout, "\n"); - HDfprintf(stdout, "Examples of use:\n"); - HDfprintf(stdout, "\n"); - HDfprintf(stdout, "h5format_convert -d /group/dataset file_name\n"); - HDfprintf(stdout, " Convert the dataset </group/dataset> in the HDF5 file <file_name>:\n"); - HDfprintf(stdout, " a. chunked dataset: convert the chunk indexing type to version 1 B-tree\n"); - HDfprintf(stdout, " b. compact/contiguous dataset: downgrade the layout version to 3\n"); - HDfprintf(stdout, " c. virtual dataset: no action\n"); - HDfprintf(stdout, "\n"); - HDfprintf(stdout, "h5format_convert file_name\n"); - HDfprintf(stdout, " Convert all datasets in the HDF5 file <file_name>:\n"); - HDfprintf(stdout, " a. chunked dataset: convert the chunk indexing type to version 1 B-tree\n"); - HDfprintf(stdout, " b. compact/contiguous dataset: downgrade the layout version to 3\n"); - HDfprintf(stdout, " c. virtual dataset: no action\n"); - HDfprintf(stdout, "\n"); - HDfprintf(stdout, "h5format_convert -n -d /group/dataset file_name\n"); - HDfprintf(stdout, " Go through all the steps except the actual conversion when \n"); - HDfprintf(stdout, " converting the dataset </group/dataset> in the HDF5 file <file_name>.\n"); -} /* usage() */ - -/*------------------------------------------------------------------------- - * Function: parse_command_line - * - * Purpose: parse command line input - * - * Return: Success: 0 - * Failure: 1 - * - *------------------------------------------------------------------------- - */ -static int -parse_command_line(int argc, const char **argv) -{ - int opt; - - /* no arguments */ - if (argc == 1) { - usage(h5tools_getprogname()); - h5tools_setstatus(EXIT_FAILURE); - goto error; - } - - /* parse command line options */ - while ((opt = get_option(argc, argv, s_opts, l_opts)) != EOF) { - switch((char) opt) { - case 'h': - usage(h5tools_getprogname()); - h5tools_setstatus(EXIT_SUCCESS); - goto error; - - case 'V': - print_version(h5tools_getprogname()); - h5tools_setstatus(EXIT_SUCCESS); - goto error; - - case 'v': - verbose_g = TRUE; - break; - - case 'd': /* -d dname */ - if(opt_arg != NULL && *opt_arg) - dname_g = HDstrdup(opt_arg); - if(dname_g == NULL) { - h5tools_setstatus(EXIT_FAILURE); - error_msg("No dataset name\n", opt_arg); - usage(h5tools_getprogname()); - goto error; - } - dset_g = TRUE; - break; - - case 'n': /* -n */ - noop_g = TRUE; - break; - - default: - h5tools_setstatus(EXIT_FAILURE); - usage(h5tools_getprogname()); - goto error; - break; - } /* switch */ - } /* while */ - - if (argc <= opt_ind) { - error_msg("missing file name\n"); - usage(h5tools_getprogname()); - h5tools_setstatus(EXIT_FAILURE); - goto error; - } - - fname_g = HDstrdup(argv[opt_ind]); - - return(0); - -error: - return(-1); ; -} /* parse_command_line() */ - - -/*------------------------------------------------------------------------- - * Function: leave - * - * Purpose: Close HDF5 - * - * Return: Does not return - * - *------------------------------------------------------------------------- - */ -static void -leave(int ret) -{ - h5tools_close(); - - HDexit(ret); -} /* leave() */ - -/*------------------------------------------------------------------------- - * Function: convert() - * - * Purpose: To downgrade a dataset's indexing type or layout version: - * For chunked: - * Downgrade the chunk indexing type to version 1 B-tree - * If type is already version 1 B-tree, no further action - * For compact/contiguous: - * Downgrade the layout version from 4 to 3 - * If version is already <= 3, no further action - * For virtual: - * No further action - * - * Return: Success: 0 - * Failure: 1 - * - *------------------------------------------------------------------------- - */ -static int -convert(hid_t fid, const char *dname) -{ - hid_t dcpl = -1; - hid_t did = -1; - H5D_layout_t layout_type; - H5D_chunk_index_t idx_type; - - /* Open the dataset */ - if((did = H5Dopen2(fid, dname, H5P_DEFAULT)) < 0) { - error_msg("unable to open dataset \"%s\"\n", dname); - h5tools_setstatus(EXIT_FAILURE); - goto error; - - } else if(verbose_g) - HDfprintf(stdout, "Open the dataset\n"); - - /* Get the dataset's creation property list */ - if((dcpl = H5Dget_create_plist(did)) < 0) { - error_msg("unable to get the dataset creation property list\n"); - h5tools_setstatus(EXIT_FAILURE); - goto error; - } - - /* Get the dataset's layout */ - if((layout_type = H5Pget_layout(dcpl)) < 0) { - error_msg("unable to get the dataset layout type\n"); - h5tools_setstatus(EXIT_FAILURE); - goto error; - - } else if(verbose_g) - HDfprintf(stdout, "Retrieve the dataset's layout\n"); - - switch(layout_type) { - case H5D_CHUNKED: - if(verbose_g) - HDfprintf(stdout, "Dataset is a chunked dataset\n"); - - /* Get the dataset's chunk indexing type */ - if(H5Dget_chunk_index_type(did, &idx_type) < 0) { - error_msg("unable to get the chunk indexing type for \"%s\"\n", dname); - h5tools_setstatus(EXIT_FAILURE); - goto error; - } else if(verbose_g) - HDfprintf(stdout, "Retrieve the dataset's chunk indexing type\n"); - - if(idx_type == H5D_CHUNK_IDX_BTREE) { - if(verbose_g) - HDfprintf(stdout, "Dataset's chunk indexing type is already version 1 B-tree: no further action\n"); - h5tools_setstatus(EXIT_SUCCESS); - goto done; - } else if (verbose_g) - HDfprintf(stdout, "Dataset's chunk indexing type is not version 1 B-tree\n"); - break; - - case H5D_CONTIGUOUS: - if(verbose_g) - HDfprintf(stdout, "Dataset is a contiguous dataset: downgrade layout version as needed\n"); - break; - - case H5D_COMPACT: - if(verbose_g) - HDfprintf(stdout, "Dataset is a compact dataset: downgrade layout version as needed\n"); - break; - - case H5D_VIRTUAL: - if(verbose_g) - HDfprintf(stdout, "No further action for virtual dataset\n"); - goto done; - - case H5D_NLAYOUTS: - case H5D_LAYOUT_ERROR: - default: - error_msg("unknown layout type for \"%s\"\n", dname); - h5tools_setstatus(EXIT_FAILURE); - goto error; - - } /* end switch */ - - /* No further action if it is a noop */ - if(noop_g) { - if(verbose_g) - HDfprintf(stdout, "Not converting the dataset\n"); - h5tools_setstatus(EXIT_SUCCESS); - goto done; - } - - if(verbose_g) - HDfprintf(stdout, "Converting the dataset...\n"); - - /* Downgrade the dataset */ - if(H5Dformat_convert(did) < 0) { - error_msg("unable to downgrade dataset \"%s\"\n", dname); - h5tools_setstatus(EXIT_FAILURE); - goto error; - } else if(verbose_g) - HDfprintf(stdout, "Done\n"); - -done: - /* Close the dataset */ - if(H5Dclose(did) < 0) { - error_msg("unable to close dataset \"%s\"\n", dname); - h5tools_setstatus(EXIT_FAILURE); - goto error; - } else if(verbose_g) - HDfprintf(stdout, "Close the dataset\n"); - - /* Close the dataset creation property list */ - if(H5Pclose(dcpl) < 0) { - error_msg("unable to close dataset creation property list\n"); - h5tools_setstatus(EXIT_FAILURE); - goto error; - } else if(verbose_g) - printf("Close the dataset creation property list\n"); - - return(0); - -error: - if(verbose_g) - HDfprintf(stdout, "Error encountered\n"); - - H5E_BEGIN_TRY { - H5Pclose(dcpl); - H5Dclose(did); - } H5E_END_TRY; - - return(-1); -} /* convert() */ - -/*------------------------------------------------------------------------- - * Function: convert_dsets_cb() - * - * Purpose: The callback routine from the traversal to convert the - * chunk indexing type of the dataset object. - * - * Return: Success: 0 - * Failure: 1 - *------------------------------------------------------------------------- - */ -static int -convert_dsets_cb(const char *path, const H5O_info_t *oi, const char *already_visited, void *_fid) -{ - hid_t fid = *(hid_t *)_fid; - - /* If the object has already been seen then just return */ - if(NULL == already_visited) { - if(oi->type == H5O_TYPE_DATASET) { - if(verbose_g) - HDfprintf(stdout, "Going to process dataset:%s...\n", path); - if(convert(fid, path) < 0) - goto error; - } /* end if */ - } /* end if */ - - return 0; - -error: - return -1; -} /* end convert_dsets_cb() */ - - -/*------------------------------------------------------------------------- - * Function: main - * - * Purpose: To convert the chunk indexing type of a dataset in a file to - * version 1 B-tree. - * - * Return: Success: 0 - * Failure: 1 - * - *------------------------------------------------------------------------- - */ -int -main(int argc, const char *argv[]) -{ - H5E_auto2_t func; - void *edata; - hid_t fid = -1; - - h5tools_setprogname(PROGRAMNAME); - h5tools_setstatus(EXIT_SUCCESS); - - /* Disable error reporting */ - H5Eget_auto2(H5E_DEFAULT, &func, &edata); - H5Eset_auto2(H5E_DEFAULT, NULL, NULL); - - /* Initialize h5tools lib */ - h5tools_init(); - - /* Parse command line options */ - if(parse_command_line(argc, argv) < 0) - goto done; - else if(verbose_g) - HDfprintf(stdout, "Process command line options\n"); - - if(noop_g && verbose_g) - HDfprintf(stdout, "It is noop...\n"); - - /* Open the HDF5 file */ - if((fid = h5tools_fopen(fname_g, H5F_ACC_RDWR, H5P_DEFAULT, NULL, NULL, 0)) < 0) { - error_msg("unable to open file \"%s\"\n", fname_g); - h5tools_setstatus(EXIT_FAILURE); - goto done; - } else if(verbose_g) - HDfprintf(stdout, "Open the file %s\n", fname_g); - - if(dset_g) { /* Convert a specified dataset in the file */ - if(verbose_g) - HDfprintf(stdout, "Going to process dataset: %s...\n", dname_g); - if(convert(fid, dname_g) < 0) - goto done; - } else { /* Convert all datasets in the file */ - if(verbose_g) - HDfprintf(stdout, "Processing all datasets in the file...\n"); - if(h5trav_visit(fid, "/", TRUE, TRUE, convert_dsets_cb, NULL, &fid) < 0) - goto done; - } /* end else */ - - if(verbose_g) { - if(noop_g) { - HDfprintf(stdout, "Not processing the file's superblock...\n"); - h5tools_setstatus(EXIT_SUCCESS); - goto done; - } /* end if */ - HDfprintf(stdout, "Processing the file's superblock...\n"); - } /* end if */ - - /* Process superblock */ - if(H5Fformat_convert(fid) < 0) { - error_msg("unable to convert file's superblock\"%s\"\n", fname_g); - h5tools_setstatus(EXIT_FAILURE); - goto done; - } /* end if */ - -done: - /* Close the file */ - if(fid >= 0) { - if(H5Fclose(fid) < 0) { - error_msg("unable to close file \"%s\"\n", fname_g); - h5tools_setstatus(EXIT_FAILURE); - } else if(verbose_g) - HDfprintf(stdout, "Close the file\n"); - } /* end if */ - - if(fname_g) - HDfree(fname_g); - if(dname_g) - HDfree(dname_g); - - H5Eset_auto2(H5E_DEFAULT, func, edata); - leave(h5tools_getstatus()); - -} /* end main() */ - diff --git a/tools/h5format_convert/testfiles/h5fc_d_file.ddl b/tools/h5format_convert/testfiles/h5fc_d_file.ddl deleted file mode 100644 index 38fc432..0000000 --- a/tools/h5format_convert/testfiles/h5fc_d_file.ddl +++ /dev/null @@ -1,26 +0,0 @@ -usage: h5format_convert [OPTIONS] file_name - OPTIONS - -h, --help Print a usage message and exit - -V, --version Print version number and exit - -v, --verbose Turn on verbose mode - -d dname, --dname=dataset_name Pathname for the dataset - -n, --noop Perform all the steps except the actual conversion - -Examples of use: - -h5format_convert -d /group/dataset file_name - Convert the dataset </group/dataset> in the HDF5 file <file_name>: - a. chunked dataset: convert the chunk indexing type to version 1 B-tree - b. compact/contiguous dataset: downgrade the layout version to 3 - c. virtual dataset: no action - -h5format_convert file_name - Convert all datasets in the HDF5 file <file_name>: - a. chunked dataset: convert the chunk indexing type to version 1 B-tree - b. compact/contiguous dataset: downgrade the layout version to 3 - c. virtual dataset: no action - -h5format_convert -n -d /group/dataset file_name - Go through all the steps except the actual conversion when - converting the dataset </group/dataset> in the HDF5 file <file_name>. -h5format_convert error: missing file name diff --git a/tools/h5format_convert/testfiles/h5fc_dname.ddl b/tools/h5format_convert/testfiles/h5fc_dname.ddl deleted file mode 100644 index 48564b7..0000000 --- a/tools/h5format_convert/testfiles/h5fc_dname.ddl +++ /dev/null @@ -1,26 +0,0 @@ -usage: h5format_convert [OPTIONS] file_name - OPTIONS - -h, --help Print a usage message and exit - -V, --version Print version number and exit - -v, --verbose Turn on verbose mode - -d dname, --dname=dataset_name Pathname for the dataset - -n, --noop Perform all the steps except the actual conversion - -Examples of use: - -h5format_convert -d /group/dataset file_name - Convert the dataset </group/dataset> in the HDF5 file <file_name>: - a. chunked dataset: convert the chunk indexing type to version 1 B-tree - b. compact/contiguous dataset: downgrade the layout version to 3 - c. virtual dataset: no action - -h5format_convert file_name - Convert all datasets in the HDF5 file <file_name>: - a. chunked dataset: convert the chunk indexing type to version 1 B-tree - b. compact/contiguous dataset: downgrade the layout version to 3 - c. virtual dataset: no action - -h5format_convert -n -d /group/dataset file_name - Go through all the steps except the actual conversion when - converting the dataset </group/dataset> in the HDF5 file <file_name>. -h5format_convert error: No dataset name diff --git a/tools/h5format_convert/testfiles/h5fc_edge_v3.h5 b/tools/h5format_convert/testfiles/h5fc_edge_v3.h5 Binary files differdeleted file mode 100644 index ac7dbd3..0000000 --- a/tools/h5format_convert/testfiles/h5fc_edge_v3.h5 +++ /dev/null diff --git a/tools/h5format_convert/testfiles/h5fc_err_level.h5 b/tools/h5format_convert/testfiles/h5fc_err_level.h5 Binary files differdeleted file mode 100644 index a10e8a4..0000000 --- a/tools/h5format_convert/testfiles/h5fc_err_level.h5 +++ /dev/null diff --git a/tools/h5format_convert/testfiles/h5fc_ext1_f.ddl b/tools/h5format_convert/testfiles/h5fc_ext1_f.ddl deleted file mode 100644 index dae9284..0000000 --- a/tools/h5format_convert/testfiles/h5fc_ext1_f.ddl +++ /dev/null @@ -1,58 +0,0 @@ -HDF5 "./testfiles/dmptmp.h5" { -SUPER_BLOCK { - SUPERBLOCK_VERSION 2 - FREELIST_VERSION 0 - SYMBOLTABLE_VERSION 0 - OBJECTHEADER_VERSION 0 - OFFSET_SIZE 8 - LENGTH_SIZE 8 - BTREE_RANK 16 - BTREE_LEAF 4 - ISTORE_K 32 - FILE_SPACE_STRATEGY H5F_FILE_SPACE_ALL - FREE_SPACE_THRESHOLD 1 - USER_BLOCK { - USERBLOCK_SIZE 0 - } -} -GROUP "/" { - DATASET "DSET_CONTIGUOUS" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 10 ) / ( 10 ) } - } - DATASET "DSET_EA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 10, H5S_UNLIMITED ) } - } - DATASET "DSET_FA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 20, 10 ) } - } - DATASET "DSET_NDATA_BT2" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( H5S_UNLIMITED, H5S_UNLIMITED ) } - } - DATASET "DSET_NONE" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 4, 6 ) } - } - GROUP "GROUP" { - DATASET "DSET_BT2" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( H5S_UNLIMITED, H5S_UNLIMITED ) } - } - DATASET "DSET_NDATA_EA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 10, H5S_UNLIMITED ) } - } - DATASET "DSET_NDATA_FA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 20, 10 ) } - } - DATASET "DSET_NDATA_NONE" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 4, 6 ) } - } - } -} -} diff --git a/tools/h5format_convert/testfiles/h5fc_ext1_f.h5 b/tools/h5format_convert/testfiles/h5fc_ext1_f.h5 Binary files differdeleted file mode 100644 index 68ba2ac..0000000 --- a/tools/h5format_convert/testfiles/h5fc_ext1_f.h5 +++ /dev/null diff --git a/tools/h5format_convert/testfiles/h5fc_ext1_i.ddl b/tools/h5format_convert/testfiles/h5fc_ext1_i.ddl deleted file mode 100644 index 8ec4656..0000000 --- a/tools/h5format_convert/testfiles/h5fc_ext1_i.ddl +++ /dev/null @@ -1,58 +0,0 @@ -HDF5 "./testfiles/dmptmp.h5" { -SUPER_BLOCK { - SUPERBLOCK_VERSION 2 - FREELIST_VERSION 0 - SYMBOLTABLE_VERSION 0 - OBJECTHEADER_VERSION 0 - OFFSET_SIZE 8 - LENGTH_SIZE 8 - BTREE_RANK 16 - BTREE_LEAF 4 - ISTORE_K 64 - FILE_SPACE_STRATEGY H5F_FILE_SPACE_ALL - FREE_SPACE_THRESHOLD 1 - USER_BLOCK { - USERBLOCK_SIZE 0 - } -} -GROUP "/" { - DATASET "DSET_CONTIGUOUS" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 10 ) / ( 10 ) } - } - DATASET "DSET_EA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 10, H5S_UNLIMITED ) } - } - DATASET "DSET_FA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 20, 10 ) } - } - DATASET "DSET_NDATA_BT2" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( H5S_UNLIMITED, H5S_UNLIMITED ) } - } - DATASET "DSET_NONE" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 4, 6 ) } - } - GROUP "GROUP" { - DATASET "DSET_BT2" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( H5S_UNLIMITED, H5S_UNLIMITED ) } - } - DATASET "DSET_NDATA_EA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 10, H5S_UNLIMITED ) } - } - DATASET "DSET_NDATA_FA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 20, 10 ) } - } - DATASET "DSET_NDATA_NONE" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 4, 6 ) } - } - } -} -} diff --git a/tools/h5format_convert/testfiles/h5fc_ext1_i.h5 b/tools/h5format_convert/testfiles/h5fc_ext1_i.h5 Binary files differdeleted file mode 100644 index 1a58089..0000000 --- a/tools/h5format_convert/testfiles/h5fc_ext1_i.h5 +++ /dev/null diff --git a/tools/h5format_convert/testfiles/h5fc_ext1_s.ddl b/tools/h5format_convert/testfiles/h5fc_ext1_s.ddl deleted file mode 100644 index dae9284..0000000 --- a/tools/h5format_convert/testfiles/h5fc_ext1_s.ddl +++ /dev/null @@ -1,58 +0,0 @@ -HDF5 "./testfiles/dmptmp.h5" { -SUPER_BLOCK { - SUPERBLOCK_VERSION 2 - FREELIST_VERSION 0 - SYMBOLTABLE_VERSION 0 - OBJECTHEADER_VERSION 0 - OFFSET_SIZE 8 - LENGTH_SIZE 8 - BTREE_RANK 16 - BTREE_LEAF 4 - ISTORE_K 32 - FILE_SPACE_STRATEGY H5F_FILE_SPACE_ALL - FREE_SPACE_THRESHOLD 1 - USER_BLOCK { - USERBLOCK_SIZE 0 - } -} -GROUP "/" { - DATASET "DSET_CONTIGUOUS" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 10 ) / ( 10 ) } - } - DATASET "DSET_EA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 10, H5S_UNLIMITED ) } - } - DATASET "DSET_FA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 20, 10 ) } - } - DATASET "DSET_NDATA_BT2" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( H5S_UNLIMITED, H5S_UNLIMITED ) } - } - DATASET "DSET_NONE" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 4, 6 ) } - } - GROUP "GROUP" { - DATASET "DSET_BT2" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( H5S_UNLIMITED, H5S_UNLIMITED ) } - } - DATASET "DSET_NDATA_EA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 10, H5S_UNLIMITED ) } - } - DATASET "DSET_NDATA_FA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 20, 10 ) } - } - DATASET "DSET_NDATA_NONE" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 4, 6 ) } - } - } -} -} diff --git a/tools/h5format_convert/testfiles/h5fc_ext1_s.h5 b/tools/h5format_convert/testfiles/h5fc_ext1_s.h5 Binary files differdeleted file mode 100644 index 26e9b25..0000000 --- a/tools/h5format_convert/testfiles/h5fc_ext1_s.h5 +++ /dev/null diff --git a/tools/h5format_convert/testfiles/h5fc_ext2_if.ddl b/tools/h5format_convert/testfiles/h5fc_ext2_if.ddl deleted file mode 100644 index 8ec4656..0000000 --- a/tools/h5format_convert/testfiles/h5fc_ext2_if.ddl +++ /dev/null @@ -1,58 +0,0 @@ -HDF5 "./testfiles/dmptmp.h5" { -SUPER_BLOCK { - SUPERBLOCK_VERSION 2 - FREELIST_VERSION 0 - SYMBOLTABLE_VERSION 0 - OBJECTHEADER_VERSION 0 - OFFSET_SIZE 8 - LENGTH_SIZE 8 - BTREE_RANK 16 - BTREE_LEAF 4 - ISTORE_K 64 - FILE_SPACE_STRATEGY H5F_FILE_SPACE_ALL - FREE_SPACE_THRESHOLD 1 - USER_BLOCK { - USERBLOCK_SIZE 0 - } -} -GROUP "/" { - DATASET "DSET_CONTIGUOUS" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 10 ) / ( 10 ) } - } - DATASET "DSET_EA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 10, H5S_UNLIMITED ) } - } - DATASET "DSET_FA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 20, 10 ) } - } - DATASET "DSET_NDATA_BT2" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( H5S_UNLIMITED, H5S_UNLIMITED ) } - } - DATASET "DSET_NONE" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 4, 6 ) } - } - GROUP "GROUP" { - DATASET "DSET_BT2" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( H5S_UNLIMITED, H5S_UNLIMITED ) } - } - DATASET "DSET_NDATA_EA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 10, H5S_UNLIMITED ) } - } - DATASET "DSET_NDATA_FA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 20, 10 ) } - } - DATASET "DSET_NDATA_NONE" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 4, 6 ) } - } - } -} -} diff --git a/tools/h5format_convert/testfiles/h5fc_ext2_if.h5 b/tools/h5format_convert/testfiles/h5fc_ext2_if.h5 Binary files differdeleted file mode 100644 index e5c5e25..0000000 --- a/tools/h5format_convert/testfiles/h5fc_ext2_if.h5 +++ /dev/null diff --git a/tools/h5format_convert/testfiles/h5fc_ext2_is.ddl b/tools/h5format_convert/testfiles/h5fc_ext2_is.ddl deleted file mode 100644 index 8ec4656..0000000 --- a/tools/h5format_convert/testfiles/h5fc_ext2_is.ddl +++ /dev/null @@ -1,58 +0,0 @@ -HDF5 "./testfiles/dmptmp.h5" { -SUPER_BLOCK { - SUPERBLOCK_VERSION 2 - FREELIST_VERSION 0 - SYMBOLTABLE_VERSION 0 - OBJECTHEADER_VERSION 0 - OFFSET_SIZE 8 - LENGTH_SIZE 8 - BTREE_RANK 16 - BTREE_LEAF 4 - ISTORE_K 64 - FILE_SPACE_STRATEGY H5F_FILE_SPACE_ALL - FREE_SPACE_THRESHOLD 1 - USER_BLOCK { - USERBLOCK_SIZE 0 - } -} -GROUP "/" { - DATASET "DSET_CONTIGUOUS" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 10 ) / ( 10 ) } - } - DATASET "DSET_EA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 10, H5S_UNLIMITED ) } - } - DATASET "DSET_FA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 20, 10 ) } - } - DATASET "DSET_NDATA_BT2" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( H5S_UNLIMITED, H5S_UNLIMITED ) } - } - DATASET "DSET_NONE" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 4, 6 ) } - } - GROUP "GROUP" { - DATASET "DSET_BT2" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( H5S_UNLIMITED, H5S_UNLIMITED ) } - } - DATASET "DSET_NDATA_EA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 10, H5S_UNLIMITED ) } - } - DATASET "DSET_NDATA_FA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 20, 10 ) } - } - DATASET "DSET_NDATA_NONE" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 4, 6 ) } - } - } -} -} diff --git a/tools/h5format_convert/testfiles/h5fc_ext2_is.h5 b/tools/h5format_convert/testfiles/h5fc_ext2_is.h5 Binary files differdeleted file mode 100644 index 0e3eca7..0000000 --- a/tools/h5format_convert/testfiles/h5fc_ext2_is.h5 +++ /dev/null diff --git a/tools/h5format_convert/testfiles/h5fc_ext2_sf.ddl b/tools/h5format_convert/testfiles/h5fc_ext2_sf.ddl deleted file mode 100644 index dae9284..0000000 --- a/tools/h5format_convert/testfiles/h5fc_ext2_sf.ddl +++ /dev/null @@ -1,58 +0,0 @@ -HDF5 "./testfiles/dmptmp.h5" { -SUPER_BLOCK { - SUPERBLOCK_VERSION 2 - FREELIST_VERSION 0 - SYMBOLTABLE_VERSION 0 - OBJECTHEADER_VERSION 0 - OFFSET_SIZE 8 - LENGTH_SIZE 8 - BTREE_RANK 16 - BTREE_LEAF 4 - ISTORE_K 32 - FILE_SPACE_STRATEGY H5F_FILE_SPACE_ALL - FREE_SPACE_THRESHOLD 1 - USER_BLOCK { - USERBLOCK_SIZE 0 - } -} -GROUP "/" { - DATASET "DSET_CONTIGUOUS" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 10 ) / ( 10 ) } - } - DATASET "DSET_EA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 10, H5S_UNLIMITED ) } - } - DATASET "DSET_FA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 20, 10 ) } - } - DATASET "DSET_NDATA_BT2" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( H5S_UNLIMITED, H5S_UNLIMITED ) } - } - DATASET "DSET_NONE" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 4, 6 ) } - } - GROUP "GROUP" { - DATASET "DSET_BT2" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( H5S_UNLIMITED, H5S_UNLIMITED ) } - } - DATASET "DSET_NDATA_EA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 10, H5S_UNLIMITED ) } - } - DATASET "DSET_NDATA_FA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 20, 10 ) } - } - DATASET "DSET_NDATA_NONE" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 4, 6 ) } - } - } -} -} diff --git a/tools/h5format_convert/testfiles/h5fc_ext2_sf.h5 b/tools/h5format_convert/testfiles/h5fc_ext2_sf.h5 Binary files differdeleted file mode 100644 index cb15f03..0000000 --- a/tools/h5format_convert/testfiles/h5fc_ext2_sf.h5 +++ /dev/null diff --git a/tools/h5format_convert/testfiles/h5fc_ext3_isf.ddl b/tools/h5format_convert/testfiles/h5fc_ext3_isf.ddl deleted file mode 100644 index 8ec4656..0000000 --- a/tools/h5format_convert/testfiles/h5fc_ext3_isf.ddl +++ /dev/null @@ -1,58 +0,0 @@ -HDF5 "./testfiles/dmptmp.h5" { -SUPER_BLOCK { - SUPERBLOCK_VERSION 2 - FREELIST_VERSION 0 - SYMBOLTABLE_VERSION 0 - OBJECTHEADER_VERSION 0 - OFFSET_SIZE 8 - LENGTH_SIZE 8 - BTREE_RANK 16 - BTREE_LEAF 4 - ISTORE_K 64 - FILE_SPACE_STRATEGY H5F_FILE_SPACE_ALL - FREE_SPACE_THRESHOLD 1 - USER_BLOCK { - USERBLOCK_SIZE 0 - } -} -GROUP "/" { - DATASET "DSET_CONTIGUOUS" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 10 ) / ( 10 ) } - } - DATASET "DSET_EA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 10, H5S_UNLIMITED ) } - } - DATASET "DSET_FA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 20, 10 ) } - } - DATASET "DSET_NDATA_BT2" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( H5S_UNLIMITED, H5S_UNLIMITED ) } - } - DATASET "DSET_NONE" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 4, 6 ) } - } - GROUP "GROUP" { - DATASET "DSET_BT2" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( H5S_UNLIMITED, H5S_UNLIMITED ) } - } - DATASET "DSET_NDATA_EA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 10, H5S_UNLIMITED ) } - } - DATASET "DSET_NDATA_FA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 20, 10 ) } - } - DATASET "DSET_NDATA_NONE" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 4, 6 ) } - } - } -} -} diff --git a/tools/h5format_convert/testfiles/h5fc_ext3_isf.h5 b/tools/h5format_convert/testfiles/h5fc_ext3_isf.h5 Binary files differdeleted file mode 100644 index d46cef4..0000000 --- a/tools/h5format_convert/testfiles/h5fc_ext3_isf.h5 +++ /dev/null diff --git a/tools/h5format_convert/testfiles/h5fc_ext_none.h5 b/tools/h5format_convert/testfiles/h5fc_ext_none.h5 Binary files differdeleted file mode 100644 index defbcb3..0000000 --- a/tools/h5format_convert/testfiles/h5fc_ext_none.h5 +++ /dev/null diff --git a/tools/h5format_convert/testfiles/h5fc_help.ddl b/tools/h5format_convert/testfiles/h5fc_help.ddl deleted file mode 100644 index bc0229c..0000000 --- a/tools/h5format_convert/testfiles/h5fc_help.ddl +++ /dev/null @@ -1,25 +0,0 @@ -usage: h5format_convert [OPTIONS] file_name - OPTIONS - -h, --help Print a usage message and exit - -V, --version Print version number and exit - -v, --verbose Turn on verbose mode - -d dname, --dname=dataset_name Pathname for the dataset - -n, --noop Perform all the steps except the actual conversion - -Examples of use: - -h5format_convert -d /group/dataset file_name - Convert the dataset </group/dataset> in the HDF5 file <file_name>: - a. chunked dataset: convert the chunk indexing type to version 1 B-tree - b. compact/contiguous dataset: downgrade the layout version to 3 - c. virtual dataset: no action - -h5format_convert file_name - Convert all datasets in the HDF5 file <file_name>: - a. chunked dataset: convert the chunk indexing type to version 1 B-tree - b. compact/contiguous dataset: downgrade the layout version to 3 - c. virtual dataset: no action - -h5format_convert -n -d /group/dataset file_name - Go through all the steps except the actual conversion when - converting the dataset </group/dataset> in the HDF5 file <file_name>. diff --git a/tools/h5format_convert/testfiles/h5fc_non_v3.h5 b/tools/h5format_convert/testfiles/h5fc_non_v3.h5 Binary files differdeleted file mode 100644 index 58a340d..0000000 --- a/tools/h5format_convert/testfiles/h5fc_non_v3.h5 +++ /dev/null diff --git a/tools/h5format_convert/testfiles/h5fc_nonexistdset_file.ddl b/tools/h5format_convert/testfiles/h5fc_nonexistdset_file.ddl deleted file mode 100644 index 39450c0..0000000 --- a/tools/h5format_convert/testfiles/h5fc_nonexistdset_file.ddl +++ /dev/null @@ -1 +0,0 @@ -h5format_convert error: unable to open dataset "nonexist" diff --git a/tools/h5format_convert/testfiles/h5fc_nonexistfile.ddl b/tools/h5format_convert/testfiles/h5fc_nonexistfile.ddl deleted file mode 100644 index 706ea9d..0000000 --- a/tools/h5format_convert/testfiles/h5fc_nonexistfile.ddl +++ /dev/null @@ -1 +0,0 @@ -h5format_convert error: unable to open file "nonexist.h5" diff --git a/tools/h5format_convert/testfiles/h5fc_nooption.ddl b/tools/h5format_convert/testfiles/h5fc_nooption.ddl deleted file mode 100644 index bc0229c..0000000 --- a/tools/h5format_convert/testfiles/h5fc_nooption.ddl +++ /dev/null @@ -1,25 +0,0 @@ -usage: h5format_convert [OPTIONS] file_name - OPTIONS - -h, --help Print a usage message and exit - -V, --version Print version number and exit - -v, --verbose Turn on verbose mode - -d dname, --dname=dataset_name Pathname for the dataset - -n, --noop Perform all the steps except the actual conversion - -Examples of use: - -h5format_convert -d /group/dataset file_name - Convert the dataset </group/dataset> in the HDF5 file <file_name>: - a. chunked dataset: convert the chunk indexing type to version 1 B-tree - b. compact/contiguous dataset: downgrade the layout version to 3 - c. virtual dataset: no action - -h5format_convert file_name - Convert all datasets in the HDF5 file <file_name>: - a. chunked dataset: convert the chunk indexing type to version 1 B-tree - b. compact/contiguous dataset: downgrade the layout version to 3 - c. virtual dataset: no action - -h5format_convert -n -d /group/dataset file_name - Go through all the steps except the actual conversion when - converting the dataset </group/dataset> in the HDF5 file <file_name>. diff --git a/tools/h5format_convert/testfiles/h5fc_v_all.ddl b/tools/h5format_convert/testfiles/h5fc_v_all.ddl deleted file mode 100644 index a1af831..0000000 --- a/tools/h5format_convert/testfiles/h5fc_v_all.ddl +++ /dev/null @@ -1,77 +0,0 @@ -Process command line options -Open the file outtmp.h5 -Processing all datasets in the file... -Going to process dataset:/DSET_CONTIGUOUS... -Open the dataset -Retrieve the dataset's layout -Dataset is a contiguous dataset: downgrade layout version as needed -Converting the dataset... -Done -Close the dataset -Close the dataset creation property list -Going to process dataset:/DSET_EA... -Open the dataset -Retrieve the dataset's layout -Dataset is a chunked dataset -Retrieve the dataset's chunk indexing type -Dataset's chunk indexing type is already version 1 B-tree: no further action -Close the dataset -Close the dataset creation property list -Going to process dataset:/DSET_FA... -Open the dataset -Retrieve the dataset's layout -Dataset is a chunked dataset -Retrieve the dataset's chunk indexing type -Dataset's chunk indexing type is already version 1 B-tree: no further action -Close the dataset -Close the dataset creation property list -Going to process dataset:/DSET_NDATA_BT2... -Open the dataset -Retrieve the dataset's layout -Dataset is a chunked dataset -Retrieve the dataset's chunk indexing type -Dataset's chunk indexing type is already version 1 B-tree: no further action -Close the dataset -Close the dataset creation property list -Going to process dataset:/DSET_NONE... -Open the dataset -Retrieve the dataset's layout -Dataset is a chunked dataset -Retrieve the dataset's chunk indexing type -Dataset's chunk indexing type is already version 1 B-tree: no further action -Close the dataset -Close the dataset creation property list -Going to process dataset:/GROUP/DSET_BT2... -Open the dataset -Retrieve the dataset's layout -Dataset is a chunked dataset -Retrieve the dataset's chunk indexing type -Dataset's chunk indexing type is already version 1 B-tree: no further action -Close the dataset -Close the dataset creation property list -Going to process dataset:/GROUP/DSET_NDATA_EA... -Open the dataset -Retrieve the dataset's layout -Dataset is a chunked dataset -Retrieve the dataset's chunk indexing type -Dataset's chunk indexing type is already version 1 B-tree: no further action -Close the dataset -Close the dataset creation property list -Going to process dataset:/GROUP/DSET_NDATA_FA... -Open the dataset -Retrieve the dataset's layout -Dataset is a chunked dataset -Retrieve the dataset's chunk indexing type -Dataset's chunk indexing type is already version 1 B-tree: no further action -Close the dataset -Close the dataset creation property list -Going to process dataset:/GROUP/DSET_NDATA_NONE... -Open the dataset -Retrieve the dataset's layout -Dataset is a chunked dataset -Retrieve the dataset's chunk indexing type -Dataset's chunk indexing type is already version 1 B-tree: no further action -Close the dataset -Close the dataset creation property list -Processing the file's superblock... -Close the file diff --git a/tools/h5format_convert/testfiles/h5fc_v_bt1.ddl b/tools/h5format_convert/testfiles/h5fc_v_bt1.ddl deleted file mode 100644 index 31de12a..0000000 --- a/tools/h5format_convert/testfiles/h5fc_v_bt1.ddl +++ /dev/null @@ -1,12 +0,0 @@ -Process command line options -Open the file outtmp.h5 -Going to process dataset: /GROUP/DSET_BT2... -Open the dataset -Retrieve the dataset's layout -Dataset is a chunked dataset -Retrieve the dataset's chunk indexing type -Dataset's chunk indexing type is already version 1 B-tree: no further action -Close the dataset -Close the dataset creation property list -Processing the file's superblock... -Close the file diff --git a/tools/h5format_convert/testfiles/h5fc_v_err.ddl b/tools/h5format_convert/testfiles/h5fc_v_err.ddl deleted file mode 100644 index b671db0..0000000 --- a/tools/h5format_convert/testfiles/h5fc_v_err.ddl +++ /dev/null @@ -1,13 +0,0 @@ -Process command line options -Open the file outtmp.h5 -Processing all datasets in the file... -Going to process dataset:/DSET_ERR... -Open the dataset -Retrieve the dataset's layout -Dataset is a chunked dataset -Retrieve the dataset's chunk indexing type -Dataset's chunk indexing type is not version 1 B-tree -Converting the dataset... -Error encountered -Close the file -h5format_convert error: unable to downgrade dataset "/DSET_ERR" diff --git a/tools/h5format_convert/testfiles/h5fc_v_n_1d.ddl b/tools/h5format_convert/testfiles/h5fc_v_n_1d.ddl deleted file mode 100644 index fcdadd8..0000000 --- a/tools/h5format_convert/testfiles/h5fc_v_n_1d.ddl +++ /dev/null @@ -1,14 +0,0 @@ -Process command line options -It is noop... -Open the file outtmp.h5 -Going to process dataset: /DSET_EA... -Open the dataset -Retrieve the dataset's layout -Dataset is a chunked dataset -Retrieve the dataset's chunk indexing type -Dataset's chunk indexing type is not version 1 B-tree -Not converting the dataset -Close the dataset -Close the dataset creation property list -Not processing the file's superblock... -Close the file diff --git a/tools/h5format_convert/testfiles/h5fc_v_n_all.ddl b/tools/h5format_convert/testfiles/h5fc_v_n_all.ddl deleted file mode 100644 index 074ce6f..0000000 --- a/tools/h5format_convert/testfiles/h5fc_v_n_all.ddl +++ /dev/null @@ -1,56 +0,0 @@ -Process command line options -It is noop... -Open the file outtmp.h5 -Processing all datasets in the file... -Going to process dataset:/DSET_CONTIGUOUS... -Open the dataset -Retrieve the dataset's layout -Dataset is a contiguous dataset: downgrade layout version as needed -Not converting the dataset -Close the dataset -Close the dataset creation property list -Going to process dataset:/DSET_NDATA_BT2... -Open the dataset -Retrieve the dataset's layout -Dataset is a chunked dataset -Retrieve the dataset's chunk indexing type -Dataset's chunk indexing type is not version 1 B-tree -Not converting the dataset -Close the dataset -Close the dataset creation property list -Going to process dataset:/DSET_NDATA_EA... -Open the dataset -Retrieve the dataset's layout -Dataset is a chunked dataset -Retrieve the dataset's chunk indexing type -Dataset's chunk indexing type is not version 1 B-tree -Not converting the dataset -Close the dataset -Close the dataset creation property list -Going to process dataset:/GROUP/DSET_BT2... -Open the dataset -Retrieve the dataset's layout -Dataset is a chunked dataset -Retrieve the dataset's chunk indexing type -Dataset's chunk indexing type is not version 1 B-tree -Not converting the dataset -Close the dataset -Close the dataset creation property list -Going to process dataset:/GROUP/DSET_COMPACT... -Open the dataset -Retrieve the dataset's layout -Dataset is a contiguous dataset: downgrade layout version as needed -Not converting the dataset -Close the dataset -Close the dataset creation property list -Going to process dataset:/GROUP/DSET_EA... -Open the dataset -Retrieve the dataset's layout -Dataset is a chunked dataset -Retrieve the dataset's chunk indexing type -Dataset's chunk indexing type is not version 1 B-tree -Not converting the dataset -Close the dataset -Close the dataset creation property list -Not processing the file's superblock... -Close the file diff --git a/tools/h5format_convert/testfiles/h5fc_v_ndata_bt1.ddl b/tools/h5format_convert/testfiles/h5fc_v_ndata_bt1.ddl deleted file mode 100644 index c75699a..0000000 --- a/tools/h5format_convert/testfiles/h5fc_v_ndata_bt1.ddl +++ /dev/null @@ -1,13 +0,0 @@ -Process command line options -It is noop... -Open the file outtmp.h5 -Going to process dataset: /DSET_NDATA_BT2... -Open the dataset -Retrieve the dataset's layout -Dataset is a chunked dataset -Retrieve the dataset's chunk indexing type -Dataset's chunk indexing type is already version 1 B-tree: no further action -Close the dataset -Close the dataset creation property list -Not processing the file's superblock... -Close the file diff --git a/tools/h5format_convert/testfiles/h5fc_v_non_chunked.ddl b/tools/h5format_convert/testfiles/h5fc_v_non_chunked.ddl deleted file mode 100644 index 5945389..0000000 --- a/tools/h5format_convert/testfiles/h5fc_v_non_chunked.ddl +++ /dev/null @@ -1,12 +0,0 @@ -Process command line options -Open the file outtmp.h5 -Going to process dataset: /DSET_CONTIGUOUS... -Open the dataset -Retrieve the dataset's layout -Dataset is a contiguous dataset: downgrade layout version as needed -Converting the dataset... -Done -Close the dataset -Close the dataset creation property list -Processing the file's superblock... -Close the file diff --git a/tools/h5format_convert/testfiles/old_h5fc_ext1_f.ddl b/tools/h5format_convert/testfiles/old_h5fc_ext1_f.ddl deleted file mode 100644 index dae9284..0000000 --- a/tools/h5format_convert/testfiles/old_h5fc_ext1_f.ddl +++ /dev/null @@ -1,58 +0,0 @@ -HDF5 "./testfiles/dmptmp.h5" { -SUPER_BLOCK { - SUPERBLOCK_VERSION 2 - FREELIST_VERSION 0 - SYMBOLTABLE_VERSION 0 - OBJECTHEADER_VERSION 0 - OFFSET_SIZE 8 - LENGTH_SIZE 8 - BTREE_RANK 16 - BTREE_LEAF 4 - ISTORE_K 32 - FILE_SPACE_STRATEGY H5F_FILE_SPACE_ALL - FREE_SPACE_THRESHOLD 1 - USER_BLOCK { - USERBLOCK_SIZE 0 - } -} -GROUP "/" { - DATASET "DSET_CONTIGUOUS" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 10 ) / ( 10 ) } - } - DATASET "DSET_EA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 10, H5S_UNLIMITED ) } - } - DATASET "DSET_FA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 20, 10 ) } - } - DATASET "DSET_NDATA_BT2" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( H5S_UNLIMITED, H5S_UNLIMITED ) } - } - DATASET "DSET_NONE" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 4, 6 ) } - } - GROUP "GROUP" { - DATASET "DSET_BT2" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( H5S_UNLIMITED, H5S_UNLIMITED ) } - } - DATASET "DSET_NDATA_EA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 10, H5S_UNLIMITED ) } - } - DATASET "DSET_NDATA_FA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 20, 10 ) } - } - DATASET "DSET_NDATA_NONE" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 4, 6 ) } - } - } -} -} diff --git a/tools/h5format_convert/testfiles/old_h5fc_ext1_f.h5 b/tools/h5format_convert/testfiles/old_h5fc_ext1_f.h5 Binary files differdeleted file mode 100644 index 3cbc7f4..0000000 --- a/tools/h5format_convert/testfiles/old_h5fc_ext1_f.h5 +++ /dev/null diff --git a/tools/h5format_convert/testfiles/old_h5fc_ext1_i.ddl b/tools/h5format_convert/testfiles/old_h5fc_ext1_i.ddl deleted file mode 100644 index d1768c8..0000000 --- a/tools/h5format_convert/testfiles/old_h5fc_ext1_i.ddl +++ /dev/null @@ -1,58 +0,0 @@ -HDF5 "./testfiles/dmptmp.h5" { -SUPER_BLOCK { - SUPERBLOCK_VERSION 1 - FREELIST_VERSION 0 - SYMBOLTABLE_VERSION 0 - OBJECTHEADER_VERSION 0 - OFFSET_SIZE 8 - LENGTH_SIZE 8 - BTREE_RANK 16 - BTREE_LEAF 4 - ISTORE_K 64 - FILE_SPACE_STRATEGY H5F_FILE_SPACE_ALL - FREE_SPACE_THRESHOLD 1 - USER_BLOCK { - USERBLOCK_SIZE 0 - } -} -GROUP "/" { - DATASET "DSET_CONTIGUOUS" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 10 ) / ( 10 ) } - } - DATASET "DSET_EA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 10, H5S_UNLIMITED ) } - } - DATASET "DSET_FA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 20, 10 ) } - } - DATASET "DSET_NDATA_BT2" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( H5S_UNLIMITED, H5S_UNLIMITED ) } - } - DATASET "DSET_NONE" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 4, 6 ) } - } - GROUP "GROUP" { - DATASET "DSET_BT2" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( H5S_UNLIMITED, H5S_UNLIMITED ) } - } - DATASET "DSET_NDATA_EA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 10, H5S_UNLIMITED ) } - } - DATASET "DSET_NDATA_FA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 20, 10 ) } - } - DATASET "DSET_NDATA_NONE" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 4, 6 ) } - } - } -} -} diff --git a/tools/h5format_convert/testfiles/old_h5fc_ext1_i.h5 b/tools/h5format_convert/testfiles/old_h5fc_ext1_i.h5 Binary files differdeleted file mode 100644 index a2c9187..0000000 --- a/tools/h5format_convert/testfiles/old_h5fc_ext1_i.h5 +++ /dev/null diff --git a/tools/h5format_convert/testfiles/old_h5fc_ext1_s.ddl b/tools/h5format_convert/testfiles/old_h5fc_ext1_s.ddl deleted file mode 100644 index dae9284..0000000 --- a/tools/h5format_convert/testfiles/old_h5fc_ext1_s.ddl +++ /dev/null @@ -1,58 +0,0 @@ -HDF5 "./testfiles/dmptmp.h5" { -SUPER_BLOCK { - SUPERBLOCK_VERSION 2 - FREELIST_VERSION 0 - SYMBOLTABLE_VERSION 0 - OBJECTHEADER_VERSION 0 - OFFSET_SIZE 8 - LENGTH_SIZE 8 - BTREE_RANK 16 - BTREE_LEAF 4 - ISTORE_K 32 - FILE_SPACE_STRATEGY H5F_FILE_SPACE_ALL - FREE_SPACE_THRESHOLD 1 - USER_BLOCK { - USERBLOCK_SIZE 0 - } -} -GROUP "/" { - DATASET "DSET_CONTIGUOUS" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 10 ) / ( 10 ) } - } - DATASET "DSET_EA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 10, H5S_UNLIMITED ) } - } - DATASET "DSET_FA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 20, 10 ) } - } - DATASET "DSET_NDATA_BT2" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( H5S_UNLIMITED, H5S_UNLIMITED ) } - } - DATASET "DSET_NONE" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 4, 6 ) } - } - GROUP "GROUP" { - DATASET "DSET_BT2" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( H5S_UNLIMITED, H5S_UNLIMITED ) } - } - DATASET "DSET_NDATA_EA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 10, H5S_UNLIMITED ) } - } - DATASET "DSET_NDATA_FA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 20, 10 ) } - } - DATASET "DSET_NDATA_NONE" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 4, 6 ) } - } - } -} -} diff --git a/tools/h5format_convert/testfiles/old_h5fc_ext1_s.h5 b/tools/h5format_convert/testfiles/old_h5fc_ext1_s.h5 Binary files differdeleted file mode 100644 index fdf4f33..0000000 --- a/tools/h5format_convert/testfiles/old_h5fc_ext1_s.h5 +++ /dev/null diff --git a/tools/h5format_convert/testfiles/old_h5fc_ext2_if.ddl b/tools/h5format_convert/testfiles/old_h5fc_ext2_if.ddl deleted file mode 100644 index 8ec4656..0000000 --- a/tools/h5format_convert/testfiles/old_h5fc_ext2_if.ddl +++ /dev/null @@ -1,58 +0,0 @@ -HDF5 "./testfiles/dmptmp.h5" { -SUPER_BLOCK { - SUPERBLOCK_VERSION 2 - FREELIST_VERSION 0 - SYMBOLTABLE_VERSION 0 - OBJECTHEADER_VERSION 0 - OFFSET_SIZE 8 - LENGTH_SIZE 8 - BTREE_RANK 16 - BTREE_LEAF 4 - ISTORE_K 64 - FILE_SPACE_STRATEGY H5F_FILE_SPACE_ALL - FREE_SPACE_THRESHOLD 1 - USER_BLOCK { - USERBLOCK_SIZE 0 - } -} -GROUP "/" { - DATASET "DSET_CONTIGUOUS" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 10 ) / ( 10 ) } - } - DATASET "DSET_EA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 10, H5S_UNLIMITED ) } - } - DATASET "DSET_FA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 20, 10 ) } - } - DATASET "DSET_NDATA_BT2" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( H5S_UNLIMITED, H5S_UNLIMITED ) } - } - DATASET "DSET_NONE" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 4, 6 ) } - } - GROUP "GROUP" { - DATASET "DSET_BT2" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( H5S_UNLIMITED, H5S_UNLIMITED ) } - } - DATASET "DSET_NDATA_EA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 10, H5S_UNLIMITED ) } - } - DATASET "DSET_NDATA_FA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 20, 10 ) } - } - DATASET "DSET_NDATA_NONE" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 4, 6 ) } - } - } -} -} diff --git a/tools/h5format_convert/testfiles/old_h5fc_ext2_if.h5 b/tools/h5format_convert/testfiles/old_h5fc_ext2_if.h5 Binary files differdeleted file mode 100644 index 6bf0a2f..0000000 --- a/tools/h5format_convert/testfiles/old_h5fc_ext2_if.h5 +++ /dev/null diff --git a/tools/h5format_convert/testfiles/old_h5fc_ext2_is.ddl b/tools/h5format_convert/testfiles/old_h5fc_ext2_is.ddl deleted file mode 100644 index 8ec4656..0000000 --- a/tools/h5format_convert/testfiles/old_h5fc_ext2_is.ddl +++ /dev/null @@ -1,58 +0,0 @@ -HDF5 "./testfiles/dmptmp.h5" { -SUPER_BLOCK { - SUPERBLOCK_VERSION 2 - FREELIST_VERSION 0 - SYMBOLTABLE_VERSION 0 - OBJECTHEADER_VERSION 0 - OFFSET_SIZE 8 - LENGTH_SIZE 8 - BTREE_RANK 16 - BTREE_LEAF 4 - ISTORE_K 64 - FILE_SPACE_STRATEGY H5F_FILE_SPACE_ALL - FREE_SPACE_THRESHOLD 1 - USER_BLOCK { - USERBLOCK_SIZE 0 - } -} -GROUP "/" { - DATASET "DSET_CONTIGUOUS" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 10 ) / ( 10 ) } - } - DATASET "DSET_EA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 10, H5S_UNLIMITED ) } - } - DATASET "DSET_FA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 20, 10 ) } - } - DATASET "DSET_NDATA_BT2" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( H5S_UNLIMITED, H5S_UNLIMITED ) } - } - DATASET "DSET_NONE" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 4, 6 ) } - } - GROUP "GROUP" { - DATASET "DSET_BT2" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( H5S_UNLIMITED, H5S_UNLIMITED ) } - } - DATASET "DSET_NDATA_EA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 10, H5S_UNLIMITED ) } - } - DATASET "DSET_NDATA_FA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 20, 10 ) } - } - DATASET "DSET_NDATA_NONE" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 4, 6 ) } - } - } -} -} diff --git a/tools/h5format_convert/testfiles/old_h5fc_ext2_is.h5 b/tools/h5format_convert/testfiles/old_h5fc_ext2_is.h5 Binary files differdeleted file mode 100644 index c0c7ecc..0000000 --- a/tools/h5format_convert/testfiles/old_h5fc_ext2_is.h5 +++ /dev/null diff --git a/tools/h5format_convert/testfiles/old_h5fc_ext2_sf.ddl b/tools/h5format_convert/testfiles/old_h5fc_ext2_sf.ddl deleted file mode 100644 index dae9284..0000000 --- a/tools/h5format_convert/testfiles/old_h5fc_ext2_sf.ddl +++ /dev/null @@ -1,58 +0,0 @@ -HDF5 "./testfiles/dmptmp.h5" { -SUPER_BLOCK { - SUPERBLOCK_VERSION 2 - FREELIST_VERSION 0 - SYMBOLTABLE_VERSION 0 - OBJECTHEADER_VERSION 0 - OFFSET_SIZE 8 - LENGTH_SIZE 8 - BTREE_RANK 16 - BTREE_LEAF 4 - ISTORE_K 32 - FILE_SPACE_STRATEGY H5F_FILE_SPACE_ALL - FREE_SPACE_THRESHOLD 1 - USER_BLOCK { - USERBLOCK_SIZE 0 - } -} -GROUP "/" { - DATASET "DSET_CONTIGUOUS" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 10 ) / ( 10 ) } - } - DATASET "DSET_EA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 10, H5S_UNLIMITED ) } - } - DATASET "DSET_FA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 20, 10 ) } - } - DATASET "DSET_NDATA_BT2" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( H5S_UNLIMITED, H5S_UNLIMITED ) } - } - DATASET "DSET_NONE" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 4, 6 ) } - } - GROUP "GROUP" { - DATASET "DSET_BT2" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( H5S_UNLIMITED, H5S_UNLIMITED ) } - } - DATASET "DSET_NDATA_EA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 10, H5S_UNLIMITED ) } - } - DATASET "DSET_NDATA_FA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 20, 10 ) } - } - DATASET "DSET_NDATA_NONE" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 4, 6 ) } - } - } -} -} diff --git a/tools/h5format_convert/testfiles/old_h5fc_ext2_sf.h5 b/tools/h5format_convert/testfiles/old_h5fc_ext2_sf.h5 Binary files differdeleted file mode 100644 index 055cabf..0000000 --- a/tools/h5format_convert/testfiles/old_h5fc_ext2_sf.h5 +++ /dev/null diff --git a/tools/h5format_convert/testfiles/old_h5fc_ext3_isf.ddl b/tools/h5format_convert/testfiles/old_h5fc_ext3_isf.ddl deleted file mode 100644 index 8ec4656..0000000 --- a/tools/h5format_convert/testfiles/old_h5fc_ext3_isf.ddl +++ /dev/null @@ -1,58 +0,0 @@ -HDF5 "./testfiles/dmptmp.h5" { -SUPER_BLOCK { - SUPERBLOCK_VERSION 2 - FREELIST_VERSION 0 - SYMBOLTABLE_VERSION 0 - OBJECTHEADER_VERSION 0 - OFFSET_SIZE 8 - LENGTH_SIZE 8 - BTREE_RANK 16 - BTREE_LEAF 4 - ISTORE_K 64 - FILE_SPACE_STRATEGY H5F_FILE_SPACE_ALL - FREE_SPACE_THRESHOLD 1 - USER_BLOCK { - USERBLOCK_SIZE 0 - } -} -GROUP "/" { - DATASET "DSET_CONTIGUOUS" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 10 ) / ( 10 ) } - } - DATASET "DSET_EA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 10, H5S_UNLIMITED ) } - } - DATASET "DSET_FA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 20, 10 ) } - } - DATASET "DSET_NDATA_BT2" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( H5S_UNLIMITED, H5S_UNLIMITED ) } - } - DATASET "DSET_NONE" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 4, 6 ) } - } - GROUP "GROUP" { - DATASET "DSET_BT2" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( H5S_UNLIMITED, H5S_UNLIMITED ) } - } - DATASET "DSET_NDATA_EA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 10, H5S_UNLIMITED ) } - } - DATASET "DSET_NDATA_FA" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 20, 10 ) } - } - DATASET "DSET_NDATA_NONE" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 4, 6 ) / ( 4, 6 ) } - } - } -} -} diff --git a/tools/h5format_convert/testfiles/old_h5fc_ext3_isf.h5 b/tools/h5format_convert/testfiles/old_h5fc_ext3_isf.h5 Binary files differdeleted file mode 100644 index f4caaf4..0000000 --- a/tools/h5format_convert/testfiles/old_h5fc_ext3_isf.h5 +++ /dev/null diff --git a/tools/h5format_convert/testfiles/old_h5fc_ext_none.h5 b/tools/h5format_convert/testfiles/old_h5fc_ext_none.h5 Binary files differdeleted file mode 100644 index d0bf344..0000000 --- a/tools/h5format_convert/testfiles/old_h5fc_ext_none.h5 +++ /dev/null diff --git a/tools/h5format_convert/testh5fc.sh.in b/tools/h5format_convert/testh5fc.sh.in deleted file mode 100644 index 0d74697..0000000 --- a/tools/h5format_convert/testh5fc.sh.in +++ /dev/null @@ -1,505 +0,0 @@ -#! /bin/sh -# -# Copyright by The HDF Group. -# Copyright by the Board of Trustees of the University of Illinois. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the files COPYING and Copyright.html. COPYING can be found at the root -# of the source code distribution tree; Copyright.html can be found at the -# root level of an installed copy of the electronic HDF5 document set and -# is linked from the top-level documents page. It can also be found at -# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -# access to either file, you may request a copy from help@hdfgroup.org. -# -# Tests for the h5format_convert tool -# -# - -srcdir=@srcdir@ - -# Determine which filters are available -USE_FILTER_SZIP="@USE_FILTER_SZIP@" -USE_FILTER_DEFLATE="@USE_FILTER_DEFLATE@" -USE_FILTER_SHUFFLE="@USE_FILTER_SHUFFLE@" -USE_FILTER_FLETCHER32="@USE_FILTER_FLETCHER32@" -USE_FILTER_NBIT="@USE_FILTER_NBIT@" -USE_FILTER_SCALEOFFSET="@USE_FILTER_SCALEOFFSET@" - -TESTNAME=h5format_convert -EXIT_SUCCESS=0 -EXIT_FAILURE=1 - -FORMCONV=h5format_convert # The tool name -FORMCONV_BIN=`pwd`/$FORMCONV # The path of the tool binary - -CHK_IDX=h5fc_chk_idx # The program name -CHK_IDX_BIN=`pwd`/$CHK_IDX # The program to verify the chunk indexing type is v1 B-tree - -RM='rm -rf' -CMP='cmp -s' -DIFF='diff -c' -CP='cp' -H5DUMP=../h5dump/h5dump # The h5dump tool name -H5DUMP_BIN=`pwd`/$H5DUMP # The path of the h5dump tool binary -DIRNAME='dirname' -LS='ls' -AWK='awk' - -nerrors=0 -verbose=yes - -# source dirs -SRC_TOOLS="$srcdir/.." -SRC_TOOLS_TESTFILES="$SRC_TOOLS/testfiles" - -# testfiles source dirs for tools -SRC_H5LS_TESTFILES="$SRC_TOOLS_TESTFILES" -SRC_H5DUMP_TESTFILES="$SRC_TOOLS_TESTFILES" -SRC_H5DIFF_TESTFILES="$SRC_TOOLS/h5diff/testfiles" -SRC_H5COPY_TESTFILES="$SRC_TOOLS/h5copy/testfiles" -SRC_H5REPACK_TESTFILES="$SRC_TOOLS/h5repack/testfiles" -SRC_H5JAM_TESTFILES="$SRC_TOOLS/h5jam/testfiles" -SRC_H5STAT_TESTFILES="$SRC_TOOLS/h5stat/testfiles" -SRC_H5IMPORT_TESTFILES="$SRC_TOOLS/h5import/testfiles" -SRC_H5FORMCONV_TESTFILES="$SRC_TOOLS/h5format_convert/testfiles" - -TESTDIR=./testfiles -test -d $TESTDIR || mkdir $TESTDIR - -# Copy the testfile to a temporary file for testing as h5format_convert is changing the file in place -TMPOUTFILE=outtmp.h5 -TMPFILE=tmp.h5 -TMPCHKFILE=chktmp.h5 -TMPDMPFILE=dmptmp.h5 - -###################################################################### -# test files -# -------------------------------------------------------------------- -# All the test files copy from source directory to test directory -# NOTE: Keep this framework to add/remove test files. -# Any test files from other tools can be used in this framework. -# This list are also used for checking exist. -# Comment '#' without space can be used. -# -------------------------------------------------------------------- -LIST_HDF5_TEST_FILES=" -$SRC_H5FORMCONV_TESTFILES/h5fc_non_v3.h5 -$SRC_H5FORMCONV_TESTFILES/h5fc_edge_v3.h5 -$SRC_H5FORMCONV_TESTFILES/h5fc_ext_none.h5 -$SRC_H5FORMCONV_TESTFILES/old_h5fc_ext_none.h5 -$SRC_H5FORMCONV_TESTFILES/h5fc_ext1_i.h5 -$SRC_H5FORMCONV_TESTFILES/h5fc_ext1_s.h5 -$SRC_H5FORMCONV_TESTFILES/h5fc_ext1_f.h5 -$SRC_H5FORMCONV_TESTFILES/h5fc_ext2_if.h5 -$SRC_H5FORMCONV_TESTFILES/h5fc_ext2_is.h5 -$SRC_H5FORMCONV_TESTFILES/h5fc_ext2_sf.h5 -$SRC_H5FORMCONV_TESTFILES/h5fc_ext3_isf.h5 -$SRC_H5FORMCONV_TESTFILES/old_h5fc_ext1_i.h5 -$SRC_H5FORMCONV_TESTFILES/old_h5fc_ext1_s.h5 -$SRC_H5FORMCONV_TESTFILES/old_h5fc_ext1_f.h5 -$SRC_H5FORMCONV_TESTFILES/old_h5fc_ext2_if.h5 -$SRC_H5FORMCONV_TESTFILES/old_h5fc_ext2_is.h5 -$SRC_H5FORMCONV_TESTFILES/old_h5fc_ext2_sf.h5 -$SRC_H5FORMCONV_TESTFILES/old_h5fc_ext3_isf.h5 -$SRC_H5FORMCONV_TESTFILES/h5fc_err_level.h5 -" - -LIST_OTHER_TEST_FILES=" -$SRC_H5FORMCONV_TESTFILES/h5fc_help.ddl -$SRC_H5FORMCONV_TESTFILES/h5fc_nooption.ddl -$SRC_H5FORMCONV_TESTFILES/h5fc_nonexistfile.ddl -$SRC_H5FORMCONV_TESTFILES/h5fc_d_file.ddl -$SRC_H5FORMCONV_TESTFILES/h5fc_dname.ddl -$SRC_H5FORMCONV_TESTFILES/h5fc_nonexistdset_file.ddl -$SRC_H5FORMCONV_TESTFILES/h5fc_v_non_chunked.ddl -$SRC_H5FORMCONV_TESTFILES/h5fc_v_bt1.ddl -$SRC_H5FORMCONV_TESTFILES/h5fc_v_ndata_bt1.ddl -$SRC_H5FORMCONV_TESTFILES/h5fc_v_all.ddl -$SRC_H5FORMCONV_TESTFILES/h5fc_v_n_1d.ddl -$SRC_H5FORMCONV_TESTFILES/h5fc_v_n_all.ddl -$SRC_H5FORMCONV_TESTFILES/h5fc_ext1_i.ddl -$SRC_H5FORMCONV_TESTFILES/h5fc_ext1_s.ddl -$SRC_H5FORMCONV_TESTFILES/h5fc_ext1_f.ddl -$SRC_H5FORMCONV_TESTFILES/h5fc_ext2_if.ddl -$SRC_H5FORMCONV_TESTFILES/h5fc_ext2_is.ddl -$SRC_H5FORMCONV_TESTFILES/h5fc_ext2_sf.ddl -$SRC_H5FORMCONV_TESTFILES/h5fc_ext3_isf.ddl -$SRC_H5FORMCONV_TESTFILES/old_h5fc_ext1_i.ddl -$SRC_H5FORMCONV_TESTFILES/old_h5fc_ext1_s.ddl -$SRC_H5FORMCONV_TESTFILES/old_h5fc_ext1_f.ddl -$SRC_H5FORMCONV_TESTFILES/old_h5fc_ext2_if.ddl -$SRC_H5FORMCONV_TESTFILES/old_h5fc_ext2_is.ddl -$SRC_H5FORMCONV_TESTFILES/old_h5fc_ext2_sf.ddl -$SRC_H5FORMCONV_TESTFILES/old_h5fc_ext3_isf.ddl -$SRC_H5FORMCONV_TESTFILES/h5fc_v_err.ddl -" - -# -# copy test files and expected output files from source dirs to test dir -# -COPY_TESTFILES="$LIST_HDF5_TEST_FILES $LIST_OTHER_TEST_FILES" - -COPY_TESTFILES_TO_TESTDIR() -{ - # copy test files. Used -f to make sure get a new copy - for tstfile in $COPY_TESTFILES - do - # ignore '#' comment - echo $tstfile | tr -d ' ' | grep '^#' > /dev/null - RET=$? - if [ $RET -eq 1 ]; then - # skip cp if srcdir is same as destdir - # this occurs when build/test performed in source dir and - # make cp fail - SDIR=`$DIRNAME $tstfile` - INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'` - INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'` - if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then - $CP -f $tstfile $TESTDIR - if [ $? -ne 0 ]; then - echo "Error: FAILED to copy $tstfile ." - - # Comment out this to CREATE expected file - exit $EXIT_FAILURE - fi - fi - fi - done -} - -CLEAN_TESTFILES_AND_TESTDIR() -{ - # skip rm if srcdir is same as destdir - # this occurs when build/test performed in source dir and - # make cp fail - SDIR=$SRC_H5FORMCONV_TESTFILES - INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'` - INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'` - if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then - $RM $TESTDIR - else - $RM $TESTDIR/$TMPFILE - fi -} - -# Print a line-line message left justified in a field of 80 characters -# beginning with the word "Testing". -# -TESTING() { - SPACES=" " - echo "Testing $* $SPACES" | cut -c1-80 | tr -d '\012' -} - -# Run a test and print PASS or *FAIL*. If a test fails then increment -# the `nerrors' global variable and (if $verbose is set) display the -# difference between the actual output and the expected output. The -# expected output is given as the first argument to this function and -# the actual output file is calculated by replacing the `.ddl' with -# `.out'. The actual output is not removed if $HDF5_NOCLEANUP has a -# non-zero value. -# -# $1: expected output -# $2: the test file name -# --fname might be empty or fname does not exist -# --fname is copied to a temporary file for testing -# $3 to at most $6--options to the tool such as: -# -d dname or --dname=dname -# -v or --verbose -# -n or --noop -TOOLTEST_OUT() { - # Prepare expected and actual output - expect="$TESTDIR/$1" - actual="$TESTDIR/`basename $1 .ddl`.out" - actual_err="$TESTDIR/`basename $1 .ddl`.err" - actual_sav=${actual}-sav - actual_err_sav=${actual_err}-sav - - # Prepare the test file - $RM $TESTDIR/$TMPOUTFILE - TFILE=$2 - if [ ! -z "$2" ] && [ -e $TESTDIR/$2 ] ; then - $CP $TESTDIR/$2 $TESTDIR/$TMPOUTFILE - TFILE=$TMPOUTFILE - fi - - # Run test. - TESTING $FORMCONV $3 $4 $5 $6 $2 - ( - cd $TESTDIR - $RUNSERIAL $FORMCONV_BIN $3 $4 $5 $6 $TFILE - ) >$actual 2>$actual_err - cp $actual $actual_sav - cp $actual_err $actual_err_sav - cat $actual_err >> $actual - - # Compare output - COMPARE_OUT $expect $actual - - # Clean up output file - if test -z "$HDF5_NOCLEANUP"; then - $RM $actual $actual_err - $RM $actual $actual_err $actual_sav $actual_err_sav - fi -} - -# To check that the tool exits success, no output -# Assume all short options -# $1 is the test file name -# --fname exists -# --fname is copied to a temporary file for testing -# $2 is the temporary file name -# $3 to at most $5--options to the tool such as: -# -d dname -# -n -TOOLTEST() { - TESTING $FORMCONV $3 $4 $5 $1 - $RM $TESTDIR/$2 - $CP $TESTDIR/$1 $TESTDIR/$2 - $RUNSERIAL $FORMCONV_BIN $3 $4 $5 $TESTDIR/$2 - exitcode=$? - if [ $exitcode -ne 0 ]; then - echo "*FAILED*" - echo " The tool exits failure" - nerrors="`expr $nerrors + 1`" - else - echo " PASSED" - fi -} - -CHECKING() { - SPACES=" " - echo "Verifying $* $SPACES" | cut -c1-80 | tr -d '\012' -} - -# Assume $TESTDIR/$TMPFILE is the converted test file -# $1 dataset name -IDX_CHECK() { - CHECKING $1 - $RUNSERIAL $CHK_IDX_BIN $TESTDIR/$TMPCHKFILE $1 - ret=$? - if [ $ret -eq 0 ]; then - echo " PASSED" - else - echo "*FAILED*" - echo " The chunk indexing type is not correct" - nerrors="`expr $nerrors + 1`" - fi -} - -# $1 is the expected output -# $2 is the output from testing -COMPARE_OUT() { - if $CMP $1 $2; then - echo " PASSED" - else - echo "*FAILED*" - echo " Expected result (*.ddl) differs from actual result (*.out)" - nerrors="`expr $nerrors + 1`" - test yes = "$verbose" && $DIFF $expect $actual |sed 's/^/ /' - fi -} - -# Assume $TESTDIR/$TMPFILE is the converted test file -# $1 is the test file for verifying h5dump output -# $2 is the expected output from h5dump -H5DUMP_CHECK() { - CHECKING h5dump output for $1 - expect="$TESTDIR/$2" - actual="$TESTDIR/`basename $2 .ddl`.out" - actual_err="$TESTDIR/`basename $2 .ddl`.err" - $RUNSERIAL $H5DUMP_BIN -BH $TESTDIR/$TMPDMPFILE > $actual 2>$actual_err - cat $actual_err >> $actual - - # Compare output - COMPARE_OUT $expect $actual - - # Clean up output file - if test -z "$HDF5_NOCLEANUP"; then - $RM $actual $actual_err - fi -} - -# Print a "SKIP" message -SKIP() { - TESTING $STAT $@ - echo " -SKIP-" -} - - - -############################################################################## -############################################################################## -### T H E T E S T S ### -############################################################################## -############################################################################## -# prepare for test -COPY_TESTFILES_TO_TESTDIR -# -# -# -# h5format_convert --help -# h5format_convert (no options) -# h5format_convert nonexist.h5 (no options, file does not exist) -TOOLTEST_OUT h5fc_help.ddl '' --help -TOOLTEST_OUT h5fc_nooption.ddl '' -TOOLTEST_OUT h5fc_nonexistfile.ddl nonexist.h5 -# -# -# h5format_convert -d old_h5fc_ext_none.h5 (just -d option, file exists) -# h5format_convert --dname old_h5fc_ext_none.h5 (just --dname option, file exists) -# h5format_convert --dname (just --dname option) -# h5format_convert --dname=nonexist old_h5fc_ext_none.h5 (dataset does not exist, file exists) -TOOLTEST_OUT h5fc_d_file.ddl old_h5fc_ext_none.h5 -d -TOOLTEST_OUT h5fc_d_file.ddl old_h5fc_ext_none.h5 --dname -TOOLTEST_OUT h5fc_dname.ddl '' --dname -TOOLTEST_OUT h5fc_nonexistdset_file.ddl old_h5fc_ext_none.h5 --dname=nonexist -# -# -# -# h5format_convert -d /DSET_CONTIGUOUS -v old_h5fc_ext_none.h5 (verbose, contiguous dataset) -# h5format_convert -d /GROUP/DSET_BT2 --verbose old_h5fc_ext_none.h5 (verbose, bt1 dataset) -# h5format_convert -d /DSET_NDATA_BT2 -v -n old_h5fc_ext_none.h5 (verbose, noop, bt1+nodata dataset) -# h5format_convert -v old_h5fc_ext_none.h5 (verbose, all datasets) -TOOLTEST_OUT h5fc_v_non_chunked.ddl old_h5fc_ext_none.h5 -d /DSET_CONTIGUOUS -v -TOOLTEST_OUT h5fc_v_bt1.ddl old_h5fc_ext_none.h5 -d /GROUP/DSET_BT2 --verbose -TOOLTEST_OUT h5fc_v_ndata_bt1.ddl old_h5fc_ext_none.h5 -d /DSET_NDATA_BT2 -v -n -TOOLTEST_OUT h5fc_v_all.ddl old_h5fc_ext_none.h5 -v -# -# -# -# h5format_convert -d /DSET_EA -v -n h5fc_ext_none.h5 (verbose, noop, one ea dataset) -# h5format_convert -v -n h5fc_non_v3.h5 (verbose, noop, all datasets) -TOOLTEST_OUT h5fc_v_n_1d.ddl h5fc_ext_none.h5 -d /DSET_EA -v -n -TOOLTEST_OUT h5fc_v_n_all.ddl h5fc_non_v3.h5 -v -n -# -# -# -# h5format_convert -v h5fc_err_level.h5 (error encountered in converting the dataset) -TOOLTEST_OUT h5fc_v_err.ddl h5fc_err_level.h5 -v -# -# -# -# No output from tests -# 1) Use the tool to convert the dataset -# 2) Verify the chunk indexing type is correct -# h5format_convert -d /DSET_EA h5fc_ext_none.h5 -# h5format_convert -d /GROUP/DSET_NDATA_EA h5fc_ext_none.h5 -# h5format_convert -d /GROUP/DSET_BT2 h5fc_ext_none.h5 -# h5format_convert -d /DSET_NDATA_BT2 h5fc_ext_none.h5 -# h5format_convert -d /DSET_FA h5fc_ext_none.h5 -# h5format_convert -d /GROUP/DSET_FA h5fc_ext_none.h5 -# h5format_convert -d /DSET_NONE h5fc_ext_none.h5 -# h5format_convert -d /GROUP/DSET_NDATA_NONE h5fc_ext_none.h5 -TOOLTEST h5fc_ext_none.h5 $TMPCHKFILE -d /DSET_EA -IDX_CHECK /DSET_EA -# -TOOLTEST h5fc_ext_none.h5 $TMPCHKFILE -d /GROUP/DSET_NDATA_EA -IDX_CHECK /GROUP/DSET_NDATA_EA -# -TOOLTEST h5fc_ext_none.h5 $TMPCHKFILE -d /GROUP/DSET_BT2 -IDX_CHECK /GROUP/DSET_BT2 -# -TOOLTEST h5fc_ext_none.h5 $TMPCHKFILE -d /DSET_NDATA_BT2 -IDX_CHECK /DSET_NDATA_BT2 -# -TOOLTEST h5fc_ext_none.h5 $TMPCHKFILE -d /DSET_FA -IDX_CHECK /DSET_FA -# -TOOLTEST h5fc_ext_none.h5 $TMPCHKFILE -d /GROUP/DSET_NDATA_FA -IDX_CHECK /GROUP/DSET_NDATA_FA -# -TOOLTEST h5fc_ext_none.h5 $TMPCHKFILE -d /DSET_NONE -IDX_CHECK /DSET_NONE -# -TOOLTEST h5fc_ext_none.h5 $TMPCHKFILE -d /GROUP/DSET_NDATA_NONE -IDX_CHECK /GROUP/DSET_NDATA_NONE -# -# -# -# No output from tests: just check exit code -# h5format_convert -d /DSET_NDATA_BT2 old_h5fc_ext_none.h5 (v1-btree dataset) -# h5format_convert -d /DSET_CONTIGUOUS h5fc_non_v3.h5 (non-chunked dataset) -TOOLTEST old_h5fc_ext_none.h5 $TMPFILE -d /DSET_NDATA_BT2 -TOOLTEST h5fc_non_v3.h5 $TMPFILE -d /DSET_CONTIGUOUS -# -# -# -# No output from tests: just check exit code -# h5format_convert -d /GROUP/DSET_BT2 -n h5fc_non_v3.h5 (noop, one dataset) -# h5format_convert -n h5fc_non_v3.h5 (noop, all datasets) -TOOLTEST h5fc_non_v3.h5 $TMPFILE -d /GROUP/DSET_BT2 -n -TOOLTEST h5fc_non_v3.h5 $TMPFILE -n -# -# -# -# No output from tests: just check exit code -# h5format_convert h5fc_non_v3.h5 -# 1) convert all datasets -# 2) verify indexing types -TOOLTEST h5fc_non_v3.h5 $TMPCHKFILE -IDX_CHECK /DSET_NDATA_EA -IDX_CHECK /DSET_NDATA_BT2 -IDX_CHECK /GROUP/DSET_BT2 -IDX_CHECK /GROUP/DSET_EA -# -# -# -# No output from test: just check exit code -# h5format_convert h5fc_edge_v3.h5 -# 1) convert the chunked dataset (filter, no-filter-edge-chunk) -# 2) verify the indexing type -TOOLTEST h5fc_edge_v3.h5 $TMPCHKFILE -IDX_CHECK /DSET_EDGE -# -# - -# The following test files have messages in the superblock extension. -# Verify h5dump output for correctness after conversion -TOOLTEST h5fc_ext1_i.h5 $TMPDMPFILE -H5DUMP_CHECK h5fc_ext1_i.h5 h5fc_ext1_i.ddl -TOOLTEST h5fc_ext1_s.h5 $TMPDMPFILE -H5DUMP_CHECK h5fc_ext1_s.h5 h5fc_ext1_s.ddl -TOOLTEST h5fc_ext1_f.h5 $TMPDMPFILE -H5DUMP_CHECK h5fc_ext1_f.h5 h5fc_ext1_f.ddl -# -TOOLTEST h5fc_ext2_if.h5 $TMPDMPFILE -H5DUMP_CHECK h5fc_ext2_if.h5 h5fc_ext2_if.ddl -TOOLTEST h5fc_ext2_is.h5 $TMPDMPFILE -H5DUMP_CHECK h5fc_ext2_is.h5 h5fc_ext2_is.ddl -TOOLTEST h5fc_ext2_sf.h5 $TMPDMPFILE -H5DUMP_CHECK h5fc_ext2_sf.h5 h5fc_ext2_sf.ddl -# -TOOLTEST h5fc_ext3_isf.h5 $TMPDMPFILE -H5DUMP_CHECK h5fc_ext3_isf.h5 h5fc_ext3_isf.ddl -# -# -# -TOOLTEST old_h5fc_ext1_i.h5 $TMPDMPFILE -H5DUMP_CHECK old_h5fc_ext1_i.h5 old_h5fc_ext1_i.ddl -TOOLTEST old_h5fc_ext1_s.h5 $TMPDMPFILE -H5DUMP_CHECK old_h5fc_ext1_s.h5 old_h5fc_ext1_s.ddl -TOOLTEST old_h5fc_ext1_f.h5 $TMPDMPFILE -H5DUMP_CHECK old_h5fc_ext1_f.h5 old_h5fc_ext1_f.ddl -# -TOOLTEST old_h5fc_ext2_if.h5 $TMPDMPFILE -H5DUMP_CHECK old_h5fc_ext2_if.h5 old_h5fc_ext2_if.ddl -TOOLTEST old_h5fc_ext2_is.h5 $TMPDMPFILE -H5DUMP_CHECK old_h5fc_ext2_is.h5 old_h5fc_ext2_is.ddl -TOOLTEST old_h5fc_ext2_sf.h5 $TMPDMPFILE -H5DUMP_CHECK old_h5fc_ext2_sf.h5 old_h5fc_ext2_sf.ddl -# -TOOLTEST old_h5fc_ext3_isf.h5 $TMPDMPFILE -H5DUMP_CHECK old_h5fc_ext3_isf.h5 old_h5fc_ext3_isf.ddl -# -# Clean up temporary files/directories -CLEAN_TESTFILES_AND_TESTDIR - -if test $nerrors -eq 0 ; then - echo "All $TESTNAME tests passed." - exit $EXIT_SUCCESS -else - echo "$TESTNAME tests failed with $nerrors errors." - exit $EXIT_FAILURE -fi - |