summaryrefslogtreecommitdiffstats
path: root/tools/h5dump
diff options
context:
space:
mode:
authorAllen Byrne <byrn@hdfgroup.org>2016-03-07 16:09:42 (GMT)
committerAllen Byrne <byrn@hdfgroup.org>2016-03-07 16:09:42 (GMT)
commit22eaae599991804716cfe226859c3679e4494213 (patch)
tree6b77b2793dd9ffde4464541fc0e6346269d5c2e4 /tools/h5dump
parent8f5530e3be3e3c53951a0fa64a13d89d674b22d1 (diff)
downloadhdf5-22eaae599991804716cfe226859c3679e4494213.zip
hdf5-22eaae599991804716cfe226859c3679e4494213.tar.gz
hdf5-22eaae599991804716cfe226859c3679e4494213.tar.bz2
[svn-r29309] HDFFV-9698, HDFFV-9241, HDFFV-9570: Merge fixes from trunk for subsetting index, default fill value display, and optional arg crash. Also some minor compiler warnings fixes.
Diffstat (limited to 'tools/h5dump')
-rw-r--r--tools/h5dump/CMakeTests.cmake25
-rw-r--r--tools/h5dump/h5dump.c6
-rw-r--r--tools/h5dump/h5dump.h11
-rw-r--r--tools/h5dump/h5dump_ddl.c21
-rw-r--r--tools/h5dump/h5dump_ddl.h4
-rw-r--r--tools/h5dump/h5dump_defines.h9
-rw-r--r--tools/h5dump/h5dump_xml.c74
-rw-r--r--tools/h5dump/h5dumpgentest.c45
-rw-r--r--tools/h5dump/testh5dump.sh.in13
9 files changed, 179 insertions, 29 deletions
diff --git a/tools/h5dump/CMakeTests.cmake b/tools/h5dump/CMakeTests.cmake
index 55bfc19..cc39f73 100644
--- a/tools/h5dump/CMakeTests.cmake
+++ b/tools/h5dump/CMakeTests.cmake
@@ -102,6 +102,12 @@
${HDF5_TOOLS_SRC_DIR}/testfiles/tindicessub3.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tindicessub4.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tindicesyes.ddl
+ ${HDF5_TOOLS_SRC_DIR}/testfiles/tints4dims.ddl
+ ${HDF5_TOOLS_SRC_DIR}/testfiles/tints4dimsBlock2.ddl
+ ${HDF5_TOOLS_SRC_DIR}/testfiles/tints4dimsBlockEq.ddl
+ ${HDF5_TOOLS_SRC_DIR}/testfiles/tints4dimsCount2.ddl
+ ${HDF5_TOOLS_SRC_DIR}/testfiles/tints4dimsCountEq.ddl
+ ${HDF5_TOOLS_SRC_DIR}/testfiles/tints4dimsStride2.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tintsattrs.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tlarge_objname.ddl
#${HDF5_TOOLS_SRC_DIR}/testfiles/tldouble.ddl
@@ -242,6 +248,7 @@
${HDF5_TOOLS_SRC_DIR}/testfiles/tgrp_comments.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/thlink.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/thyperslab.h5
+ ${HDF5_TOOLS_SRC_DIR}/testfiles/tints4dims.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tintsattrs.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tlarge_objname.h5
#${HDF5_TOOLS_SRC_DIR}/testfiles/tldouble.h5
@@ -911,6 +918,18 @@
texceedsubblock.out.err
tindicesyes.out
tindicesyes.out.err
+ tints4dims.out
+ tints4dims.out.err
+ tints4dimsBlock2.out
+ tints4dimsBlock2.out.err
+ tints4dimsBlockEq.out
+ tints4dimsBlockEq.out.err
+ tints4dimsCount2.out
+ tints4dimsCount2.out.err
+ tints4dimsCountEq.out
+ tints4dimsCountEq.out.err
+ tints4dimsStride2.out
+ tints4dimsStride2.out.err
tintsattrs.out
tintsattrs.out.err
tlarge_objname.out
@@ -1232,6 +1251,12 @@
ADD_H5_TEST (tdset-3s 0 --enable-error-stack -d "/dset1[1,1;;;]" tdset.h5)
ADD_H5_TEST (tno-subset 0 --enable-error-stack --no-compact-subset -d "AHFINDERDIRECT::ah_centroid_t[0] it=0 tl=0" tno-subset.h5)
+ ADD_H5_TEST (tints4dimsCount2 0 --enable-error-stack -d FourDimInts -s 0,0,0,0 -c 2,2,2,2 tints4dims.h5)
+ ADD_H5_TEST (tints4dimsBlock2 0 --enable-error-stack -d FourDimInts -s 0,0,0,0 -c 1,1,1,1 -k 2,2,2,2 tints4dims.h5)
+ ADD_H5_TEST (tints4dimsStride2 0 --enable-error-stack -d FourDimInts -s 0,0,0,0 -S 2,2,2,2 -c 2,2,2,2 tints4dims.h5)
+ ADD_H5_TEST (tints4dimsCountEq 0 --enable-error-stack -d FourDimInts -s 0,0,0,0 -S 2,2,1,1 -k 1,2,1,1 -c 2,2,4,4 tints4dims.h5)
+ ADD_H5_TEST (tints4dimsBlockEq 0 --enable-error-stack -d FourDimInts -s 0,0,0,0 -S 2,2,1,1 -c 2,2,1,1 -k 1,2,4,4 tints4dims.h5)
+
# test printing characters in ASCII instead of decimal
ADD_H5_TEST (tchar1 0 --enable-error-stack -r tchar.h5)
diff --git a/tools/h5dump/h5dump.c b/tools/h5dump/h5dump.c
index 2c5fa6d..5b953cb 100644
--- a/tools/h5dump/h5dump.c
+++ b/tools/h5dump/h5dump.c
@@ -242,7 +242,7 @@ usage(const char *prog)
PRINTVALSTREAM(rawoutstream, " -o F, --output=F Output raw data into file F\n");
PRINTVALSTREAM(rawoutstream, " -b B, --binary=B Binary file output, of form B\n");
PRINTVALSTREAM(rawoutstream, " -O F, --ddl=F Output ddl text into file F\n");
- PRINTVALSTREAM(rawoutstream, " Do not use filename F to suppress ddl display\n");
+ PRINTVALSTREAM(rawoutstream, " Use blank(empty) filename F to suppress ddl display\n");
PRINTVALSTREAM(rawoutstream, "--------------- Object Options ---------------\n");
PRINTVALSTREAM(rawoutstream, " -a P, --attribute=P Print the specified attribute\n");
PRINTVALSTREAM(rawoutstream, " If an attribute name contains a slash (/), escape the\n");
@@ -389,10 +389,10 @@ table_list_add(hid_t oid, unsigned long file_no)
/* Allocate space if necessary */
if(table_list.nused == table_list.nalloc) {
- void *tmp_ptr;
+ h5dump_table_items_t *tmp_ptr;
table_list.nalloc = MAX(1, table_list.nalloc * 2);
- if(NULL == (tmp_ptr = HDrealloc(table_list.tables, table_list.nalloc * sizeof(table_list.tables[0]))))
+ if(NULL == (tmp_ptr = (h5dump_table_items_t *)HDrealloc(table_list.tables, table_list.nalloc * sizeof(table_list.tables[0]))))
return -1;
table_list.tables = tmp_ptr;
} /* end if */
diff --git a/tools/h5dump/h5dump.h b/tools/h5dump/h5dump.h
index 7bfead7..a1f5b22 100644
--- a/tools/h5dump/h5dump.h
+++ b/tools/h5dump/h5dump.h
@@ -38,16 +38,17 @@ typedef struct dump_functions_t {
} dump_functions;
/* List of table structures. There is one table structure for each file */
-typedef struct h5dump_table_list_t {
- size_t nalloc;
- size_t nused;
- struct {
+typedef struct h5dump_table_items_t {
unsigned long fileno; /* File number that these tables refer to */
hid_t oid; /* ID of an object in this file, held open so fileno is consistent */
table_t *group_table; /* Table of groups */
table_t *dset_table; /* Table of datasets */
table_t *type_table; /* Table of datatypes */
- } *tables;
+} h5dump_table_items_t;
+typedef struct h5dump_table_list_t {
+ size_t nalloc;
+ size_t nused;
+ h5dump_table_items_t *tables;
} h5dump_table_list_t;
h5dump_table_list_t table_list = {0, 0, NULL};
diff --git a/tools/h5dump/h5dump_ddl.c b/tools/h5dump/h5dump_ddl.c
index 43d397c..0324a52 100644
--- a/tools/h5dump/h5dump_ddl.c
+++ b/tools/h5dump/h5dump_ddl.c
@@ -377,6 +377,8 @@ dump_all_cb(hid_t group, const char *name, const H5L_info_t *linfo, void H5_ATTR
}
break;
+ case H5O_TYPE_UNKNOWN:
+ case H5O_TYPE_NTYPES:
default:
error_msg("unknown object \"%s\"\n", name);
h5tools_setstatus(EXIT_FAILURE);
@@ -509,6 +511,11 @@ dump_all_cb(hid_t group, const char *name, const H5L_info_t *linfo, void H5_ATTR
HDfree(targbuf);
break;
+ case H5L_TYPE_ERROR:
+ case H5L_TYPE_MAX:
+ HDassert(0);
+ /* fall through */
+ case H5L_TYPE_HARD:
default:
ctx.need_prefix = TRUE;
h5tools_simple_prefix(rawoutstream, outputformat, &ctx, (hsize_t)0, 0);
@@ -1054,7 +1061,10 @@ dump_dataset(hid_t did, const char *name, struct subset_t *sset)
}
break;
+ case H5T_NO_CLASS:
+ case H5T_NCLASSES:
default:
+ HDassert(0);
break;
} /* end switch */
} /* for(i=0;i<data_loop;i++) */
@@ -1497,8 +1507,8 @@ handle_attributes(hid_t fid, const char *attr, void H5_ATTR_UNUSED * data, int H
{
hid_t oid = -1;
hid_t attr_id = -1;
- char *obj_name;
- char *attr_name;
+ char *obj_name = NULL;
+ char *attr_name = NULL;
int j;
h5tools_str_t buffer; /* string into which to render */
h5tools_context_t ctx; /* print context */
@@ -1915,6 +1925,11 @@ handle_links(hid_t fid, const char *links, void H5_ATTR_UNUSED * data, int H5_AT
end_obj(h5tools_dump_header_format->extlinkend, h5tools_dump_header_format->extlinkblockend);
break;
+ case H5L_TYPE_ERROR:
+ case H5L_TYPE_MAX:
+ HDassert(0);
+ /* fall through */
+ case H5L_TYPE_HARD:
default:
begin_obj(h5tools_dump_header_format->udlinkbegin, links, h5tools_dump_header_format->udlinkblockbegin);
PRINTVALSTREAM(rawoutstream, "\n");
@@ -2082,6 +2097,8 @@ dump_extlink(hid_t group, const char *linkname, const char *objname)
case H5O_TYPE_NAMED_DATATYPE:
handle_datatypes(group, linkname, NULL, 0, objname);
break;
+ case H5O_TYPE_UNKNOWN:
+ case H5O_TYPE_NTYPES:
default:
h5tools_setstatus(EXIT_FAILURE);
}
diff --git a/tools/h5dump/h5dump_ddl.h b/tools/h5dump/h5dump_ddl.h
index 6cd9181..2b3f61e 100644
--- a/tools/h5dump/h5dump_ddl.h
+++ b/tools/h5dump/h5dump_ddl.h
@@ -34,6 +34,10 @@ void dump_fcontents(hid_t fid);
/* callback function used by H5Aiterate2() */
herr_t dump_attr_cb(hid_t loc_id, const char *attr_name, const H5A_info_t *info, void *_op_data);
+/* other iteration functions */
+void link_iteration(hid_t gid, unsigned crt_order_flags);
+void attr_iteration(hid_t gid, unsigned attr_crt_order_flags);
+
void handle_paths(hid_t fid, const char *path_name, void *data, int pe, const char *display_name);
void handle_datasets(hid_t fid, const char *dset, void *data, int pe, const char *display_name);
void handle_attributes(hid_t fid, const char *attr, void H5_ATTR_UNUSED * data, int H5_ATTR_UNUSED pe, const char H5_ATTR_UNUSED *display_name);
diff --git a/tools/h5dump/h5dump_defines.h b/tools/h5dump/h5dump_defines.h
index f1c4451..3493de1 100644
--- a/tools/h5dump/h5dump_defines.h
+++ b/tools/h5dump/h5dump_defines.h
@@ -27,7 +27,8 @@
do { \
if ((name)) { \
PRINTSTREAM(rawoutstream, "%s \"%s\" %s", (obj), (name), (begin)); \
- } else { \
+ } \
+ else { \
PRINTSTREAM(rawoutstream, "%s %s", (obj), (begin)); \
} \
} while(0);
@@ -36,13 +37,11 @@
do { \
if(HDstrlen(end)) { \
PRINTSTREAM(rawoutstream, "%s", end); \
- if(HDstrlen(obj)) { \
+ if(HDstrlen(obj)) \
PRINTVALSTREAM(rawoutstream, " "); \
} \
- } \
- if(HDstrlen(obj)) { \
+ if(HDstrlen(obj)) \
PRINTSTREAM(rawoutstream, "%s", obj); \
- } \
} while(0);
diff --git a/tools/h5dump/h5dump_xml.c b/tools/h5dump/h5dump_xml.c
index 353a0c3..8ad76e6 100644
--- a/tools/h5dump/h5dump_xml.c
+++ b/tools/h5dump/h5dump_xml.c
@@ -359,6 +359,8 @@ xml_dump_all_cb(hid_t group, const char *name, const H5L_info_t *linfo, void H5_
}
break;
+ case H5O_TYPE_UNKNOWN:
+ case H5O_TYPE_NTYPES:
default:
error_msg("unknown object \"%s\"\n", name);
h5tools_setstatus(EXIT_FAILURE);
@@ -521,6 +523,11 @@ xml_dump_all_cb(hid_t group, const char *name, const H5L_info_t *linfo, void H5_
HDfree(targbuf);
break;
+ case H5L_TYPE_ERROR:
+ case H5L_TYPE_MAX:
+ HDassert(0);
+ /* fall through */
+ case H5L_TYPE_HARD:
default:
{
char linkxid[100];
@@ -976,9 +983,13 @@ xml_print_datatype(hid_t type, unsigned in_group)
h5tools_str_append(&buffer, "BE");
break;
case H5T_ORDER_VAX:
+ case H5T_ORDER_MIXED:
+ case H5T_ORDER_NONE:
+ case H5T_ORDER_ERROR:
default:
h5tools_str_append(&buffer, "ERROR_UNKNOWN");
- }
+ break;
+ } /* end switch */
h5tools_str_append(&buffer, "\" Sign=\"");
@@ -989,9 +1000,12 @@ xml_print_datatype(hid_t type, unsigned in_group)
case H5T_SGN_2:
h5tools_str_append(&buffer, "true");
break;
+ case H5T_SGN_ERROR:
+ case H5T_NSGN:
default:
h5tools_str_append(&buffer, "ERROR_UNKNOWN");
- }
+ break;
+ } /* end switch */
h5tools_str_append(&buffer, "\" Size=\"");
sz = H5Tget_size(type);
@@ -1042,9 +1056,12 @@ xml_print_datatype(hid_t type, unsigned in_group)
case H5T_ORDER_VAX:
h5tools_str_append(&buffer, "VAX");
break;
+ case H5T_ORDER_MIXED:
+ case H5T_ORDER_NONE:
+ case H5T_ORDER_ERROR:
default:
h5tools_str_append(&buffer, "ERROR_UNKNOWN");
- }
+ } /* end switch */
h5tools_str_append(&buffer, "\" Size=\"");
sz = H5Tget_size(type);
@@ -1179,9 +1196,12 @@ xml_print_datatype(hid_t type, unsigned in_group)
h5tools_str_append(&buffer, "BE");
break;
case H5T_ORDER_VAX:
+ case H5T_ORDER_MIXED:
+ case H5T_ORDER_NONE:
+ case H5T_ORDER_ERROR:
default:
h5tools_str_append(&buffer, "ERROR_UNKNOWN");
- }
+ } /* end switch */
size = H5Tget_size(type);
h5tools_str_append(&buffer, "\" Size=\"%lu\"/>", (unsigned long)size);
@@ -1516,6 +1536,10 @@ xml_print_datatype(hid_t type, unsigned in_group)
H5Tclose(super);
break;
+ case H5T_NO_CLASS:
+ case H5T_NCLASSES:
+ HDassert(0);
+ /* fall through */
default:
ctx.need_prefix = TRUE;
h5tools_simple_prefix(rawoutstream, outputformat, &ctx, (hsize_t)0, 0);
@@ -1813,6 +1837,7 @@ xml_dump_dataspace(hid_t space)
break;
#endif /* TMP */
+ case H5S_NULL:
case H5S_NO_CLASS:
default:
ctx.need_prefix = TRUE;
@@ -2246,6 +2271,10 @@ xml_dump_attr(hid_t attr, const char *attr_name, const H5A_info_t H5_ATTR_UNUSED
dump_function_table->dump_data_function(attr_id, ATTRIBUTE_DATA, NULL, 0);
break;
+ case H5T_NO_CLASS:
+ case H5T_NCLASSES:
+ HDassert(0);
+ /* fall through */
default:
ctx.need_prefix = TRUE;
h5tools_simple_prefix(rawoutstream, outputformat, &ctx, (hsize_t)0, 0);
@@ -2938,9 +2967,9 @@ static int
xml_print_refs(hid_t did, int source)
{
herr_t e;
- hid_t type;
- hid_t space;
- hssize_t ssiz;
+ hid_t type = -1;
+ hid_t space = -1;
+ hssize_t ssiz = -1;
hsize_t i;
size_t tsiz;
hobj_ref_t *refbuf = NULL;
@@ -3095,11 +3124,11 @@ static int
xml_print_strs(hid_t did, int source)
{
herr_t e;
- hid_t type;
- hid_t space;
- hssize_t ssiz;
+ hid_t type = -1;
+ hid_t space = -1;
+ hssize_t ssiz = -1;
htri_t is_vlstr = FALSE;
- size_t tsiz;
+ size_t tsiz = 0;
size_t i;
size_t str_size = 0;
char *bp = NULL;
@@ -3563,7 +3592,7 @@ xml_dump_fill_value(hid_t dcpl, hid_t type)
/* Render the element */
h5tools_str_reset(&buffer);
- h5tools_str_append(&buffer, "\"%f\"", *(float *) buf);
+ h5tools_str_append(&buffer, "\"%f\"", (double)*(float *)buf);
h5tools_render_element(rawoutstream, outputformat, &ctx, &buffer, &curr_pos, (size_t)outputformat->line_ncols, (hsize_t)0, (hsize_t)0);
ctx.need_prefix = TRUE;
@@ -3701,6 +3730,12 @@ xml_dump_fill_value(hid_t dcpl, hid_t type)
h5tools_str_append(&buffer, "<%sNoData />", xmlnsprefix);
h5tools_render_element(rawoutstream, outputformat, &ctx, &buffer, &curr_pos, (size_t)outputformat->line_ncols, (hsize_t)0, (hsize_t)0);
break;
+ case H5T_NO_CLASS:
+ case H5T_NCLASSES:
+ HDassert(0);
+ /* fall through */
+ case H5T_STRING:
+ case H5T_REFERENCE:
default:
ctx.need_prefix = TRUE;
h5tools_simple_prefix(rawoutstream, outputformat, &ctx, (hsize_t)0, 0);
@@ -4013,10 +4048,13 @@ xml_dump_dataset(hid_t did, const char *name, struct subset_t H5_ATTR_UNUSED * s
case H5D_FILL_TIME_IFSET:
h5tools_str_append(&buffer, "FillIfSet");
break;
+ case H5D_FILL_TIME_ERROR:
+ HDassert(0);
+ /* fall through */
default:
h5tools_str_append(&buffer, "?");
break;
- }
+ } /* end switch */
h5tools_str_append(&buffer, "\" ");
H5Pget_alloc_time(dcpl, &at);
h5tools_str_append(&buffer, "AllocationTime=\"");
@@ -4031,10 +4069,13 @@ xml_dump_dataset(hid_t did, const char *name, struct subset_t H5_ATTR_UNUSED * s
h5tools_str_append(&buffer, "Late");
break;
case H5D_ALLOC_TIME_DEFAULT:
+ case H5D_ALLOC_TIME_ERROR:
+ HDassert(0);
+ /* fall through */
default:
h5tools_str_append(&buffer, "?");
break;
- }
+ } /* end switch */
h5tools_str_append(&buffer, "\"");
h5tools_str_append(&buffer, ">");
h5tools_render_element(rawoutstream, outputformat, &ctx, &buffer, &curr_pos, (size_t)outputformat->line_ncols, (hsize_t)0, (hsize_t)0);
@@ -4255,6 +4296,11 @@ xml_dump_dataset(hid_t did, const char *name, struct subset_t H5_ATTR_UNUSED * s
ctx.indent_level--;
dump_indent -= COL;
break;
+ case H5T_NO_CLASS:
+ case H5T_NCLASSES:
+ HDassert(0);
+ /* fall through */
+
default:
ctx.need_prefix = TRUE;
h5tools_simple_prefix(rawoutstream, outputformat, &ctx, (hsize_t)0, 0);
diff --git a/tools/h5dump/h5dumpgentest.c b/tools/h5dump/h5dumpgentest.c
index 785b1e6..10b59f9 100644
--- a/tools/h5dump/h5dumpgentest.c
+++ b/tools/h5dump/h5dumpgentest.c
@@ -110,6 +110,7 @@
#define FILE78 "tscalarintattrsize.h5"
#define FILE79 "tintsattrs.h5"
#define FILE80 "tbitnopaque.h5"
+#define FILE81 "tints4dims.h5"
/*-------------------------------------------------------------------------
* prototypes
@@ -343,6 +344,13 @@ typedef struct s1_t {
#define F80_DIM32 32
+#define F81_DATASETNAME "FourDimInts"
+#define F81_RANK 4
+#define F81_WDIM 10
+#define F81_XDIM 8
+#define F81_YDIM 6
+#define F81_ZDIM 4
+
static void
gent_group(void)
{
@@ -9682,6 +9690,41 @@ static void gent_bitnopaquefields(void)
H5Fclose(file);
}
+/*-------------------------------------------------------------------------
+ * Function: gent_intsfourdims
+ *
+ * Purpose: Generate a file to be used in the h5dump subsetting tests.
+ * One datasets of unsigned int types are created in four dimensions 2,4,6,10.
+ *-------------------------------------------------------------------------
+ */
+static void
+gent_intsfourdims(void)
+{
+ hid_t fid, dataset, space, tid;
+ hsize_t dims[F81_RANK];
+ uint32_t dset1[F81_ZDIM][F81_YDIM][F81_XDIM][F81_WDIM];
+ unsigned int i, j, k, l;
+
+ fid = H5Fcreate(FILE81, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
+
+ /* Dataset of 32 bits unsigned int */
+ dims[0] = F81_ZDIM; dims[1] = F81_YDIM; dims[2] = F81_XDIM; dims[3] = F81_WDIM;
+ space = H5Screate_simple(F81_RANK, dims, NULL);
+ dataset = H5Dcreate2(fid, F81_DATASETNAME, H5T_STD_U32LE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+
+ for(i = 0; i < F81_ZDIM; i++)
+ for(j = 0; j < F81_YDIM; j++)
+ for(k = 0; k < F81_XDIM; k++)
+ for(l = 0; l < F81_WDIM; l++)
+ dset1[i][j][k][l] = i*F81_YDIM*F81_XDIM*F81_WDIM + j*F81_XDIM*F81_WDIM + k*F81_WDIM + l;
+
+ H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset1);
+ H5Sclose(space);
+ H5Dclose(dataset);
+
+ H5Fclose(fid);
+}
+
/*-------------------------------------------------------------------------
* Function: main
@@ -9773,6 +9816,8 @@ int main(void)
gent_intsattrs();
gent_bitnopaquefields();
+ gent_intsfourdims();
+
return 0;
}
diff --git a/tools/h5dump/testh5dump.sh.in b/tools/h5dump/testh5dump.sh.in
index a0e61a7..7641de4 100644
--- a/tools/h5dump/testh5dump.sh.in
+++ b/tools/h5dump/testh5dump.sh.in
@@ -132,6 +132,7 @@ $SRC_H5DUMP_TESTFILES/tgrp_comments.h5
$SRC_H5DUMP_TESTFILES/thlink.h5
$SRC_H5DUMP_TESTFILES/thyperslab.h5
$SRC_H5DUMP_TESTFILES/tintsattrs.h5
+$SRC_H5DUMP_TESTFILES/tints4dims.h5
$SRC_H5DUMP_TESTFILES/tlarge_objname.h5
#$SRC_H5DUMP_TESTFILES/tldouble.h5
$SRC_H5DUMP_TESTFILES/tlonglinks.h5
@@ -263,6 +264,12 @@ $SRC_H5DUMP_TESTFILES/tindicessub2.ddl
$SRC_H5DUMP_TESTFILES/tindicessub3.ddl
$SRC_H5DUMP_TESTFILES/tindicessub4.ddl
$SRC_H5DUMP_TESTFILES/tindicesyes.ddl
+$SRC_H5DUMP_TESTFILES/tints4dims.ddl
+$SRC_H5DUMP_TESTFILES/tints4dimsBlock2.ddl
+$SRC_H5DUMP_TESTFILES/tints4dimsBlockEq.ddl
+$SRC_H5DUMP_TESTFILES/tints4dimsCount2.ddl
+$SRC_H5DUMP_TESTFILES/tints4dimsCountEq.ddl
+$SRC_H5DUMP_TESTFILES/tints4dimsStride2.ddl
$SRC_H5DUMP_TESTFILES/tintsattrs.ddl
$SRC_H5DUMP_TESTFILES/tlarge_objname.ddl
#$SRC_H5DUMP_TESTFILES/tldouble.ddl
@@ -1104,6 +1111,12 @@ TOOLTEST tall-5s.ddl --enable-error-stack -d "/g1/g1.1/dset1.1.2[0;2;10;]" tall.
TOOLTEST tdset-3s.ddl --enable-error-stack -d "/dset1[1,1;;;]" tdset.h5
TOOLTEST tno-subset.ddl --enable-error-stack --no-compact-subset -d "AHFINDERDIRECT::ah_centroid_t[0] it=0 tl=0" tno-subset.h5
+TOOLTEST tints4dimsCount2.ddl --enable-error-stack -d FourDimInts -s 0,0,0,0 -c 2,2,2,2 tints4dims.h5
+TOOLTEST tints4dimsBlock2.ddl --enable-error-stack -d FourDimInts -s 0,0,0,0 -c 1,1,1,1 -k 2,2,2,2 tints4dims.h5
+TOOLTEST tints4dimsStride2.ddl --enable-error-stack -d FourDimInts -s 0,0,0,0 -S 2,2,2,2 -c 2,2,2,2 tints4dims.h5
+TOOLTEST tints4dimsCountEq.ddl --enable-error-stack -d FourDimInts -s 0,0,0,0 -S 2,2,1,1 -k 1,2,1,1 -c 2,2,4,4 tints4dims.h5
+TOOLTEST tints4dimsBlockEq.ddl --enable-error-stack -d FourDimInts -s 0,0,0,0 -S 2,2,1,1 -c 2,2,1,1 -k 1,2,4,4 tints4dims.h5
+
# test printing characters in ASCII instead of decimal
TOOLTEST tchar1.ddl --enable-error-stack -r tchar.h5