diff options
Diffstat (limited to 'tools/h5repack')
-rw-r--r-- | tools/h5repack/CMakeLists.txt | 12 | ||||
-rw-r--r-- | tools/h5repack/CMakeTests.cmake | 130 | ||||
-rw-r--r-- | tools/h5repack/Makefile.in | 10 | ||||
-rw-r--r-- | tools/h5repack/h5repack.sh.in | 102 | ||||
-rw-r--r-- | tools/h5repack/h5repacktst.c | 109 | ||||
-rw-r--r-- | tools/h5repack/testfiles/README | 5 | ||||
-rw-r--r-- | tools/h5repack/testfiles/h5repack_nested_8bit_enum.h5 | bin | 0 -> 273992 bytes | |||
-rw-r--r-- | tools/h5repack/testfiles/h5repack_nested_8bit_enum_deflated.h5 | bin | 0 -> 120630 bytes |
8 files changed, 77 insertions, 291 deletions
diff --git a/tools/h5repack/CMakeLists.txt b/tools/h5repack/CMakeLists.txt index f6c3050..42d9f3d 100644 --- a/tools/h5repack/CMakeLists.txt +++ b/tools/h5repack/CMakeLists.txt @@ -22,7 +22,7 @@ set (REPACK_COMMON_SRCS add_executable (h5repack ${REPACK_COMMON_SRCS} ${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/h5repack_main.c) TARGET_NAMING (h5repack ${LIB_TYPE}) -TARGET_C_PROPERTIES (h5repack " " " ") +TARGET_C_PROPERTIES (h5repack ${LIB_TYPE} " " " ") target_link_libraries (h5repack ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET}) set_target_properties (h5repack PROPERTIES FOLDER tools) @@ -34,13 +34,13 @@ if (BUILD_TESTING) # -------------------------------------------------------------------- add_executable (testh5repack_detect_szip ${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testh5repack_detect_szip.c) TARGET_NAMING (testh5repack_detect_szip ${LIB_TYPE}) - TARGET_C_PROPERTIES (testh5repack_detect_szip " " " ") + TARGET_C_PROPERTIES (testh5repack_detect_szip ${LIB_TYPE} " " " ") target_link_libraries (testh5repack_detect_szip ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET} ${HDF5_TEST_LIB_TARGET}) set_target_properties (testh5repack_detect_szip PROPERTIES FOLDER tools) add_executable (h5repacktest ${REPACK_COMMON_SRCS} ${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/h5repacktst.c) TARGET_NAMING (h5repacktest ${LIB_TYPE}) - TARGET_C_PROPERTIES (h5repacktest " " " ") + TARGET_C_PROPERTIES (h5repacktest ${LIB_TYPE} " " " ") target_link_libraries (h5repacktest ${HDF5_TOOLS_LIB_TARGET} ${HDF5_TEST_LIB_TARGET}) set_target_properties (h5repacktest PROPERTIES FOLDER tools) @@ -54,12 +54,12 @@ if (BUILD_TESTING) add_definitions (${HDF_EXTRA_C_FLAGS}) INCLUDE_DIRECTORIES (${HDF5_SRC_DIR}) - add_library (${HDF5_TOOL_PLUGIN_LIB_TARGET} ${LIB_TYPE} dynlib_rpk.c) - TARGET_C_PROPERTIES (${HDF5_TOOL_PLUGIN_LIB_TARGET} " " " ") + add_library (${HDF5_TOOL_PLUGIN_LIB_TARGET} SHARED dynlib_rpk.c) + TARGET_C_PROPERTIES (${HDF5_TOOL_PLUGIN_LIB_TARGET} SHARED " " " ") target_link_libraries (${HDF5_TOOL_PLUGIN_LIB_TARGET} ${HDF5_TEST_LIB_TARGET}) H5_SET_LIB_OPTIONS ( ${HDF5_TOOL_PLUGIN_LIB_TARGET} ${HDF5_TOOL_PLUGIN_LIB_NAME} - ${LIB_TYPE} + SHARED HDF5_TOOL_PLUGIN_LIB_NAME_RELEASE HDF5_TOOL_PLUGIN_LIB_NAME_DEBUG ) diff --git a/tools/h5repack/CMakeTests.cmake b/tools/h5repack/CMakeTests.cmake index 220c871..3391c3f 100644 --- a/tools/h5repack/CMakeTests.cmake +++ b/tools/h5repack/CMakeTests.cmake @@ -649,22 +649,6 @@ set (USE_FILTER_SZIP "true") endif (H5_HAVE_FILTER_SZIP) - if (H5_HAVE_FILTER_SHUFFLE) - set (USE_FILTER_SHUFFLE "true") - endif (H5_HAVE_FILTER_SHUFFLE) - - if (H5_HAVE_FILTER_FLETCHER32) - set (USE_FILTER_FLETCHER32 "true") - endif (H5_HAVE_FILTER_FLETCHER32) - - if (H5_HAVE_FILTER_NBIT) - set (USE_FILTER_NBIT "true") - endif (H5_HAVE_FILTER_NBIT) - - if (H5_HAVE_FILTER_SCALEOFFSET) - set (USE_FILTER_SCALEOFFSET "true") - endif (H5_HAVE_FILTER_SCALEOFFSET) - # copy files (these files have no filters) ADD_H5_TEST (fill "TEST" ${FILE0}) ADD_H5_TEST (objs "TEST" ${FILE1}) @@ -709,42 +693,26 @@ # shuffle with individual object set (arg ${FILE4} -f dset2:SHUF -l dset2:CHUNK=20x10) - set (TESTTYPE "TEST") - if (NOT USE_FILTER_SHUFFLE) - set (TESTTYPE "SKIP") - endif (NOT USE_FILTER_SHUFFLE) - ADD_H5_TEST (shuffle_individual ${TESTTYPE} ${arg}) + ADD_H5_TEST (shuffle_individual "TEST" ${arg}) # shuffle for all set (arg ${FILE4} -f SHUF) - set (TESTTYPE "TEST") - if (NOT USE_FILTER_SHUFFLE) - set (TESTTYPE "SKIP") - endif (NOT USE_FILTER_SHUFFLE) - ADD_H5_TEST (shuffle_all ${TESTTYPE} ${arg}) + ADD_H5_TEST (shuffle_all "TEST" ${arg}) # fletcher32 with individual object set (arg ${FILE4} -f dset2:FLET -l dset2:CHUNK=20x10) - set (TESTTYPE "TEST") - if (NOT USE_FILTER_FLETCHER32) - set (TESTTYPE "SKIP") - endif (NOT USE_FILTER_FLETCHER32) - ADD_H5_TEST (fletcher_individual ${TESTTYPE} ${arg}) + ADD_H5_TEST (fletcher_individual "TEST" ${arg}) # fletcher32 for all set (arg ${FILE4} -f FLET) - set (TESTTYPE "TEST") - if (NOT USE_FILTER_FLETCHER32) - set (TESTTYPE "SKIP") - endif (NOT USE_FILTER_FLETCHER32) - ADD_H5_TEST (fletcher_all ${TESTTYPE} ${arg}) + ADD_H5_TEST (fletcher_all "TEST" ${arg}) # all filters set (arg ${FILE4} -f dset2:SHUF -f dset2:FLET -f dset2:SZIP=8,NN -f dset2:GZIP=1 -l dset2:CHUNK=20x10) set (TESTTYPE "TEST") - if (NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SZIP OR NOT USE_FILTER_SHUFFLE OR NOT USE_FILTER_FLETCHER32 OR NOT USE_FILTER_DEFLATE) + if (NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SZIP OR NOT USE_FILTER_DEFLATE) set (TESTTYPE "SKIP") - endif (NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SZIP OR NOT USE_FILTER_SHUFFLE OR NOT USE_FILTER_FLETCHER32 OR NOT USE_FILTER_DEFLATE) + endif (NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SZIP OR NOT USE_FILTER_DEFLATE) ADD_H5_TEST (all_filters ${TESTTYPE} ${arg}) # verbose gzip with individual object @@ -793,90 +761,50 @@ # shuffle copy set (arg ${FILE9}) - set (TESTTYPE "TEST") - if (NOT USE_FILTER_SHUFFLE) - set (TESTTYPE "SKIP") - endif (NOT USE_FILTER_SHUFFLE) - ADD_H5_TEST (shuffle_copy ${TESTTYPE} ${arg}) + ADD_H5_TEST (shuffle_copy "TEST" ${arg}) # shuffle remove set (arg ${FILE9} -f dset_shuffle:NONE) - set (TESTTYPE "TEST") - if (NOT USE_FILTER_SHUFFLE) - set (TESTTYPE "SKIP") - endif (NOT USE_FILTER_SHUFFLE) - ADD_H5_TEST (shuffle_remove ${TESTTYPE} ${arg}) + ADD_H5_TEST (shuffle_remove "TEST" ${arg}) # fletcher32 copy set (arg ${FILE10}) - set (TESTTYPE "TEST") - if (NOT USE_FILTER_FLETCHER32) - set (TESTTYPE "SKIP") - endif (NOT USE_FILTER_FLETCHER32) - ADD_H5_TEST (fletcher_copy ${TESTTYPE} ${arg}) + ADD_H5_TEST (fletcher_copy "TEST" ${arg}) # fletcher32 remove set (arg ${FILE10} -f dset_fletcher32:NONE) - set (TESTTYPE "TEST") - if (NOT USE_FILTER_FLETCHER32) - set (TESTTYPE "SKIP") - endif (NOT USE_FILTER_FLETCHER32) - ADD_H5_TEST (fletcher_remove ${TESTTYPE} ${arg}) + ADD_H5_TEST (fletcher_remove "TEST" ${arg}) # nbit copy set (arg ${FILE12}) - set (TESTTYPE "TEST") - if (NOT USE_FILTER_NBIT) - set (TESTTYPE "SKIP") - endif (NOT USE_FILTER_NBIT) - ADD_H5_TEST (nbit_copy ${TESTTYPE} ${arg}) + ADD_H5_TEST (nbit_copy "TEST" ${arg}) # nbit remove set (arg ${FILE12} -f dset_nbit:NONE) - set (TESTTYPE "TEST") - if (NOT USE_FILTER_NBIT) - set (TESTTYPE "SKIP") - endif (NOT USE_FILTER_NBIT) - ADD_H5_TEST (nbit_remove ${TESTTYPE} ${arg}) + ADD_H5_TEST (nbit_remove "TEST" ${arg}) # nbit add set (arg ${FILE12} -f dset_int31:NBIT) - set (TESTTYPE "TEST") - if (NOT USE_FILTER_NBIT) - set (TESTTYPE "SKIP") - endif (NOT USE_FILTER_NBIT) - ADD_H5_TEST (nbit_add ${TESTTYPE} ${arg}) + ADD_H5_TEST (nbit_add "TEST" ${arg}) # scaleoffset copy set (arg ${FILE13}) - set (TESTTYPE "TEST") - if (NOT USE_FILTER_SCALEOFFSET) - set (TESTTYPE "SKIP") - endif (NOT USE_FILTER_SCALEOFFSET) - ADD_H5_TEST (scale_copy ${TESTTYPE} ${arg}) + ADD_H5_TEST (scale_copy "TEST" ${arg}) # scaleoffset add set (arg ${FILE13} -f dset_none:SOFF=31,IN) - set (TESTTYPE "TEST") - if (NOT USE_FILTER_SCALEOFFSET) - set (TESTTYPE "SKIP") - endif (NOT USE_FILTER_SCALEOFFSET) - ADD_H5_TEST (scale_add ${TESTTYPE} ${arg}) + ADD_H5_TEST (scale_add "TEST" ${arg}) # scaleoffset remove set (arg ${FILE13} -f dset_scaleoffset:NONE) - set (TESTTYPE "TEST") - if (NOT USE_FILTER_SCALEOFFSET) - set (TESTTYPE "SKIP") - endif (NOT USE_FILTER_SCALEOFFSET) - ADD_H5_TEST (scale_remove ${TESTTYPE} ${arg}) + ADD_H5_TEST (scale_remove "TEST" ${arg}) # remove all filters set (arg ${FILE11} -f NONE) set (TESTTYPE "TEST") - if (NOT USE_FILTER_FLETCHER32 OR NOT USE_FILTER_DEFLATE OR NOT USE_FILTER_SZIP OR NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SHUFFLE OR NOT USE_FILTER_NBIT OR NOT USE_FILTER_SCALEOFFSET) + if (NOT USE_FILTER_DEFLATE OR NOT USE_FILTER_SZIP OR NOT USE_FILTER_SZIP_ENCODER) set (TESTTYPE "SKIP") - endif (NOT USE_FILTER_FLETCHER32 OR NOT USE_FILTER_DEFLATE OR NOT USE_FILTER_SZIP OR NOT USE_FILTER_SZIP_ENCODER OR NOT USE_FILTER_SHUFFLE OR NOT USE_FILTER_NBIT OR NOT USE_FILTER_SCALEOFFSET) + endif (NOT USE_FILTER_DEFLATE OR NOT USE_FILTER_SZIP OR NOT USE_FILTER_SZIP_ENCODER) ADD_H5_TEST (remove_all ${TESTTYPE} ${arg}) #filter conversions @@ -943,14 +871,14 @@ # Use first dset to test. #--------------------------------------------------------------------------- # chunk to chunk - specify chunk dim bigger than any current dim -ADD_H5_VERIFY_TEST (chunk2chunk "TEST" 0 h5repack_layout3.h5 chunk_unlimit1 CHUNK -l chunk_unlimit1:CHUNK=100x300) + ADD_H5_VERIFY_TEST (chunk2chunk "TEST" 0 h5repack_layout3.h5 chunk_unlimit1 CHUNK -l chunk_unlimit1:CHUNK=100x300) # chunk to contiguous -ADD_H5_VERIFY_TEST (chunk2conti "TEST" 0 h5repack_layout3.h5 chunk_unlimit1 CONTI -l chunk_unlimit1:CONTI) + ADD_H5_VERIFY_TEST (chunk2conti "TEST" 0 h5repack_layout3.h5 chunk_unlimit1 CONTI -l chunk_unlimit1:CONTI) # chunk to compact - convert big dataset (should be > 64k) for this purpose, # should remain as original layout (chunk) -ADD_H5_VERIFY_TEST (chunk2compa "TEST" 0 h5repack_layout3.h5 chunk_unlimit1 CHUNK -l chunk_unlimit1:COMPA) + ADD_H5_VERIFY_TEST (chunk2compa "TEST" 0 h5repack_layout3.h5 chunk_unlimit1 CHUNK -l chunk_unlimit1:COMPA) #-------------------------------------------------------------------------- # Test -f for some specific cases. Chunked dataset with unlimited max dims. @@ -960,16 +888,16 @@ ADD_H5_VERIFY_TEST (chunk2compa "TEST" 0 h5repack_layout3.h5 chunk_unlimit1 CHUN # - should not change max dims from unlimit # chunk dim is bigger than dataset dim. ( dset size < 64k ) -ADD_H5_VERIFY_TEST (error1 "TEST" 0 h5repack_layout3.h5 chunk_unlimit1 H5S_UNLIMITED -f chunk_unlimit1:NONE) + ADD_H5_VERIFY_TEST (error1 "TEST" 0 h5repack_layout3.h5 chunk_unlimit1 H5S_UNLIMITED -f chunk_unlimit1:NONE) # chunk dim is bigger than dataset dim. ( dset size > 64k ) -ADD_H5_VERIFY_TEST (error2 "TEST" 0 h5repack_layout3.h5 chunk_unlimit2 H5S_UNLIMITED -f chunk_unlimit2:NONE) + ADD_H5_VERIFY_TEST (error2 "TEST" 0 h5repack_layout3.h5 chunk_unlimit2 H5S_UNLIMITED -f chunk_unlimit2:NONE) # chunk dims are smaller than dataset dims. ( dset size < 64k ) -ADD_H5_VERIFY_TEST (error3 "TEST" 0 h5repack_layout3.h5 chunk_unlimit3 H5S_UNLIMITED -f chunk_unlimit3:NONE) + ADD_H5_VERIFY_TEST (error3 "TEST" 0 h5repack_layout3.h5 chunk_unlimit3 H5S_UNLIMITED -f chunk_unlimit3:NONE) # file input - should not fail -ADD_H5_TEST (error4 "TEST" h5repack_layout3.h5 -f NONE) + ADD_H5_TEST (error4 "TEST" h5repack_layout3.h5 -f NONE) #-------------------------------------------------------------------------- # Test base: Convert CHUNK to CONTI for a chunked dataset with small dataset @@ -977,9 +905,9 @@ ADD_H5_TEST (error4 "TEST" h5repack_layout3.h5 -f NONE) # (HDFFV-8214) #-------------------------------------------------------------------------- # chunk dim is bigger than dataset dim. should succeed. -ADD_H5_VERIFY_TEST (ckdim_biger "TEST" 0 h5repack_layout3.h5 chunk_unlimit2 CONTI -l chunk_unlimit2:CONTI) + ADD_H5_VERIFY_TEST (ckdim_biger "TEST" 0 h5repack_layout3.h5 chunk_unlimit2 CONTI -l chunk_unlimit2:CONTI) # chunk dim is smaller than dataset dim. should succeed. -ADD_H5_VERIFY_TEST (ckdim_smaller "TEST" 0 h5repack_layout3.h5 chunk_unlimit3 CONTI -l chunk_unlimit3:CONTI) + ADD_H5_VERIFY_TEST (ckdim_smaller "TEST" 0 h5repack_layout3.h5 chunk_unlimit3 CONTI -l chunk_unlimit3:CONTI) @@ -1008,9 +936,9 @@ ADD_H5_VERIFY_TEST (ckdim_smaller "TEST" 0 h5repack_layout3.h5 chunk_unlimit3 CO # several global filters set (arg ${FILE4} --filter GZIP=1 --filter SHUF) set (TESTTYPE "TEST") - if (NOT USE_FILTER_DEFLATE OR NOT USE_FILTER_SHUFFLE) + if (NOT USE_FILTER_DEFLATE) set (TESTTYPE "SKIP") - endif (NOT USE_FILTER_DEFLATE OR NOT USE_FILTER_SHUFFLE) + endif (NOT USE_FILTER_DEFLATE) ADD_H5_TEST (global_filters ${TESTTYPE} ${arg}) # syntax of -i infile -o outfile diff --git a/tools/h5repack/Makefile.in b/tools/h5repack/Makefile.in index 698b8a3..6d1bfd6 100644 --- a/tools/h5repack/Makefile.in +++ b/tools/h5repack/Makefile.in @@ -438,7 +438,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@ AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ -AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ @@ -470,7 +469,6 @@ DIRECT_VFD = @DIRECT_VFD@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ -DYNAMIC_DIRS = @DYNAMIC_DIRS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -489,17 +487,14 @@ FCFLAGS_f90 = @FCFLAGS_f90@ FCLIBS = @FCLIBS@ FC_VERSION = @FC_VERSION@ FGREP = @FGREP@ -FILTERS = @FILTERS@ FSEARCH_DIRS = @FSEARCH_DIRS@ GREP = @GREP@ H5_CFLAGS = @H5_CFLAGS@ H5_CPPFLAGS = @H5_CPPFLAGS@ H5_CXXFLAGS = @H5_CXXFLAGS@ -H5_CXX_SHARED = @H5_CXX_SHARED@ H5_FCFLAGS = @H5_FCFLAGS@ H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@ H5_LDFLAGS = @H5_LDFLAGS@ -H5_LONE_COLON = @H5_LONE_COLON@ H5_VERSION = @H5_VERSION@ HADDR_T = @HADDR_T@ HAVE_DMALLOC = @HAVE_DMALLOC@ @@ -562,7 +557,6 @@ R_INTEGER = @R_INTEGER@ R_LARGE = @R_LARGE@ SEARCH = @SEARCH@ SED = @SED@ -SETX = @SETX@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIZE_T = @SIZE_T@ @@ -577,10 +571,6 @@ TR = @TR@ TRACE_API = @TRACE_API@ UNAME_INFO = @UNAME_INFO@ USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@ -USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@ -USE_FILTER_NBIT = @USE_FILTER_NBIT@ -USE_FILTER_SCALEOFFSET = @USE_FILTER_SCALEOFFSET@ -USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@ USE_FILTER_SZIP = @USE_FILTER_SZIP@ USINGMEMCHECKER = @USINGMEMCHECKER@ VERSION = @VERSION@ diff --git a/tools/h5repack/h5repack.sh.in b/tools/h5repack/h5repack.sh.in index a4d12bd..4a32491 100644 --- a/tools/h5repack/h5repack.sh.in +++ b/tools/h5repack/h5repack.sh.in @@ -24,10 +24,6 @@ srcdir=@srcdir@ 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=h5repack EXIT_SUCCESS=0 @@ -97,6 +93,8 @@ $SRC_H5REPACK_TESTFILES/h5repack_layouto.h5 $SRC_H5REPACK_TESTFILES/h5repack_layout2.h5 $SRC_H5REPACK_TESTFILES/h5repack_layout3.h5 $SRC_H5REPACK_TESTFILES/h5repack_named_dtypes.h5 +$SRC_H5REPACK_TESTFILES/h5repack_nested_8bit_enum.h5 +$SRC_H5REPACK_TESTFILES/h5repack_nested_8bit_enum_deflated.h5 $SRC_H5REPACK_TESTFILES/h5repack_nbit.h5 $SRC_H5REPACK_TESTFILES/h5repack_objs.h5 $SRC_H5REPACK_TESTFILES/h5repack_refs.h5 @@ -705,6 +703,12 @@ TOOLTEST hlink h5repack_hlink.h5 TOOLTEST layout h5repack_layout.h5 TOOLTEST early h5repack_early.h5 +# nested 8bit enum in both deflated and non-deflated datafiles +if [ $USE_FILTER_DEFLATE != "yes" ]; then +TOOLTEST nested_8bit_enum h5repack_nested_8bit_enum.h5 +else +TOOLTEST nested_8bit_enum h5repack_nested_8bit_enum_deflated.h5 +fi # use h5repack_layout.h5 to write some filters (this file has no filters) @@ -742,40 +746,24 @@ fi # shuffle with individual object arg="h5repack_layout.h5 -f dset2:SHUF -l dset2:CHUNK=20x10" -if test $USE_FILTER_SHUFFLE != "yes" ; then - SKIP $arg -else - TOOLTEST shuffle_individual $arg -fi +TOOLTEST shuffle_individual $arg # shuffle for all arg="h5repack_layout.h5 -f SHUF" -if test $USE_FILTER_SHUFFLE != "yes" ; then - SKIP $arg -else - TOOLTEST shuffle_all $arg -fi +TOOLTEST shuffle_all $arg # fletcher32 with individual object arg="h5repack_layout.h5 -f dset2:FLET -l dset2:CHUNK=20x10" -if test $USE_FILTER_FLETCHER32 != "yes" ; then - SKIP $arg -else - TOOLTEST fletcher_individual $arg -fi +TOOLTEST fletcher_individual $arg # fletcher32 for all arg="h5repack_layout.h5 -f FLET" -if test $USE_FILTER_FLETCHER32 != "yes" ; then - SKIP $arg -else - TOOLTEST fletcher_all $arg -fi +TOOLTEST fletcher_all $arg # all filters arg="h5repack_layout.h5 -f dset2:SHUF -f dset2:FLET -f dset2:SZIP=8,NN -f dset2:GZIP=1 -l dset2:CHUNK=20x10" -if test $USE_FILTER_SZIP_ENCODER != "yes" -o $USE_FILTER_SZIP != "yes" -o $USE_FILTER_SHUFFLE != "yes" -o $USE_FILTER_FLETCHER32 != "yes" -o $USE_FILTER_DEFLATE != "yes" ; then +if test $USE_FILTER_SZIP_ENCODER != "yes" -o $USE_FILTER_SZIP != "yes" -o $USE_FILTER_DEFLATE != "yes" ; then SKIP $arg else TOOLTEST all_filters $arg @@ -828,87 +816,47 @@ fi # shuffle copy arg="h5repack_shuffle.h5" -if test $USE_FILTER_SHUFFLE != "yes" ; then - SKIP $arg -else - TOOLTEST shuffle_copy $arg -fi +TOOLTEST shuffle_copy $arg # shuffle remove arg="h5repack_shuffle.h5 -f dset_shuffle:NONE" -if test $USE_FILTER_SHUFFLE != "yes" ; then - SKIP $arg -else - TOOLTEST shuffle_remove $arg -fi +TOOLTEST shuffle_remove $arg # fletcher32 copy arg="h5repack_fletcher.h5" -if test $USE_FILTER_FLETCHER32 != "yes" ; then - SKIP $arg -else - TOOLTEST fletcher_copy $arg -fi +TOOLTEST fletcher_copy $arg # fletcher32 remove arg="h5repack_fletcher.h5 -f dset_fletcher32:NONE" -if test $USE_FILTER_FLETCHER32 != "yes" ; then - SKIP $arg -else - TOOLTEST fletcher_remove $arg -fi +TOOLTEST fletcher_remove $arg # nbit copy arg="h5repack_nbit.h5" -if test $USE_FILTER_NBIT != "yes" ; then - SKIP $arg -else - TOOLTEST nbit_copy $arg -fi +TOOLTEST nbit_copy $arg # nbit remove arg="h5repack_nbit.h5 -f dset_nbit:NONE" -if test $USE_FILTER_NBIT != "yes" ; then - SKIP $arg -else - TOOLTEST nbit_remove $arg -fi +TOOLTEST nbit_remove $arg # nbit add arg="h5repack_nbit.h5 -f dset_int31:NBIT" -if test $USE_FILTER_NBIT != "yes" ; then - SKIP $arg -else - TOOLTEST nbit_add $arg -fi +TOOLTEST nbit_add $arg # scaleoffset copy arg="h5repack_soffset.h5" -if test $USE_FILTER_SCALEOFFSET != "yes" ; then - SKIP $arg -else - TOOLTEST scale_copy $arg -fi +TOOLTEST scale_copy $arg # scaleoffset add arg="h5repack_soffset.h5 -f dset_none:SOFF=31,IN" -if test $USE_FILTER_SCALEOFFSET != "yes" ; then - SKIP $arg -else - TOOLTEST scale_add $arg -fi +TOOLTEST scale_add $arg # scaleoffset remove arg="h5repack_soffset.h5 -f dset_scaleoffset:NONE" -if test $USE_FILTER_SCALEOFFSET != "yes" ; then - SKIP $arg -else - TOOLTEST scale_remove $arg -fi +TOOLTEST scale_remove $arg # remove all filters arg="h5repack_filters.h5 -f NONE" -if test $USE_FILTER_FLETCHER32 != "yes" -o $USE_FILTER_DEFLATE != "yes" -o $USE_FILTER_SZIP != "yes" -o $USE_FILTER_SZIP_ENCODER != "yes" -o $USE_FILTER_SHUFFLE != "yes" -o $USE_FILTER_NBIT != "yes" -o $USE_FILTER_SCALEOFFSET != "yes" ; then +if test $USE_FILTER_DEFLATE != "yes" -o $USE_FILTER_SZIP != "yes" -o $USE_FILTER_SZIP_ENCODER != "yes" ; then SKIP $arg else TOOLTEST remove_all $arg @@ -1061,7 +1009,7 @@ fi # several global filters arg="h5repack_layout.h5 --filter GZIP=1 --filter SHUF" -if test $USE_FILTER_DEFLATE != "yes" -o $USE_FILTER_SHUFFLE != "yes" ; then +if test $USE_FILTER_DEFLATE != "yes" ; then SKIP $arg else TOOLTEST global_filters $arg diff --git a/tools/h5repack/h5repacktst.c b/tools/h5repack/h5repacktst.c index 5ec9a8d..46d895c 100644 --- a/tools/h5repack/h5repacktst.c +++ b/tools/h5repack/h5repacktst.c @@ -445,8 +445,6 @@ int main (void) TESTING(" addding shuffle filter"); -#ifdef H5_HAVE_FILTER_SHUFFLE - /*------------------------------------------------------------------------- * test an individual object option *------------------------------------------------------------------------- @@ -468,9 +466,6 @@ int main (void) GOERROR; PASSED(); -#else - SKIPPED(); -#endif /*------------------------------------------------------------------------- * test all objects option @@ -479,8 +474,6 @@ int main (void) TESTING(" addding shuffle filter to all"); -#ifdef H5_HAVE_FILTER_SHUFFLE - /* fs_type = H5F_FILE_SPACE_ALL_PERSIST; fs_size = 1 */ if (h5repack_init (&pack_options, 0, H5_INC_ENUM(H5F_file_space_type_t, fs_type), ++fs_size) < 0) GOERROR; @@ -498,13 +491,9 @@ int main (void) GOERROR; PASSED(); -#else - SKIPPED(); -#endif - TESTING(" adding checksum filter"); -#ifdef H5_HAVE_FILTER_FLETCHER32 + TESTING(" adding checksum filter"); /*------------------------------------------------------------------------- * test an individual object option @@ -527,9 +516,6 @@ int main (void) GOERROR; PASSED(); -#else - SKIPPED(); -#endif /*------------------------------------------------------------------------- * test all objects option @@ -539,8 +525,6 @@ int main (void) TESTING(" adding checksum filter to all"); -#ifdef H5_HAVE_FILTER_FLETCHER32 - if (h5repack_init (&pack_options, 0, fs_type, fs_size) < 0) GOERROR; if (h5repack_addfilter("FLET",&pack_options) < 0) @@ -557,9 +541,6 @@ int main (void) GOERROR; PASSED(); -#else - SKIPPED(); -#endif TESTING(" filter queue fletcher, shuffle, deflate, szip"); @@ -573,16 +554,10 @@ int main (void) GOERROR; if (h5repack_addlayout("dset1:CHUNK 20x10",&pack_options) < 0) GOERROR; - -#if defined (H5_HAVE_FILTER_FLETCHER32) if (h5repack_addfilter("dset1:FLET",&pack_options) < 0) GOERROR; -#endif - -#ifdef H5_HAVE_FILTER_SHUFFLE if (h5repack_addfilter("dset1:SHUF",&pack_options) < 0) GOERROR; -#endif #if defined (H5_HAVE_FILTER_SZIP) if (szip_can_encode) { @@ -1039,7 +1014,6 @@ int main (void) TESTING(" copy of shuffle filter"); -#ifdef H5_HAVE_FILTER_SHUFFLE if (h5repack_init (&pack_options, 0, fs_type, fs_size) < 0) GOERROR; if (h5repack(FNAME9,FNAME9OUT,&pack_options) < 0) @@ -1052,13 +1026,10 @@ int main (void) GOERROR; PASSED(); -#else - SKIPPED(); -#endif + TESTING(" removing shuffle filter"); -#ifdef H5_HAVE_FILTER_SHUFFLE if (h5repack_init (&pack_options, 0, fs_type, fs_size) < 0) GOERROR; if (h5repack_addfilter("dset_shuffle:NONE",&pack_options) < 0) @@ -1073,13 +1044,10 @@ int main (void) GOERROR; PASSED(); -#else - SKIPPED(); -#endif + TESTING(" copy of fletcher filter"); -#ifdef H5_HAVE_FILTER_FLETCHER32 if (h5repack_init (&pack_options, 0, fs_type, fs_size) < 0) GOERROR; if (h5repack(FNAME10,FNAME10OUT,&pack_options) < 0) @@ -1092,13 +1060,10 @@ int main (void) GOERROR; PASSED(); -#else - SKIPPED(); -#endif + TESTING(" removing fletcher filter"); -#ifdef H5_HAVE_FILTER_FLETCHER32 if (h5repack_init (&pack_options, 0, fs_type, fs_size) < 0) GOERROR; if (h5repack_addfilter("dset_fletcher32:NONE",&pack_options) < 0) @@ -1113,14 +1078,10 @@ int main (void) GOERROR; PASSED(); -#else - SKIPPED(); -#endif TESTING(" copy of nbit filter"); -#ifdef H5_HAVE_FILTER_NBIT if (h5repack_init (&pack_options, 0, fs_type, fs_size) < 0) GOERROR; if (h5repack(FNAME12,FNAME12OUT,&pack_options) < 0) @@ -1133,13 +1094,10 @@ int main (void) GOERROR; PASSED(); -#else - SKIPPED(); -#endif + TESTING(" removing nbit filter"); -#ifdef H5_HAVE_FILTER_NBIT if (h5repack_init (&pack_options, 0, fs_type, fs_size) < 0) GOERROR; if (h5repack_addfilter("dset_nbit:NONE",&pack_options) < 0) @@ -1154,14 +1112,10 @@ int main (void) GOERROR; PASSED(); -#else - SKIPPED(); -#endif TESTING(" adding nbit filter"); -#ifdef H5_HAVE_FILTER_NBIT if (h5repack_init (&pack_options, 0, fs_type, fs_size) < 0) GOERROR; if (h5repack_addfilter("dset_int31:NBIT",&pack_options) < 0) @@ -1176,14 +1130,10 @@ int main (void) GOERROR; PASSED(); -#else - SKIPPED(); -#endif TESTING(" copy of scaleoffset filter"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET if (h5repack_init (&pack_options, 0, fs_type, fs_size) < 0) GOERROR; if (h5repack(FNAME13,FNAME13OUT,&pack_options) < 0) @@ -1196,13 +1146,10 @@ int main (void) GOERROR; PASSED(); -#else - SKIPPED(); -#endif + TESTING(" removing scaleoffset filter"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET if (h5repack_init (&pack_options, 0, fs_type, fs_size) < 0) GOERROR; if (h5repack_addfilter("dset_scaleoffset:NONE",&pack_options) < 0) @@ -1217,14 +1164,10 @@ int main (void) GOERROR; PASSED(); -#else - SKIPPED(); -#endif TESTING(" adding scaleoffset filter"); -#ifdef H5_HAVE_FILTER_SCALEOFFSET if (h5repack_init (&pack_options, 0, fs_type, fs_size) < 0) GOERROR; if (h5repack_addfilter("dset_none:SOFF=31,IN",&pack_options) < 0) @@ -1239,10 +1182,6 @@ int main (void) GOERROR; PASSED(); -#else - SKIPPED(); -#endif - /*------------------------------------------------------------------------- @@ -1258,9 +1197,7 @@ int main (void) TESTING(" filter conversion from deflate to szip"); -#if defined (H5_HAVE_FILTER_SZIP) \ - && defined (H5_HAVE_FILTER_DEFLATE) \ - && defined (H5_HAVE_FILTER_FLETCHER32) && defined (H5_HAVE_FILTER_SHUFFLE) +#if defined (H5_HAVE_FILTER_SZIP) && defined (H5_HAVE_FILTER_DEFLATE) if (szip_can_encode) { /* fs_type = H5F_FILE_SPACE_VFD; fs_size = 4 */ @@ -1287,9 +1224,7 @@ int main (void) TESTING(" filter conversion from szip to deflate"); -#if defined (H5_HAVE_FILTER_SZIP) \ - && defined (H5_HAVE_FILTER_DEFLATE) \ - && defined (H5_HAVE_FILTER_FLETCHER32) && defined (H5_HAVE_FILTER_SHUFFLE) +#if defined (H5_HAVE_FILTER_SZIP) && defined (H5_HAVE_FILTER_DEFLATE) if (szip_can_encode) { if (h5repack_init (&pack_options, 0, fs_type, fs_size) < 0) @@ -1321,8 +1256,7 @@ int main (void) TESTING(" removing all filters"); -#if defined (H5_HAVE_FILTER_SZIP) && defined (H5_HAVE_FILTER_DEFLATE) \ - && defined (H5_HAVE_FILTER_FLETCHER32) && defined (H5_HAVE_FILTER_SHUFFLE) +#if defined (H5_HAVE_FILTER_SZIP) && defined (H5_HAVE_FILTER_DEFLATE) if (h5repack_init (&pack_options, 0, fs_type, fs_size) < 0) GOERROR; @@ -1429,7 +1363,7 @@ int main (void) TESTING(" several global filters"); -#if defined (H5_HAVE_FILTER_DEFLATE) && defined (H5_HAVE_FILTER_SHUFFLE) +#if defined (H5_HAVE_FILTER_DEFLATE) if (h5repack_init (&pack_options, 0, fs_type, fs_size) < 0) GOERROR; @@ -2347,13 +2281,12 @@ int make_shuffle(hid_t loc_id) * shuffle *------------------------------------------------------------------------- */ -#if defined (H5_HAVE_FILTER_SHUFFLE) + /* set the shuffle filter */ if (H5Pset_shuffle(dcpl) < 0) goto out; if (make_dset(loc_id,"dset_shuffle",sid,dcpl,buf) < 0) goto out; -#endif /*------------------------------------------------------------------------- @@ -2414,7 +2347,7 @@ int make_fletcher32(hid_t loc_id) * fletcher32 *------------------------------------------------------------------------- */ -#if defined (H5_HAVE_FILTER_FLETCHER32) + /* remove the filters from the dcpl */ if (H5Premove_filter(dcpl,H5Z_FILTER_ALL) < 0) goto out; @@ -2423,7 +2356,6 @@ int make_fletcher32(hid_t loc_id) goto out; if (make_dset(loc_id,"dset_fletcher32",sid,dcpl,buf) < 0) goto out; -#endif /*------------------------------------------------------------------------- * close space and dcpl @@ -2488,7 +2420,6 @@ int make_nbit(hid_t loc_id) goto out; } -#if defined H5_HAVE_FILTER_NBIT /* remove the filters from the dcpl */ if(H5Premove_filter(dcpl, H5Z_FILTER_ALL) < 0) { @@ -2522,7 +2453,6 @@ int make_nbit(hid_t loc_id) goto out; } H5Dclose(dsid); -#endif /*------------------------------------------------------------------------- * close @@ -2584,7 +2514,6 @@ int make_scaleoffset(hid_t loc_id) dtid = H5Tcopy(H5T_NATIVE_INT); -#if defined (H5_HAVE_FILTER_SCALEOFFSET) /* remove the filters from the dcpl */ if(H5Premove_filter(dcpl, H5Z_FILTER_ALL) < 0) { H5Tclose(dtid); @@ -2613,7 +2542,6 @@ int make_scaleoffset(hid_t loc_id) } H5Tclose(dtid); H5Dclose(dsid); -#endif /*------------------------------------------------------------------------- * close space and dcpl @@ -2647,10 +2575,8 @@ int make_all_filters(hid_t loc_id) { hid_t dcpl; /* dataset creation property list */ hid_t sid; /* dataspace ID */ -#if defined (H5_HAVE_FILTER_NBIT) hid_t dtid; hid_t dsid; -#endif /* H5_HAVE_FILTER_NBIT */ #if defined (H5_HAVE_FILTER_SZIP) unsigned szip_options_mask=H5_SZIP_ALLOW_K13_OPTION_MASK|H5_SZIP_NN_OPTION_MASK; unsigned szip_pixels_per_block=8; @@ -2680,17 +2606,13 @@ int make_all_filters(hid_t loc_id) if (H5Pset_chunk(dcpl, RANK, chunk_dims) < 0) goto out; -#if defined (H5_HAVE_FILTER_SHUFFLE) /* set the shuffle filter */ if (H5Pset_shuffle(dcpl) < 0) goto out; -#endif -#if defined (H5_HAVE_FILTER_FLETCHER32) /* set the checksum filter */ if (H5Pset_fletcher32(dcpl) < 0) goto out; -#endif #if defined (H5_HAVE_FILTER_SZIP) if (h5tools_can_encode(H5Z_FILTER_SZIP) == 1) @@ -2716,7 +2638,6 @@ int make_all_filters(hid_t loc_id) if (make_dset(loc_id,"dset_all",sid,dcpl,buf) < 0) goto out; -#if defined (H5_HAVE_FILTER_FLETCHER32) /* remove the filters from the dcpl */ if (H5Premove_filter(dcpl,H5Z_FILTER_ALL) < 0) goto out; @@ -2725,7 +2646,6 @@ int make_all_filters(hid_t loc_id) goto out; if (make_dset(loc_id,"dset_fletcher32",sid,dcpl,buf) < 0) goto out; -#endif /* Make sure encoding is enabled */ @@ -2747,7 +2667,6 @@ int make_all_filters(hid_t loc_id) #endif -#if defined (H5_HAVE_FILTER_SHUFFLE) /* remove the filters from the dcpl */ if (H5Premove_filter(dcpl,H5Z_FILTER_ALL) < 0) goto out; @@ -2756,7 +2675,6 @@ int make_all_filters(hid_t loc_id) goto out; if (make_dset(loc_id,"dset_shuffle",sid,dcpl,buf) < 0) goto out; -#endif #if defined (H5_HAVE_FILTER_DEFLATE) @@ -2772,7 +2690,6 @@ int make_all_filters(hid_t loc_id) -#if defined (H5_HAVE_FILTER_NBIT) /* remove the filters from the dcpl */ if (H5Premove_filter(dcpl, H5Z_FILTER_ALL) < 0) goto out; @@ -2793,8 +2710,6 @@ int make_all_filters(hid_t loc_id) return -1; if(H5Dclose(dsid) < 0) return -1; -#endif - if(H5Sclose(sid) < 0) goto out; diff --git a/tools/h5repack/testfiles/README b/tools/h5repack/testfiles/README new file mode 100644 index 0000000..4096dee --- /dev/null +++ b/tools/h5repack/testfiles/README @@ -0,0 +1,5 @@ +h5repack_nested_8bit_enum_deflated.h5: +h5repack_nested_8bit_enum.h5: + enuberated 8bit type nested in compount type. Original file provided + by a user (HDFFV-8667) as a test file. Used h5copy to extract only the + Compound type dataset. The non-deflated version is produced by h5repack. diff --git a/tools/h5repack/testfiles/h5repack_nested_8bit_enum.h5 b/tools/h5repack/testfiles/h5repack_nested_8bit_enum.h5 Binary files differnew file mode 100644 index 0000000..f1bd8e9 --- /dev/null +++ b/tools/h5repack/testfiles/h5repack_nested_8bit_enum.h5 diff --git a/tools/h5repack/testfiles/h5repack_nested_8bit_enum_deflated.h5 b/tools/h5repack/testfiles/h5repack_nested_8bit_enum_deflated.h5 Binary files differnew file mode 100644 index 0000000..2e66da2 --- /dev/null +++ b/tools/h5repack/testfiles/h5repack_nested_8bit_enum_deflated.h5 |