summaryrefslogtreecommitdiffstats
path: root/tools/h5dump/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'tools/h5dump/CMakeLists.txt')
-rw-r--r--tools/h5dump/CMakeLists.txt611
1 files changed, 611 insertions, 0 deletions
diff --git a/tools/h5dump/CMakeLists.txt b/tools/h5dump/CMakeLists.txt
new file mode 100644
index 0000000..e19acc4
--- /dev/null
+++ b/tools/h5dump/CMakeLists.txt
@@ -0,0 +1,611 @@
+cmake_minimum_required (VERSION 2.8)
+PROJECT (HDF5_TOOLS_H5DUMP)
+
+#-----------------------------------------------------------------------------
+# Setup include Directories
+#-----------------------------------------------------------------------------
+INCLUDE_DIRECTORIES (${HDF5_TOOLS_SOURCE_DIR}/lib)
+INCLUDE_DIRECTORIES (${HDF5_PROJECT_DIR}/test)
+
+# --------------------------------------------------------------------
+# Add the h5dump and test executables
+# --------------------------------------------------------------------
+ADD_EXECUTABLE (h5dump ${HDF5_TOOLS_H5DUMP_SOURCE_DIR}/h5dump.c)
+H5_NAMING (h5dump)
+TARGET_LINK_LIBRARIES (h5dump ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
+
+SET (H5_DEP_EXECUTABLES h5dump)
+
+IF (BUILD_TESTING)
+ IF (NOT BUILD_SHARED_LIBS)
+ ADD_EXECUTABLE (h5dumpgentest ${HDF5_TOOLS_H5DUMP_SOURCE_DIR}/h5dumpgentest.c)
+ H5_NAMING (h5dumpgentest)
+ TARGET_LINK_LIBRARIES (h5dumpgentest ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
+
+ #ADD_TEST (NAME h5dumpgentest COMMAND $<TARGET_FILE:h5dumpgentest>)
+
+ SET (H5_DEP_EXECUTABLES ${H5_DEP_EXECUTABLES}
+ # h5dumpgentest
+ )
+ ENDIF (NOT BUILD_SHARED_LIBS)
+
+ #-- Copy all the HDF5 files from the test directory into the source directory
+ SET (HDF5_REFERENCE_FILES
+ tall-1.ddl
+ tall-2.ddl
+ tall-2A.ddl
+ tall-2B.ddl
+ tall-3.ddl
+ tall-4s.ddl
+ tall-5s.ddl
+ tallfilters.ddl
+ tarray1.ddl
+ tarray2.ddl
+ tarray3.ddl
+ tarray4.ddl
+ tarray5.ddl
+ tarray6.ddl
+ tarray7.ddl
+ tarray8.ddl
+ tattr-1.ddl
+ tattr-2.ddl
+ tattr-3.ddl
+ tattrreg.ddl
+ tattrregR.ddl
+ tbigdims.ddl
+ tboot1.ddl
+ tboot2.ddl
+ tchar1.ddl
+ tchunked.ddl
+ tcomp-1.ddl
+ tcomp-2.ddl
+ tcomp-3.ddl
+ tcomp-4.ddl
+ tcompact.ddl
+ tcontents.ddl
+ tcontiguos.ddl
+ tdatareg.ddl
+ tdataregR.ddl
+ tdeflate.ddl
+ tdset-1.ddl
+ tdset-2.ddl
+ tdset-3s.ddl
+ tempty.ddl
+ texternal.ddl
+ textlinksrc.ddl
+ textlinkfar.ddl
+ tfamily.ddl
+ tfill.ddl
+ tfletcher32.ddl
+ tfpformat.ddl
+ tgroup-1.ddl
+ tgroup-2.ddl
+ tgrp_comments.ddl
+ thlink-1.ddl
+ thlink-2.ddl
+ thlink-3.ddl
+ thlink-4.ddl
+ thlink-5.ddl
+ thyperslab.ddl
+ tindicesno.ddl
+ tindicessub1.ddl
+ tindicessub2.ddl
+ tindicessub3.ddl
+ tindicessub4.ddl
+ tindicesyes.ddl
+ tlarge_objname.ddl
+ #tldouble.ddl
+ tlonglinks.ddl
+ tloop-1.ddl
+ tmulti.ddl
+ tnamed_dtype_attr.ddl
+ tnestcomp-1.ddl
+ tnbit.ddl
+ tnofilename-with-packed-bits.ddl
+ tnofilename.ddl
+ tnullspace.ddl
+ tordergr1.ddl
+ tordergr2.ddl
+ tordergr3.ddl
+ tordergr4.ddl
+ tordergr5.ddl
+ torderattr1.ddl
+ torderattr2.ddl
+ torderattr3.ddl
+ torderattr4.ddl
+ tpackedbits.ddl
+ tpackedbits2.ddl
+ tperror.ddl
+ treference.ddl
+ tsaf.ddl
+ tscaleoffset.ddl
+ tshuffle.ddl
+ tslink-1.ddl
+ tslink-2.ddl
+ tsplit_file.ddl
+ tstr-1.ddl
+ tstr-2.ddl
+ tstring.ddl
+ tstring2.ddl
+ tstringe.ddl
+ tszip.ddl
+ tudlink-1.ddl
+ tudlink-2.ddl
+ tuserfilter.ddl
+ tvldtypes1.ddl
+ tvldtypes2.ddl
+ tvldtypes3.ddl
+ tvldtypes4.ddl
+ tvldtypes5.ddl
+ tvlstr.ddl
+ tvms.ddl
+ )
+ SET (HDF5_REFERENCE_TEST_FILES
+ tbin1.ddl
+ tbin1.ddl
+ tbin2.ddl
+ tbin3.ddl
+ tbin4.ddl
+ out3.h5import
+ taindices.h5
+ tall.h5
+ tarray1.h5
+ tarray2.h5
+ tarray3.h5
+ tarray4.h5
+ tarray5.h5
+ tarray6.h5
+ tarray7.h5
+ tarray8.h5
+ tattr.h5
+ tattr2.h5
+ tattrreg.h5
+ tbigdims.h5
+ tbinary.h5
+ tchar.h5
+ tcompound.h5
+ tcompound_complex.h5
+ tdatareg.h5
+ tdset.h5
+ tempty.h5
+ textlinkfar.h5
+ textlinksrc.h5
+ textlinktar.h5
+ tfamily00000.h5
+ tfamily00001.h5
+ tfamily00002.h5
+ tfamily00003.h5
+ tfamily00004.h5
+ tfamily00005.h5
+ tfamily00006.h5
+ tfamily00007.h5
+ tfamily00008.h5
+ tfamily00009.h5
+ tfamily00010.h5
+ tfcontents1.h5
+ tfcontents2.h5
+ tfilters.h5
+ tfpformat.h5
+ tfvalues.h5
+ tgroup.h5
+ tgrp_comments.h5
+ thlink.h5
+ thyperslab.h5
+ tlarge_objname.h5
+ #tldouble.h5
+ tlonglinks.h5
+ tloop.h5
+ tmulti-b.h5
+ tmulti-g.h5
+ tmulti-l.h5
+ tmulti-o.h5
+ tmulti-r.h5
+ tmulti-s.h5
+ tnamed_dtype_attr.h5
+ tnestedcomp.h5
+ tnullspace.h5
+ torderattr.h5
+ tordergr.h5
+ tsaf.h5
+ tslink.h5
+ tsplit_file-m.h5
+ tsplit_file-r.h5
+ tstr.h5
+ tstr2.h5
+ tstr3.h5
+ tudlink.h5
+ tvldtypes1.h5
+ tvldtypes2.h5
+ tvldtypes3.h5
+ tvldtypes4.h5
+ tvldtypes5.h5
+ tvlstr.h5
+ tvms.h5
+ )
+
+ FOREACH (ddl_file ${HDF5_REFERENCE_FILES})
+ SET (ddldest "${PROJECT_BINARY_DIR}/${ddl_file}")
+ #MESSAGE (STATUS " Translating ${ddl_file}")
+ ADD_CUSTOM_COMMAND (
+ TARGET h5dump
+ POST_BUILD
+ COMMAND ${XLATE_UTILITY}
+ ARGS ${HDF5_TOOLS_SOURCE_DIR}/testfiles/${ddl_file} ${ddldest} -l3
+ )
+ ENDFOREACH (ddl_file ${HDF5_REFERENCE_FILES})
+
+ FOREACH (h5_file ${HDF5_REFERENCE_TEST_FILES})
+ SET (dest "${PROJECT_BINARY_DIR}/${h5_file}")
+ #MESSAGE (STATUS " Copying ${h5_file}")
+ ADD_CUSTOM_COMMAND (
+ TARGET h5dump
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND}
+ ARGS -E copy_if_different ${HDF5_TOOLS_SOURCE_DIR}/testfiles/${h5_file} ${dest}
+ )
+ ENDFOREACH (h5_file ${HDF5_REFERENCE_TEST_FILES})
+
+ ADD_CUSTOM_COMMAND (
+ TARGET h5dump
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND}
+ ARGS -E copy_if_different ${HDF5_TOOLS_SOURCE_DIR}/testfiles/tbin1.ddl ${PROJECT_BINARY_DIR}/tbin1LE.ddl
+ )
+
+ MACRO (ADD_SKIP_H5_TEST skipresultfile skipresultcode testtype)
+ IF (${testtype} STREQUAL "SKIP")
+ MESSAGE (STATUS "SKIP ${skipresultfile} ${ARGN}")
+ ELSE (${testtype} STREQUAL "SKIP")
+ ADD_H5_TEST (${skipresultfile} ${skipresultcode} ${ARGN})
+ ENDIF (${testtype} STREQUAL "SKIP")
+ ENDMACRO (ADD_SKIP_H5_TEST)
+
+ MACRO (ADD_H5_TEST resultfile resultcode)
+ ADD_TEST (
+ NAME H5DUMP-${resultfile}
+ COMMAND "${CMAKE_COMMAND}"
+ -D "TEST_PROGRAM=$<TARGET_FILE:h5dump>"
+ -D "TEST_ARGS:STRING=${ARGN}"
+ -D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
+ -D "TEST_OUTPUT=${resultfile}.out"
+ -D "TEST_EXPECT=${resultcode}"
+ -D "TEST_REFERENCE=${resultfile}.ddl"
+ -P "${HDF5_RESOURCES_DIR}/runTest.cmake"
+ )
+ ENDMACRO (ADD_H5_TEST file)
+
+ # Determine which filters are available
+ SET (USE_FILTER_SZIP H5_HAVE_FILTER_SZIP)
+ SET (USE_FILTER_DEFLATE H5_HAVE_FILTER_DEFLATE)
+ SET (USE_FILTER_SHUFFLE H5_HAVE_FILTER_SHUFFLE)
+ SET (USE_FILTER_FLETCHER32 H5_HAVE_FILTER_FLETCHER32)
+ SET (USE_FILTER_NBIT H5_HAVE_FILTER_NBIT)
+ SET (USE_FILTER_SCALEOFFSET H5_HAVE_FILTER_SCALEOFFSET)
+
+# Determine if H5dump packed bits feature is included
+ SET (USE_PACKED_BITS HDF5_USE_H5DUMP_PACKED_BITS)
+
+##############################################################################
+##############################################################################
+### T H E T E S T S ###
+##############################################################################
+##############################################################################
+ # test for displaying groups
+ ADD_H5_TEST (tgroup-1 0 tgroup.h5)
+ # test for displaying the selected groups
+ ADD_H5_TEST (tgroup-2 1 --group=/g2 --group / -g /y tgroup.h5)
+
+ # test for displaying simple space datasets
+ ADD_H5_TEST (tdset-1 0 tdset.h5)
+ # test for displaying selected datasets
+ ADD_H5_TEST (tdset-2 1 -H -d dset1 -d /dset2 --dataset=dset3 tdset.h5)
+
+ # test for displaying attributes
+ ADD_H5_TEST (tattr-1 0 tattr.h5)
+ # test for displaying the selected attributes of string type and scalar space
+ ADD_H5_TEST (tattr-2 0 -a /attr1 --attribute /attr4 --attribute=/attr5 tattr.h5)
+ # test for header and error messages
+ ADD_H5_TEST (tattr-3 1 --header -a /attr2 --attribute=/attr tattr.h5)
+ # test for displaying attributes in shared datatype (also in group and dataset)
+ ADD_H5_TEST (tnamed_dtype_attr 0 tnamed_dtype_attr.h5)
+
+ # test for displaying soft links and user-defined links
+ ADD_H5_TEST (tslink-1 0 tslink.h5)
+ ADD_H5_TEST (tudlink-1 0 tudlink.h5)
+ # test for displaying the selected link
+ ADD_H5_TEST (tslink-2 0 -l slink2 tslink.h5)
+ ADD_H5_TEST (tudlink-2 0 -l udlink2 tudlink.h5)
+
+ # tests for hard links
+ ADD_H5_TEST (thlink-1 0 thlink.h5)
+ ADD_H5_TEST (thlink-2 0 -d /g1/dset2 --dataset /dset1 --dataset=/g1/g1.1/dset3 thlink.h5)
+ ADD_H5_TEST (thlink-3 0 -d /g1/g1.1/dset3 --dataset /g1/dset2 --dataset=/dset1 thlink.h5)
+ ADD_H5_TEST (thlink-4 0 -g /g1 thlink.h5)
+ ADD_H5_TEST (thlink-5 0 -d /dset1 -g /g2 -d /g1/dset2 thlink.h5)
+
+ # tests for compound data types
+ ADD_H5_TEST (tcomp-1 0 tcompound.h5)
+ # test for named data types
+ ADD_H5_TEST (tcomp-2 0 -t /type1 --datatype /type2 --datatype=/group1/type3 tcompound.h5)
+ # test for unamed type
+ #ADD_H5_TEST (tcomp-3 0 -t /#6632 -g /group2 tcompound.h5)
+ # test complicated compound datatype
+ ADD_H5_TEST (tcomp-4 0 tcompound_complex.h5)
+
+ #test for the nested compound type
+ ADD_H5_TEST (tnestcomp-1 0 tnestedcomp.h5)
+
+ # test for options
+ ADD_H5_TEST (tall-1 0 tall.h5)
+ ADD_H5_TEST (tall-2 0 --header -g /g1/g1.1 -a attr2 tall.h5)
+ ADD_H5_TEST (tall-3 0 -d /g2/dset2.1 -l /g1/g1.2/g1.2.1/slink tall.h5)
+
+ # test for loop detection
+ ADD_H5_TEST (tloop-1 0 tloop.h5)
+
+ # test for string
+ ADD_H5_TEST (tstr-1 0 tstr.h5)
+ ADD_H5_TEST (tstr-2 0 tstr2.h5)
+
+ # test for file created by Lib SAF team
+ ADD_H5_TEST (tsaf 0 tsaf.h5)
+
+ # test for file with variable length data
+ ADD_H5_TEST (tvldtypes1 0 tvldtypes1.h5)
+ ADD_H5_TEST (tvldtypes2 0 tvldtypes2.h5)
+ ADD_H5_TEST (tvldtypes3 0 tvldtypes3.h5)
+ ADD_H5_TEST (tvldtypes4 0 tvldtypes4.h5)
+ ADD_H5_TEST (tvldtypes5 0 tvldtypes5.h5)
+
+ #test for file with variable length string data
+ ADD_H5_TEST (tvlstr 0 tvlstr.h5)
+
+ # test for files with array data
+ ADD_H5_TEST (tarray1 0 tarray1.h5)
+ ADD_H5_TEST (tarray2 0 tarray2.h5)
+ ADD_H5_TEST (tarray3 0 tarray3.h5)
+ ADD_H5_TEST (tarray4 0 tarray4.h5)
+ ADD_H5_TEST (tarray5 0 tarray5.h5)
+ ADD_H5_TEST (tarray6 0 tarray6.h5)
+ ADD_H5_TEST (tarray7 0 tarray7.h5)
+ ADD_H5_TEST (tarray8 0 tarray8.h5)
+
+ # test for files with empty data
+ ADD_H5_TEST (tempty 0 tempty.h5)
+
+ # test for files with groups that have comments
+ ADD_H5_TEST (tgrp_comments 0 tgrp_comments.h5)
+
+ # test the --filedriver flag
+ ADD_H5_TEST (tsplit_file 0 --filedriver=split tsplit_file)
+ ADD_H5_TEST (tfamily 0 --filedriver=family tfamily%05d.h5)
+ ADD_H5_TEST (tmulti 0 --filedriver=multi tmulti)
+
+ # test for files with group names which reach > 1024 bytes in size
+ ADD_H5_TEST (tlarge_objname 0 -w157 tlarge_objname.h5)
+
+ # test '-A' to suppress data but print attr's
+ ADD_H5_TEST (tall-2A 0 -A tall.h5)
+
+ # test '-r' to print attributes in ASCII instead of decimal
+ ADD_H5_TEST (tall-2B 0 -A -r tall.h5)
+
+ # test Subsetting
+ ADD_H5_TEST (tall-4s 0 --dataset=/g1/g1.1/dset1.1.1 --start=1,1 --stride=2,3 --count=3,2 --block=1,1 tall.h5)
+ ADD_H5_TEST (tall-5s 0 -d "/g1/g1.1/dset1.1.2[0;2;10;]" tall.h5)
+ ADD_H5_TEST (tdset-3s 0 -d "/dset1[1,1;;;]" tdset.h5)
+
+ # test printing characters in ASCII instead of decimal
+ ADD_H5_TEST (tchar1 0 -r tchar.h5)
+
+ # test failure handling
+ # Missing file name
+ IF (${USE_PACKED_BITS})
+ ADD_H5_TEST (tnofilename-with-packed-bits 1)
+ ELSE (${USE_PACKED_BITS})
+ ADD_H5_TEST (tnofilename 1)
+ ENDIF (${USE_PACKED_BITS})
+
+ # rev. 2004
+
+ # tests for super block
+ ADD_H5_TEST (tboot1 0 -H -B -d dset tfcontents1.h5)
+ ADD_H5_TEST (tboot2 0 -B tfcontents2.h5)
+
+ # test -p with a non existing dataset
+ ADD_H5_TEST (tperror 1 -p -d bogus tfcontents1.h5)
+
+ # test for file contents
+ ADD_H5_TEST (tcontents 0 -n tfcontents1.h5)
+
+ # tests for storage layout
+ # compact
+ ADD_H5_TEST (tcompact 0 -H -p -d compact tfilters.h5)
+ # contiguous
+ ADD_H5_TEST (tcontiguos 0 -H -p -d contiguous tfilters.h5)
+ # chunked
+ ADD_H5_TEST (tchunked 0 -H -p -d chunked tfilters.h5)
+ # external
+ ADD_H5_TEST (texternal 0 -H -p -d external tfilters.h5)
+
+ # fill values
+ ADD_H5_TEST (tfill 0 -p tfvalues.h5)
+
+ # several datatype, with references , print path
+ ADD_H5_TEST (treference 0 tattr2.h5)
+
+ # escape/not escape non printable characters
+ ADD_H5_TEST (tstringe 0 -e tstr3.h5)
+ ADD_H5_TEST (tstring 0 tstr3.h5)
+ # char data as ASCII with non escape
+ ADD_H5_TEST (tstring2 0 -r -d str4 tstr3.h5)
+
+ # array indices print/not print
+ ADD_H5_TEST (tindicesyes 0 taindices.h5)
+ ADD_H5_TEST (tindicesno 0 -y taindices.h5)
+
+ ########## array indices with subsetting
+ # 1D case
+ ADD_H5_TEST (tindicessub1 0 -d 1d -s 1 -S 10 -c 2 -k 3 taindices.h5)
+
+ # 2D case
+ ADD_H5_TEST (tindicessub2 0 -d 2d -s 1,2 -S 3,3 -c 3,2 -k 2,2 taindices.h5)
+
+ # 3D case
+ ADD_H5_TEST (tindicessub3 0 -d 3d -s 0,1,2 -S 1,3,3 -c 2,2,2 -k 1,2,2 taindices.h5)
+
+ # 4D case
+ ADD_H5_TEST (tindicessub4 0 -d 4d -s 0,0,1,2 -c 2,2,3,2 -S 1,1,3,3 -k 1,1,2,2 taindices.h5)
+
+ # tests for filters
+ # SZIP
+ SET (TESTTYPE "TEST")
+ IF (NOT USE_FILTER_SZIP)
+ SET (TESTTYPE "SKIP")
+ ENDIF (NOT USE_FILTER_SZIP)
+ ADD_SKIP_H5_TEST (tszip 0 ${TESTTYPE} -H -p -d szip tfilters.h5)
+
+ # deflate
+ SET (TESTTYPE "TEST")
+ IF (NOT USE_FILTER_DEFLATE)
+ SET (TESTTYPE "SKIP")
+ ENDIF (NOT USE_FILTER_DEFLATE)
+ ADD_SKIP_H5_TEST (tdeflate 0 ${TESTTYPE} -H -p -d deflate tfilters.h5)
+
+ # shuffle
+ SET (TESTTYPE "TEST")
+ IF (NOT USE_FILTER_SHUFFLE)
+ SET (TESTTYPE "SKIP")
+ ENDIF (NOT USE_FILTER_SHUFFLE)
+ ADD_SKIP_H5_TEST (tshuffle 0 ${TESTTYPE} -H -p -d shuffle tfilters.h5)
+
+ # fletcher32
+ SET (TESTTYPE "TEST")
+ IF (NOT USE_FILTER_FLETCHER32)
+ SET (TESTTYPE "SKIP")
+ ENDIF (NOT USE_FILTER_FLETCHER32)
+ ADD_SKIP_H5_TEST (tfletcher32 0 ${TESTTYPE} -H -p -d fletcher32 tfilters.h5)
+
+ # nbit
+ SET (TESTTYPE "TEST")
+ IF (NOT USE_FILTER_NBIT)
+ SET (TESTTYPE "SKIP")
+ ENDIF (NOT USE_FILTER_NBIT)
+ ADD_SKIP_H5_TEST (tnbit 0 ${TESTTYPE} -H -p -d nbit tfilters.h5)
+
+ # scaleoffset
+ SET (TESTTYPE "TEST")
+ IF (NOT USE_FILTER_SCALEOFFSET)
+ SET (TESTTYPE "SKIP")
+ ENDIF (NOT USE_FILTER_SCALEOFFSET)
+ ADD_SKIP_H5_TEST (tscaleoffset 0 ${TESTTYPE} -H -p -d scaleoffset tfilters.h5)
+
+ # all
+ SET (TESTTYPE "TEST")
+ IF (NOT USE_FILTER_SZIP OR NOT USE_FILTER_SHUFFLE OR NOT USE_FILTER_FLETCHER32 OR NOT USE_FILTER_DEFLATE OR NOT USE_FILTER_NBIT OR NOT USE_FILTER_SCALEOFFSET)
+ SET (TESTTYPE "SKIP")
+ ENDIF (NOT USE_FILTER_SZIP OR NOT USE_FILTER_SHUFFLE OR NOT USE_FILTER_FLETCHER32 OR NOT USE_FILTER_DEFLATE OR NOT USE_FILTER_NBIT OR NOT USE_FILTER_SCALEOFFSET)
+ ADD_SKIP_H5_TEST (tallfilters 0 ${TESTTYPE} -H -p -d all tfilters.h5)
+
+ # user defined
+ ADD_H5_TEST (tuserfilter 0 -H -p -d myfilter tfilters.h5)
+
+ # test for displaying objects with very long names
+ ADD_H5_TEST (tlonglinks 0 tlonglinks.h5)
+
+ # dimensions over 4GB, print boundary
+ ADD_H5_TEST (tbigdims 0 -d dset4gb -s 4294967284 -c 22 tbigdims.h5)
+
+ # hyperslab read
+ ADD_H5_TEST (thyperslab 0 thyperslab.h5)
+
+ # test for displaying dataset and attribute of null space
+ ADD_H5_TEST (tnullspace 0 tnullspace.h5)
+
+ # test for long double (some systems do not have long double)
+ #ADD_H5_TEST (tldouble 0 tldouble.h5)
+
+ # test for vms
+ ADD_H5_TEST (tvms 0 tvms.h5)
+
+ # test for binary output
+ ADD_H5_TEST (tbin1LE 0 -d integer -o out1LE.bin -b LE tbinary.h5)
+
+ # NATIVE default. the NATIVE test can be validated with h5import/h5diff
+ ADD_H5_TEST (tbin1 0 -d integer -o out1.bin -b tbinary.h5)
+ ADD_TEST (NAME H5DUMP-clear-out1 COMMAND ${CMAKE_COMMAND} -E remove out1.h5)
+ ADD_TEST (NAME H5DUMP-h5import-out1 COMMAND h5import out1.bin -c out3.h5import -o out1.h5)
+ ADD_TEST (NAME H5DUMP-h5diff-out1 COMMAND h5diff tbinary.h5 out1.h5 /integer /integer)
+
+ ADD_H5_TEST (tbin2 0 -b BE -d float -o out2.bin tbinary.h5)
+
+ # the NATIVE test can be validated with h5import/h5diff
+ ADD_H5_TEST (tbin3 0 -d integer -o out3.bin -b NATIVE tbinary.h5)
+ ADD_TEST (NAME H5DUMP-clear-out3 COMMAND ${CMAKE_COMMAND} -E remove out3.h5)
+ ADD_TEST (NAME H5DUMP-h5import-out3 COMMAND h5import out3.bin -c out3.h5import -o out3.h5)
+ ADD_TEST (NAME H5DUMP-h5diff-out3 COMMAND h5diff tbinary.h5 out3.h5 /integer /integer -q)
+
+ ADD_H5_TEST (tbin4 0 -d double -b FILE -o out4.bin tbinary.h5)
+
+ # Clean up binary output files
+ IF (NOT HDF5_NOCLEANUP)
+ ADD_TEST (
+ NAME H5DUMP-clear-objects
+ COMMAND ${CMAKE_COMMAND}
+ -E remove
+ out1.bin
+ out1LE.bin
+ out2.bin
+ out3.bin
+ out4.bin
+ out1.h5
+ out3.h5
+ )
+ ENDIF (NOT HDF5_NOCLEANUP)
+
+ # test for dataset region references
+ ADD_H5_TEST (tdatareg 0 tdatareg.h5)
+ ADD_H5_TEST (tdataregR 0 -R tdatareg.h5)
+ ADD_H5_TEST (tattrreg 0 tattrreg.h5)
+ ADD_H5_TEST (tattrregR 0 -R tattrreg.h5)
+
+ # tests for group creation order
+ # "1" tracked, "2" name, root tracked
+ ADD_H5_TEST (tordergr1 0 --group=1 --sort_by=creation_order --sort_order=ascending tordergr.h5)
+ ADD_H5_TEST (tordergr2 0 --group=1 --sort_by=creation_order --sort_order=descending tordergr.h5)
+ ADD_H5_TEST (tordergr3 0 -g 2 -q name -z ascending tordergr.h5)
+ ADD_H5_TEST (tordergr4 0 -g 2 -q name -z descending tordergr.h5)
+ ADD_H5_TEST (tordergr5 0 -q creation_order tordergr.h5)
+
+ # tests for attribute order
+ ADD_H5_TEST (torderattr1 0 -H --sort_by=name --sort_order=ascending torderattr.h5)
+ ADD_H5_TEST (torderattr2 0 -H --sort_by=name --sort_order=descending torderattr.h5)
+ ADD_H5_TEST (torderattr3 0 -H --sort_by=creation_order --sort_order=ascending torderattr.h5)
+ ADD_H5_TEST (torderattr4 0 -H --sort_by=creation_order --sort_order=descending torderattr.h5)
+
+ # tests for floating point user defined printf format
+ ADD_H5_TEST (tfpformat 0 -m %.7f tfpformat.h5)
+
+ # tests for traversal of external links
+ ADD_H5_TEST (textlinksrc 0 textlinksrc.h5)
+ ADD_H5_TEST (textlinkfar 0 textlinkfar.h5)
+
+ # test for dataset packed bits
+ SET (TESTTYPE "TEST")
+ IF (NOT ${USE_PACKED_BITS})
+ SET (TESTTYPE "SKIP")
+ ENDIF (NOT ${USE_PACKED_BITS})
+ ADD_SKIP_H5_TEST (tpackedbits 0 ${TESTTYPE} -d /dset1 -M 0,2 tdset.h5)
+ ADD_SKIP_H5_TEST (tpackedbits2 0 ${TESTTYPE} -d /dset1 -M 0,2,2,1 tdset.h5)
+
+ENDIF (BUILD_TESTING)
+
+#-----------------------------------------------------------------------------
+# Rules for Installation of tools using make Install target
+#-----------------------------------------------------------------------------
+INSTALL (
+ TARGETS
+ h5dump
+ RUNTIME DESTINATION
+ bin/tools
+)