summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllen Byrne <byrn@hdfgroup.org>2015-04-01 19:27:37 (GMT)
committerAllen Byrne <byrn@hdfgroup.org>2015-04-01 19:27:37 (GMT)
commit4f87ef5e0ea8238a4836e31db0695c149646f7c5 (patch)
tree2b4670d98593022018bd558d9e1bcd4d08b50604
parentee7e18f310351b30bb736fd057594ff81458369f (diff)
downloadhdf5-4f87ef5e0ea8238a4836e31db0695c149646f7c5.zip
hdf5-4f87ef5e0ea8238a4836e31db0695c149646f7c5.tar.gz
hdf5-4f87ef5e0ea8238a4836e31db0695c149646f7c5.tar.bz2
[svn-r26696] Merge from trunk
Tested local linux cmake
-rw-r--r--MANIFEST2
-rw-r--r--release_docs/INSTALL_CMake.txt4
-rw-r--r--tools/h5dump/CMakeTests.cmake29
-rw-r--r--tools/h5repack/CMakeTests.cmake130
-rw-r--r--tools/perform/CMakeTests.cmake1
-rw-r--r--tools/testfiles/tbitnopaque.ddl293
-rw-r--r--tools/testfiles/tbitnopaque.h5bin0 -> 8240 bytes
7 files changed, 336 insertions, 123 deletions
diff --git a/MANIFEST b/MANIFEST
index 124d619..c614a2b 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -1307,6 +1307,8 @@
./tools/testfiles/tbinregR.exp
./tools/testfiles/tbinregR.ddl
./tools/testfiles/tbitfields.h5
+./tools/testfiles/tbitnopaque.ddl
+./tools/testfiles/tbitnopaque.h5
./tools/testfiles/tboot1.ddl
./tools/testfiles/tboot2.ddl
./tools/testfiles/tboot2A.ddl
diff --git a/release_docs/INSTALL_CMake.txt b/release_docs/INSTALL_CMake.txt
index 24307ee..dc87d5a 100644
--- a/release_docs/INSTALL_CMake.txt
+++ b/release_docs/INSTALL_CMake.txt
@@ -588,10 +588,6 @@ HDF5_ENABLE_SZIP_SUPPORT "Use SZip Filter" OFF
HDF5_ENABLE_Z_LIB_SUPPORT "Enable Zlib Filters" OFF
ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB" 0
SZIP_USE_EXTERNAL "Use External Library Building for SZIP" 0
-HDF5_USE_FILTER_FLETCHER32 "Use the FLETCHER32 Filter" ON
-HDF5_USE_FILTER_NBIT "Use the NBIT Filter" ON
-HDF5_USE_FILTER_SCALEOFFSET "Use the SCALEOFFSET Filter" ON
-HDF5_USE_FILTER_SHUFFLE "Use the SHUFFLE Filter" ON
if (HDF5_ENABLE_SZIP_SUPPORT)
HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" OFF
if (WINDOWS)
diff --git a/tools/h5dump/CMakeTests.cmake b/tools/h5dump/CMakeTests.cmake
index 07a48f7..977706b 100644
--- a/tools/h5dump/CMakeTests.cmake
+++ b/tools/h5dump/CMakeTests.cmake
@@ -49,6 +49,7 @@
${HDF5_TOOLS_SRC_DIR}/testfiles/tbin4.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tbinregR.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tbigdims.ddl
+ ${HDF5_TOOLS_SRC_DIR}/testfiles/tbitnopaque.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tboot1.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tboot2.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tboot2A.ddl
@@ -64,6 +65,7 @@
${HDF5_TOOLS_SRC_DIR}/testfiles/tcomp-3.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tcomp-4.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tcompact.ddl
+ ${HDF5_TOOLS_SRC_DIR}/testfiles/tcompound_enum.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tcontents.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tcontiguos.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tdatareg.ddl
@@ -204,6 +206,7 @@
${HDF5_TOOLS_SRC_DIR}/testfiles/tattrreg.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tbigdims.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tbinary.h5
+ ${HDF5_TOOLS_SRC_DIR}/testfiles/tbitnopaque.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tchar.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tcmpdattrintsize.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tcmpdintarray.h5
@@ -211,6 +214,7 @@
${HDF5_TOOLS_SRC_DIR}/testfiles/tcmpdintsize.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tcompound.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tcompound_complex.h5
+ ${HDF5_TOOLS_SRC_DIR}/testfiles/tcompound_enum.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tdatareg.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tdset.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tempty.h5
@@ -801,6 +805,8 @@
tbinregR.out.err
tbigdims.out
tbigdims.out.err
+ tbitnopaque.out
+ tbitnopaque.out.err
tboot1.out
tboot1.out.err
tboot2.out
@@ -1143,10 +1149,13 @@
ADD_H5ERR_MASK_TEST (tcomp-3 0 "--enable-error-stack;-t;/#6632;-g;/group2;tcompound.h5")
# test complicated compound datatype
ADD_H5_TEST (tcomp-4 0 --enable-error-stack tcompound_complex.h5)
+ # tests for bitfields and opaque data types
+ ADD_H5_TEST (tbitnopaque 0 --enable-error-stack tbitnopaque.h5)
#test for the nested compound type
ADD_H5_TEST (tnestcomp-1 0 --enable-error-stack tnestedcomp.h5)
ADD_H5_TEST (tnestedcmpddt 0 --enable-error-stack tnestedcmpddt.h5)
+ ADD_H5_TEST (tcompound_enum 0 --enable-error-stack tcompound_enum.h5)
# test for options
ADD_H5ERR_MASK_TEST (tall-1 0 --enable-error-stack tall.h5)
@@ -1329,30 +1338,14 @@
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)
-
- if (USE_FILTER_DEFLATE AND USE_FILTER_SHUFFLE AND USE_FILTER_FLETCHER32 AND USE_FILTER_NBIT AND USE_FILTER_SCALEOFFSET)
+ if (USE_FILTER_DEFLATE)
# data read internal filters
ADD_H5_TEST (treadintfilter 0 --enable-error-stack -d deflate -d shuffle -d fletcher32 -d nbit -d scaleoffset tfilters.h5)
if (HDF5_ENABLE_SZIP_SUPPORT)
# data read all filters
ADD_H5_TEST (treadfilter 0 --enable-error-stack -d all -d szip tfilters.h5)
endif (HDF5_ENABLE_SZIP_SUPPORT)
- endif (USE_FILTER_DEFLATE AND USE_FILTER_SHUFFLE AND USE_FILTER_FLETCHER32 AND USE_FILTER_NBIT AND USE_FILTER_SCALEOFFSET)
+ endif (USE_FILTER_DEFLATE)
# test for displaying objects with very long names
ADD_H5_TEST (tlonglinks 0 --enable-error-stack tlonglinks.h5)
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/perform/CMakeTests.cmake b/tools/perform/CMakeTests.cmake
index 825b2b5..6927124 100644
--- a/tools/perform/CMakeTests.cmake
+++ b/tools/perform/CMakeTests.cmake
@@ -32,6 +32,7 @@ add_test (
)
add_test (NAME PERFORM_h5perf_serial COMMAND $<TARGET_FILE:h5perf_serial>)
+set_tests_properties (PERFORM_h5perf_serial PROPERTIES TIMEOUT 1800)
if (HDF5_BUILD_PERFORM_STANDALONE)
add_test (NAME PERFORM_h5perf_serial_alone COMMAND $<TARGET_FILE:h5perf_serial_alone>)
diff --git a/tools/testfiles/tbitnopaque.ddl b/tools/testfiles/tbitnopaque.ddl
new file mode 100644
index 0000000..9000463
--- /dev/null
+++ b/tools/testfiles/tbitnopaque.ddl
@@ -0,0 +1,293 @@
+HDF5 "tbitnopaque.h5" {
+GROUP "/" {
+ GROUP "bittypetests" {
+ DATASET "bitfield_1" {
+ DATATYPE H5T_STD_B8LE
+ DATASPACE SIMPLE { ( 32 ) / ( 32 ) }
+ DATA {
+ (0): 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0xf7, 0xf6,
+ (10): 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0, 0xef, 0xee, 0xed, 0xec,
+ (20): 0xeb, 0xea, 0xe9, 0xe8, 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2,
+ (30): 0xe1, 0xe0
+ }
+ }
+ DATASET "bitfield_2" {
+ DATATYPE H5T_STD_B16LE
+ DATASPACE SIMPLE { ( 32 ) / ( 32 ) }
+ DATA {
+ (0): ff:ff, 00:00, ef:ff, 00:00, df:ff, 00:00, cf:ff, 00:00, bf:ff,
+ (9): 00:00, af:ff, 00:00, 9f:ff, 00:00, 8f:ff, 00:00, 7f:ff, 00:00,
+ (18): 6f:ff, 00:00, 5f:ff, 00:00, 4f:ff, 00:00, 3f:ff, 00:00, 2f:ff,
+ (27): 00:00, 1f:ff, 00:00, 0f:ff, 00:00
+ }
+ }
+ DATASET "bitfield_3" {
+ DATATYPE H5T_STD_B32LE
+ DATASPACE SIMPLE { ( 32 ) / ( 32 ) }
+ DATA {
+ (0): ff:ff:ff:ff, 00:00:00:00, df:ff:ff:ff, 00:00:00:00,
+ (4): bf:ff:ff:ff, 00:00:00:00, 9f:ff:ff:ff, 00:00:00:00,
+ (8): 7f:ff:ff:ff, 00:00:00:00, 5f:ff:ff:ff, 00:00:00:00,
+ (12): 3f:ff:ff:ff, 00:00:00:00, 1f:ff:ff:ff, 00:00:00:00,
+ (16): ff:fe:ff:ff, 00:00:00:00, df:fe:ff:ff, 00:00:00:00,
+ (20): bf:fe:ff:ff, 00:00:00:00, 9f:fe:ff:ff, 00:00:00:00,
+ (24): 7f:fe:ff:ff, 00:00:00:00, 5f:fe:ff:ff, 00:00:00:00,
+ (28): 3f:fe:ff:ff, 00:00:00:00, 1f:fe:ff:ff, 00:00:00:00
+ }
+ }
+ DATASET "bitfield_4" {
+ DATATYPE H5T_STD_B64LE
+ DATASPACE SIMPLE { ( 32 ) / ( 32 ) }
+ DATA {
+ (0): ff:ff:ff:ff:ff:ff:ff:ff, bf:ff:ff:ff:ff:ff:ff:ff,
+ (2): 7f:ff:ff:ff:ff:ff:ff:ff, 3f:ff:ff:ff:ff:ff:ff:ff,
+ (4): ff:fe:ff:ff:ff:ff:ff:ff, bf:fe:ff:ff:ff:ff:ff:ff,
+ (6): 7f:fe:ff:ff:ff:ff:ff:ff, 3f:fe:ff:ff:ff:ff:ff:ff,
+ (8): ff:fd:ff:ff:ff:ff:ff:ff, bf:fd:ff:ff:ff:ff:ff:ff,
+ (10): 7f:fd:ff:ff:ff:ff:ff:ff, 3f:fd:ff:ff:ff:ff:ff:ff,
+ (12): ff:fc:ff:ff:ff:ff:ff:ff, bf:fc:ff:ff:ff:ff:ff:ff,
+ (14): 7f:fc:ff:ff:ff:ff:ff:ff, 3f:fc:ff:ff:ff:ff:ff:ff,
+ (16): ff:fb:ff:ff:ff:ff:ff:ff, bf:fb:ff:ff:ff:ff:ff:ff,
+ (18): 7f:fb:ff:ff:ff:ff:ff:ff, 3f:fb:ff:ff:ff:ff:ff:ff,
+ (20): ff:fa:ff:ff:ff:ff:ff:ff, bf:fa:ff:ff:ff:ff:ff:ff,
+ (22): 7f:fa:ff:ff:ff:ff:ff:ff, 3f:fa:ff:ff:ff:ff:ff:ff,
+ (24): ff:f9:ff:ff:ff:ff:ff:ff, bf:f9:ff:ff:ff:ff:ff:ff,
+ (26): 7f:f9:ff:ff:ff:ff:ff:ff, 3f:f9:ff:ff:ff:ff:ff:ff,
+ (28): ff:f8:ff:ff:ff:ff:ff:ff, bf:f8:ff:ff:ff:ff:ff:ff,
+ (30): 7f:f8:ff:ff:ff:ff:ff:ff, 3f:f8:ff:ff:ff:ff:ff:ff
+ }
+ }
+ }
+ GROUP "cmpdtypetests" {
+ DATASET "compound_1" {
+ DATATYPE H5T_COMPOUND {
+ H5T_STD_B8LE "a";
+ H5T_STD_B16LE "b";
+ H5T_STD_B32LE "c";
+ H5T_STD_B64LE "d";
+ }
+ DATASPACE SIMPLE { ( 32 ) / ( 32 ) }
+ DATA {
+ (0): {
+ 0xff,
+ ff:ff,
+ ff:ff:ff:ff,
+ ff:ff:ff:ff:ff:ff:ff:ff
+ },
+ (1): {
+ 0xfe,
+ ef:ff,
+ df:ff:ff:ff,
+ bf:ff:ff:ff:ff:ff:ff:ff
+ },
+ (2): {
+ 0xfd,
+ df:ff,
+ bf:ff:ff:ff,
+ 7f:ff:ff:ff:ff:ff:ff:ff
+ },
+ (3): {
+ 0xfc,
+ cf:ff,
+ 9f:ff:ff:ff,
+ 3f:ff:ff:ff:ff:ff:ff:ff
+ },
+ (4): {
+ 0xfb,
+ bf:ff,
+ 7f:ff:ff:ff,
+ ff:fe:ff:ff:ff:ff:ff:ff
+ },
+ (5): {
+ 0xfa,
+ af:ff,
+ 5f:ff:ff:ff,
+ bf:fe:ff:ff:ff:ff:ff:ff
+ },
+ (6): {
+ 0xf9,
+ 9f:ff,
+ 3f:ff:ff:ff,
+ 7f:fe:ff:ff:ff:ff:ff:ff
+ },
+ (7): {
+ 0xf8,
+ 8f:ff,
+ 1f:ff:ff:ff,
+ 3f:fe:ff:ff:ff:ff:ff:ff
+ },
+ (8): {
+ 0xf7,
+ 7f:ff,
+ ff:fe:ff:ff,
+ ff:fd:ff:ff:ff:ff:ff:ff
+ },
+ (9): {
+ 0xf6,
+ 6f:ff,
+ df:fe:ff:ff,
+ bf:fd:ff:ff:ff:ff:ff:ff
+ },
+ (10): {
+ 0xf5,
+ 5f:ff,
+ bf:fe:ff:ff,
+ 7f:fd:ff:ff:ff:ff:ff:ff
+ },
+ (11): {
+ 0xf4,
+ 4f:ff,
+ 9f:fe:ff:ff,
+ 3f:fd:ff:ff:ff:ff:ff:ff
+ },
+ (12): {
+ 0xf3,
+ 3f:ff,
+ 7f:fe:ff:ff,
+ ff:fc:ff:ff:ff:ff:ff:ff
+ },
+ (13): {
+ 0xf2,
+ 2f:ff,
+ 5f:fe:ff:ff,
+ bf:fc:ff:ff:ff:ff:ff:ff
+ },
+ (14): {
+ 0xf1,
+ 1f:ff,
+ 3f:fe:ff:ff,
+ 7f:fc:ff:ff:ff:ff:ff:ff
+ },
+ (15): {
+ 0xf0,
+ 0f:ff,
+ 1f:fe:ff:ff,
+ 3f:fc:ff:ff:ff:ff:ff:ff
+ },
+ (16): {
+ 0xef,
+ ff:fe,
+ ff:fd:ff:ff,
+ ff:fb:ff:ff:ff:ff:ff:ff
+ },
+ (17): {
+ 0xee,
+ ef:fe,
+ df:fd:ff:ff,
+ bf:fb:ff:ff:ff:ff:ff:ff
+ },
+ (18): {
+ 0xed,
+ df:fe,
+ bf:fd:ff:ff,
+ 7f:fb:ff:ff:ff:ff:ff:ff
+ },
+ (19): {
+ 0xec,
+ cf:fe,
+ 9f:fd:ff:ff,
+ 3f:fb:ff:ff:ff:ff:ff:ff
+ },
+ (20): {
+ 0xeb,
+ bf:fe,
+ 7f:fd:ff:ff,
+ ff:fa:ff:ff:ff:ff:ff:ff
+ },
+ (21): {
+ 0xea,
+ af:fe,
+ 5f:fd:ff:ff,
+ bf:fa:ff:ff:ff:ff:ff:ff
+ },
+ (22): {
+ 0xe9,
+ 9f:fe,
+ 3f:fd:ff:ff,
+ 7f:fa:ff:ff:ff:ff:ff:ff
+ },
+ (23): {
+ 0xe8,
+ 8f:fe,
+ 1f:fd:ff:ff,
+ 3f:fa:ff:ff:ff:ff:ff:ff
+ },
+ (24): {
+ 0xe7,
+ 7f:fe,
+ ff:fc:ff:ff,
+ ff:f9:ff:ff:ff:ff:ff:ff
+ },
+ (25): {
+ 0xe6,
+ 6f:fe,
+ df:fc:ff:ff,
+ bf:f9:ff:ff:ff:ff:ff:ff
+ },
+ (26): {
+ 0xe5,
+ 5f:fe,
+ bf:fc:ff:ff,
+ 7f:f9:ff:ff:ff:ff:ff:ff
+ },
+ (27): {
+ 0xe4,
+ 4f:fe,
+ 9f:fc:ff:ff,
+ 3f:f9:ff:ff:ff:ff:ff:ff
+ },
+ (28): {
+ 0xe3,
+ 3f:fe,
+ 7f:fc:ff:ff,
+ ff:f8:ff:ff:ff:ff:ff:ff
+ },
+ (29): {
+ 0xe2,
+ 2f:fe,
+ 5f:fc:ff:ff,
+ bf:f8:ff:ff:ff:ff:ff:ff
+ },
+ (30): {
+ 0xe1,
+ 1f:fe,
+ 3f:fc:ff:ff,
+ 7f:f8:ff:ff:ff:ff:ff:ff
+ },
+ (31): {
+ 0xe0,
+ 0f:fe,
+ 1f:fc:ff:ff,
+ 3f:f8:ff:ff:ff:ff:ff:ff
+ }
+ }
+ }
+ }
+ GROUP "opaquetypetests" {
+ DATASET "opaque_1" {
+ DATATYPE H5T_OPAQUE {
+ OPAQUE_TAG "1-byte opaque type";
+ }
+ DATASPACE SIMPLE { ( 32 ) / ( 32 ) }
+ DATA {
+ (0): 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0xf7, 0xf6,
+ (10): 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0, 0xef, 0xee, 0xed, 0xec,
+ (20): 0xeb, 0xea, 0xe9, 0xe8, 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2,
+ (30): 0xe1, 0xe0
+ }
+ }
+ DATASET "opaque_2" {
+ DATATYPE H5T_OPAQUE {
+ OPAQUE_TAG "2-byte opaque type";
+ }
+ DATASPACE SIMPLE { ( 32 ) / ( 32 ) }
+ DATA {
+ (0): ff:ff, 00:00, ef:ff, 00:00, df:ff, 00:00, cf:ff, 00:00, bf:ff,
+ (9): 00:00, af:ff, 00:00, 9f:ff, 00:00, 8f:ff, 00:00, 7f:ff, 00:00,
+ (18): 6f:ff, 00:00, 5f:ff, 00:00, 4f:ff, 00:00, 3f:ff, 00:00, 2f:ff,
+ (27): 00:00, 1f:ff, 00:00, 0f:ff, 00:00
+ }
+ }
+ }
+}
+}
diff --git a/tools/testfiles/tbitnopaque.h5 b/tools/testfiles/tbitnopaque.h5
new file mode 100644
index 0000000..2b1f23d
--- /dev/null
+++ b/tools/testfiles/tbitnopaque.h5
Binary files differ