summaryrefslogtreecommitdiffstats
path: root/tools/test/h5diff
diff options
context:
space:
mode:
authorDana Robinson <43805+derobins@users.noreply.github.com>2021-05-28 14:10:51 (GMT)
committerGitHub <noreply@github.com>2021-05-28 14:10:51 (GMT)
commit2ddf5fbd92ebdb0d59e208d88f159eec8a1ffbf8 (patch)
tree40975e0846d101360a838d42e16f4687fed77f4a /tools/test/h5diff
parente22687912dbc6fcf4fff57e86e2cd5d75c81f81e (diff)
downloadhdf5-2ddf5fbd92ebdb0d59e208d88f159eec8a1ffbf8.zip
hdf5-2ddf5fbd92ebdb0d59e208d88f159eec8a1ffbf8.tar.gz
hdf5-2ddf5fbd92ebdb0d59e208d88f159eec8a1ffbf8.tar.bz2
Much normalization with develop (#701)
* Brings CMake updates from develop * Brings reduction in pedantic casts from develop * Purges UFAIL from the library (#637) * Committing clang-format changes * Purges UFAIL from the library * H5HL_insert change requested in PR Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Removes gratuitous (double)x.yF casts (#632) * Committing clang-format changes * Removes gratuitous (double)x.yF casts * Committing clang-format changes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Committing clang-format changes * Cleans up a const warning left over from previous constification (#633) * Committing clang-format changes * Adds consts to a few global variables * Cleans up a const warning left over from previous constification Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Formatted source * Bring over some VOL registration changes * VOL cleanup * H5VL_request_status_t substitutions * H5F.c cleanup * Minor API tweaks from develop * Moves H5G package init/teardown to H5Gint.c * H5G cleanup * H5M cleanup * H5SM cleanup * H5T cleanup * H5R cleanup * H5Lpublic.h cleanup * H5L cleanup * H5O cleanup * H5A, H5CS, and H5AC cleanup * Moved H5A init/teardown code to H5Aint.c * Moves H5D I/O functions to H5D.c * H5D cleanup * Misc minor cleanup * H5P close cleanup * H5Tpublic.h cleanup * Fixes err_compat test * H5PLpublic.h cleanup * Updates H5Ppublic.h * H5Fpublic.h updates * H5A.c cleanup * Brings over H5Aexists and related changes * Brings CMake shell testing changes from develop * Close callback changes * H5R and H5Tcommit normalization * err_compat test works now * H5O tweaks * Updates VOL registration code * Brings over H5VL_create_object * H5Tconv.c reformatting * H5T.c tweaks * Brings datatype and reference updates from develop * Brings VOL plugin loading changes from develop * Brings event sets from develop * Brings async functions over * Tools changes * Brings over many tools changes from develop * Brings VOL flags from develop * Fixes h5dump double/float tests * Updates h5repack tests * Brings h5diff test changes from develop * Last h5dump changes * Brings test changes from develop * Committing clang-format changes * Tidied h5_testing() * Brings chunk iteration code + misc from develop * Updates vds test * Enables external link parallel test * Brings updated property lists from develop * H5G changes from develop * H5MF cleanup * Brings vfd_swmr test back into CMake * Updates threadsafe test * Updates plist test * Brings recent changes from develop Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Diffstat (limited to 'tools/test/h5diff')
-rw-r--r--tools/test/h5diff/CMakeTests.cmake8
-rw-r--r--tools/test/h5diff/dynlib_diff.c16
-rw-r--r--tools/test/h5diff/h5diffgentest.c59
-rw-r--r--tools/test/h5diff/testfiles/h5diff_10.txt12
-rw-r--r--tools/test/h5diff/testfiles/h5diff_600.txt12
-rw-r--r--tools/test/h5diff/testfiles/h5diff_603.txt12
-rw-r--r--tools/test/h5diff/testfiles/h5diff_606.txt12
-rw-r--r--tools/test/h5diff/testfiles/h5diff_612.txt12
-rw-r--r--tools/test/h5diff/testfiles/h5diff_615.txt12
-rw-r--r--tools/test/h5diff/testfiles/h5diff_621.txt12
-rw-r--r--tools/test/h5diff/testfiles/h5diff_622.txt12
-rw-r--r--tools/test/h5diff/testfiles/h5diff_623.txt12
-rw-r--r--tools/test/h5diff/testfiles/h5diff_624.txt12
-rw-r--r--tools/test/h5diff/testfiles/h5diff_830.txt30
-rw-r--r--tools/test/h5diff/testh5diff.sh.in3
15 files changed, 195 insertions, 41 deletions
diff --git a/tools/test/h5diff/CMakeTests.cmake b/tools/test/h5diff/CMakeTests.cmake
index 5d944b0..9c27076 100644
--- a/tools/test/h5diff/CMakeTests.cmake
+++ b/tools/test/h5diff/CMakeTests.cmake
@@ -293,6 +293,7 @@
${HDF5_TOOLS_TEST_H5DIFF_SOURCE_DIR}/testfiles/h5diff_80.txt
${HDF5_TOOLS_TEST_H5DIFF_SOURCE_DIR}/testfiles/h5diff_800.txt
${HDF5_TOOLS_TEST_H5DIFF_SOURCE_DIR}/testfiles/h5diff_801.txt
+ ${HDF5_TOOLS_TEST_H5DIFF_SOURCE_DIR}/testfiles/h5diff_830.txt
${HDF5_TOOLS_TEST_H5DIFF_SOURCE_DIR}/testfiles/h5diff_90.txt
${HDF5_TOOLS_TEST_H5DIFF_SOURCE_DIR}/testfiles/h5diff_8625.txt
${HDF5_TOOLS_TEST_H5DIFF_SOURCE_DIR}/testfiles/h5diff_8639.txt
@@ -919,6 +920,8 @@
h5diff_800.out.err
h5diff_801.out
h5diff_801.out.err
+ h5diff_830.out
+ h5diff_830.out.err
h5diff_8625.out
h5diff_8625.out.err
h5diff_8639.out
@@ -1544,6 +1547,11 @@ ADD_H5_TEST (h5diff_800 1 -v ${FILE7} ${FILE8} /g1/array /g1/array)
ADD_H5_TEST (h5diff_801 1 -v ${FILE7} ${FILE8A} /g1/array /g1/array)
# ##############################################################################
+# # dataset subsets
+# ##############################################################################
+ADD_H5_TEST (h5diff_830 1 --enable-error-stack -v ${FILE7} ${FILE8} /g1/array3D[0,0,0;2,2,1;2,2,2;] /g1/array3D[0,0,0;2,2,1;2,2,2;])
+
+# ##############################################################################
# # VDS tests
# ##############################################################################
ADD_H5_TEST (h5diff_v1 0 -v ${FILEV1} ${FILEV2})
diff --git a/tools/test/h5diff/dynlib_diff.c b/tools/test/h5diff/dynlib_diff.c
index 4568ca1..433522d 100644
--- a/tools/test/h5diff/dynlib_diff.c
+++ b/tools/test/h5diff/dynlib_diff.c
@@ -25,13 +25,13 @@ static size_t H5Z_filter_dynlibud(unsigned int flags, size_t cd_nelmts, const un
/* This message derives from H5Z */
const H5Z_class2_t H5Z_DYNLIBUD[1] = {{
- H5Z_CLASS_T_VERS, /* H5Z_class_t version */
- H5Z_FILTER_DYNLIBUD, /* Filter id number */
- 1, 1, /* Encoding and decoding enabled */
- "dynlibud", /* Filter name for debugging */
- NULL, /* The "can apply" callback */
- NULL, /* The "set local" callback */
- (H5Z_func_t)H5Z_filter_dynlibud, /* The actual filter function */
+ H5Z_CLASS_T_VERS, /* H5Z_class_t version */
+ H5Z_FILTER_DYNLIBUD, /* Filter id number */
+ 1, 1, /* Encoding and decoding enabled */
+ "dynlibud", /* Filter name for debugging */
+ NULL, /* The "can apply" callback */
+ NULL, /* The "set local" callback */
+ H5Z_filter_dynlibud, /* The actual filter function */
}};
H5PL_type_t
@@ -70,7 +70,7 @@ H5Z_filter_dynlibud(unsigned int flags, size_t cd_nelmts, const unsigned int *cd
return (0);
/* Assignment to eliminate unused parameter warning. */
- cd_values = cd_values;
+ (void)cd_values;
if (flags & H5Z_FLAG_REVERSE) { /*read*/
/* Subtract the original value with MULTIPLIER */
diff --git a/tools/test/h5diff/h5diffgentest.c b/tools/test/h5diff/h5diffgentest.c
index 698bd74..f03254e 100644
--- a/tools/test/h5diff/h5diffgentest.c
+++ b/tools/test/h5diff/h5diffgentest.c
@@ -31,7 +31,7 @@ size_t H5TOOLS_MALLOCSIZE = (128 * 1024 * 1024);
*
* Purpose: generate files for h5diff testing
*
- * Programmer: Pedro Vicente, pvn@ncsa.uiuc.edu
+ * Programmer: Pedro Vicente
*
* Date: November 12, 2003
*
@@ -465,15 +465,15 @@ test_basic(const char *fname1, const char *fname2, const char *fname3)
float data15[6];
float data16[6];
- data15[0] = (float)HDsqrt(-1.0F);
+ data15[0] = (float)HDsqrt(-1.0);
data15[1] = 1.0F;
- data15[2] = (float)HDsqrt(-1.0F);
+ data15[2] = (float)HDsqrt(-1.0);
data15[3] = 1.0F;
data15[4] = 1.0F;
data15[5] = 1.0F;
- data16[0] = (float)HDsqrt(-1.0F);
- data16[1] = (float)HDsqrt(-1.0F);
+ data16[0] = (float)HDsqrt(-1.0);
+ data16[1] = (float)HDsqrt(-1.0);
data16[2] = 1.0F;
data16[3] = 1.0F;
data16[4] = 1.0F;
@@ -492,19 +492,19 @@ test_basic(const char *fname1, const char *fname2, const char *fname3)
double data17[6];
double data18[6];
- data17[0] = HDsqrt(-1.0F);
- data17[1] = 1.0F;
- data17[2] = HDsqrt(-1.0F);
- data17[3] = 1.0F;
- data17[4] = 1.0F;
- data17[5] = 1.0F;
+ data17[0] = HDsqrt(-1.0);
+ data17[1] = 1.0;
+ data17[2] = HDsqrt(-1.0);
+ data17[3] = 1.0;
+ data17[4] = 1.0;
+ data17[5] = 1.0;
- data18[0] = HDsqrt(-1.0F);
- data18[1] = HDsqrt(-10000.0F);
- data18[2] = 1.0F;
- data18[3] = 1.0F;
- data18[4] = 1.0F;
- data18[5] = 1.0F;
+ data18[0] = HDsqrt(-1.0);
+ data18[1] = HDsqrt(-10000.0);
+ data18[2] = 1.0;
+ data18[3] = 1.0;
+ data18[4] = 1.0;
+ data18[5] = 1.0;
write_dset(gid1, 1, dims1, "fp17", H5T_NATIVE_DOUBLE, data17);
write_dset(gid1, 1, dims1, "fp18", H5T_NATIVE_DOUBLE, data18);
@@ -519,11 +519,11 @@ test_basic(const char *fname1, const char *fname2, const char *fname3)
float data19[6];
double data20[6];
- data19[0] = data19[1] = data19[2] = (float)HDlog(0.0F);
- data19[3] = data19[4] = data19[5] = (float)-HDlog(0.0F);
+ data19[0] = data19[1] = data19[2] = (float)HDlog(0.0);
+ data19[3] = data19[4] = data19[5] = (float)-HDlog(0.0);
- data20[0] = data20[1] = data20[2] = HDlog(0.0F);
- data20[3] = data20[4] = data20[5] = -HDlog(0.0F);
+ data20[0] = data20[1] = data20[2] = HDlog(0.0);
+ data20[3] = data20[4] = data20[5] = -HDlog(0.0);
write_dset(gid1, 1, dims1, "fp19", H5T_NATIVE_FLOAT, data19);
write_dset(gid1, 1, dims1, "fp19_COPY", H5T_NATIVE_FLOAT, data19);
@@ -547,13 +547,13 @@ test_basic(const char *fname1, const char *fname2, const char *fname3)
size_t type_size;
hid_t tid;
- buf1[0].d = HDsqrt(-1.0F);
- buf1[0].f = (float)HDsqrt(-1.0F);
- buf2[0].d = HDsqrt(-1.0F);
- buf2[0].f = (float)HDsqrt(-1.0F);
+ buf1[0].d = HDsqrt(-1.0);
+ buf1[0].f = (float)HDsqrt(-1.0);
+ buf2[0].d = HDsqrt(-1.0);
+ buf2[0].f = (float)HDsqrt(-1.0);
- buf1[1].d = HDsqrt(-1.0F);
- buf1[1].f = (float)HDsqrt(-1.0F);
+ buf1[1].d = HDsqrt(-1.0);
+ buf1[1].f = (float)HDsqrt(-1.0);
buf2[1].d = 0.0F;
buf2[1].f = 0.0F;
@@ -5009,8 +5009,6 @@ error:
H5Tclose(tid2);
}
H5E_END_TRY;
-
- return;
}
static hid_t
@@ -8017,7 +8015,6 @@ test_double_epsilon(const char *fname1, const char *fname2)
{
hid_t fid1 = H5I_INVALID_HID, fid2 = H5I_INVALID_HID;
hsize_t dims1[2] = {4, 7};
- hsize_t dims2[2] = {4, 7};
double wdata[4][7];
int i, j;
@@ -8059,8 +8056,6 @@ error:
H5Fclose(fid2);
}
H5E_END_TRY;
-
- return;
}
/*-------------------------------------------------------------------------
diff --git a/tools/test/h5diff/testfiles/h5diff_10.txt b/tools/test/h5diff/testfiles/h5diff_10.txt
index b5ff01a..3631db7 100644
--- a/tools/test/h5diff/testfiles/h5diff_10.txt
+++ b/tools/test/h5diff/testfiles/h5diff_10.txt
@@ -143,6 +143,18 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
(The option --follow-symlinks overrides the default behavior when
symbolic links are compared.).
+ Subsetting options:
+ Subsetting is available by using the fcompact form of subsetting, as follows:
+ obj1 /foo/mydataset[START;STRIDE;COUNT;BLOCK]
+ It is not required to use all parameters, but until the last parameter value used,
+ all of the semicolons (;) are required, even when a parameter value is not specified. Example:
+ obj1 /foo/mydataset[START;;COUNT;BLOCK]
+ obj1 /foo/mydataset[START]
+ The STRIDE, COUNT, and BLOCK parameters are optional and will default to 1 in
+ each dimension. START is optional and will default to 0 in each dimension.
+ Each of START, STRIDE, COUNT, and BLOCK must be a comma-separated list of integers with
+ one integer for each dimension of the dataset.
+
Exit code:
0 if no differences, 1 if differences found, 2 if error
diff --git a/tools/test/h5diff/testfiles/h5diff_600.txt b/tools/test/h5diff/testfiles/h5diff_600.txt
index f52d8cc..8a4ce6d 100644
--- a/tools/test/h5diff/testfiles/h5diff_600.txt
+++ b/tools/test/h5diff/testfiles/h5diff_600.txt
@@ -143,6 +143,18 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
(The option --follow-symlinks overrides the default behavior when
symbolic links are compared.).
+ Subsetting options:
+ Subsetting is available by using the fcompact form of subsetting, as follows:
+ obj1 /foo/mydataset[START;STRIDE;COUNT;BLOCK]
+ It is not required to use all parameters, but until the last parameter value used,
+ all of the semicolons (;) are required, even when a parameter value is not specified. Example:
+ obj1 /foo/mydataset[START;;COUNT;BLOCK]
+ obj1 /foo/mydataset[START]
+ The STRIDE, COUNT, and BLOCK parameters are optional and will default to 1 in
+ each dimension. START is optional and will default to 0 in each dimension.
+ Each of START, STRIDE, COUNT, and BLOCK must be a comma-separated list of integers with
+ one integer for each dimension of the dataset.
+
Exit code:
0 if no differences, 1 if differences found, 2 if error
diff --git a/tools/test/h5diff/testfiles/h5diff_603.txt b/tools/test/h5diff/testfiles/h5diff_603.txt
index 84111b3..d4c7336 100644
--- a/tools/test/h5diff/testfiles/h5diff_603.txt
+++ b/tools/test/h5diff/testfiles/h5diff_603.txt
@@ -144,6 +144,18 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
(The option --follow-symlinks overrides the default behavior when
symbolic links are compared.).
+ Subsetting options:
+ Subsetting is available by using the fcompact form of subsetting, as follows:
+ obj1 /foo/mydataset[START;STRIDE;COUNT;BLOCK]
+ It is not required to use all parameters, but until the last parameter value used,
+ all of the semicolons (;) are required, even when a parameter value is not specified. Example:
+ obj1 /foo/mydataset[START;;COUNT;BLOCK]
+ obj1 /foo/mydataset[START]
+ The STRIDE, COUNT, and BLOCK parameters are optional and will default to 1 in
+ each dimension. START is optional and will default to 0 in each dimension.
+ Each of START, STRIDE, COUNT, and BLOCK must be a comma-separated list of integers with
+ one integer for each dimension of the dataset.
+
Exit code:
0 if no differences, 1 if differences found, 2 if error
diff --git a/tools/test/h5diff/testfiles/h5diff_606.txt b/tools/test/h5diff/testfiles/h5diff_606.txt
index d915d36..3123587 100644
--- a/tools/test/h5diff/testfiles/h5diff_606.txt
+++ b/tools/test/h5diff/testfiles/h5diff_606.txt
@@ -144,6 +144,18 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
(The option --follow-symlinks overrides the default behavior when
symbolic links are compared.).
+ Subsetting options:
+ Subsetting is available by using the fcompact form of subsetting, as follows:
+ obj1 /foo/mydataset[START;STRIDE;COUNT;BLOCK]
+ It is not required to use all parameters, but until the last parameter value used,
+ all of the semicolons (;) are required, even when a parameter value is not specified. Example:
+ obj1 /foo/mydataset[START;;COUNT;BLOCK]
+ obj1 /foo/mydataset[START]
+ The STRIDE, COUNT, and BLOCK parameters are optional and will default to 1 in
+ each dimension. START is optional and will default to 0 in each dimension.
+ Each of START, STRIDE, COUNT, and BLOCK must be a comma-separated list of integers with
+ one integer for each dimension of the dataset.
+
Exit code:
0 if no differences, 1 if differences found, 2 if error
diff --git a/tools/test/h5diff/testfiles/h5diff_612.txt b/tools/test/h5diff/testfiles/h5diff_612.txt
index 1ef8cdf..ce2d887 100644
--- a/tools/test/h5diff/testfiles/h5diff_612.txt
+++ b/tools/test/h5diff/testfiles/h5diff_612.txt
@@ -144,6 +144,18 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
(The option --follow-symlinks overrides the default behavior when
symbolic links are compared.).
+ Subsetting options:
+ Subsetting is available by using the fcompact form of subsetting, as follows:
+ obj1 /foo/mydataset[START;STRIDE;COUNT;BLOCK]
+ It is not required to use all parameters, but until the last parameter value used,
+ all of the semicolons (;) are required, even when a parameter value is not specified. Example:
+ obj1 /foo/mydataset[START;;COUNT;BLOCK]
+ obj1 /foo/mydataset[START]
+ The STRIDE, COUNT, and BLOCK parameters are optional and will default to 1 in
+ each dimension. START is optional and will default to 0 in each dimension.
+ Each of START, STRIDE, COUNT, and BLOCK must be a comma-separated list of integers with
+ one integer for each dimension of the dataset.
+
Exit code:
0 if no differences, 1 if differences found, 2 if error
diff --git a/tools/test/h5diff/testfiles/h5diff_615.txt b/tools/test/h5diff/testfiles/h5diff_615.txt
index 881362e..61fd036 100644
--- a/tools/test/h5diff/testfiles/h5diff_615.txt
+++ b/tools/test/h5diff/testfiles/h5diff_615.txt
@@ -144,6 +144,18 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
(The option --follow-symlinks overrides the default behavior when
symbolic links are compared.).
+ Subsetting options:
+ Subsetting is available by using the fcompact form of subsetting, as follows:
+ obj1 /foo/mydataset[START;STRIDE;COUNT;BLOCK]
+ It is not required to use all parameters, but until the last parameter value used,
+ all of the semicolons (;) are required, even when a parameter value is not specified. Example:
+ obj1 /foo/mydataset[START;;COUNT;BLOCK]
+ obj1 /foo/mydataset[START]
+ The STRIDE, COUNT, and BLOCK parameters are optional and will default to 1 in
+ each dimension. START is optional and will default to 0 in each dimension.
+ Each of START, STRIDE, COUNT, and BLOCK must be a comma-separated list of integers with
+ one integer for each dimension of the dataset.
+
Exit code:
0 if no differences, 1 if differences found, 2 if error
diff --git a/tools/test/h5diff/testfiles/h5diff_621.txt b/tools/test/h5diff/testfiles/h5diff_621.txt
index ba39a99..dc8655d 100644
--- a/tools/test/h5diff/testfiles/h5diff_621.txt
+++ b/tools/test/h5diff/testfiles/h5diff_621.txt
@@ -144,6 +144,18 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
(The option --follow-symlinks overrides the default behavior when
symbolic links are compared.).
+ Subsetting options:
+ Subsetting is available by using the fcompact form of subsetting, as follows:
+ obj1 /foo/mydataset[START;STRIDE;COUNT;BLOCK]
+ It is not required to use all parameters, but until the last parameter value used,
+ all of the semicolons (;) are required, even when a parameter value is not specified. Example:
+ obj1 /foo/mydataset[START;;COUNT;BLOCK]
+ obj1 /foo/mydataset[START]
+ The STRIDE, COUNT, and BLOCK parameters are optional and will default to 1 in
+ each dimension. START is optional and will default to 0 in each dimension.
+ Each of START, STRIDE, COUNT, and BLOCK must be a comma-separated list of integers with
+ one integer for each dimension of the dataset.
+
Exit code:
0 if no differences, 1 if differences found, 2 if error
diff --git a/tools/test/h5diff/testfiles/h5diff_622.txt b/tools/test/h5diff/testfiles/h5diff_622.txt
index 70421fc..f20ffbe 100644
--- a/tools/test/h5diff/testfiles/h5diff_622.txt
+++ b/tools/test/h5diff/testfiles/h5diff_622.txt
@@ -144,6 +144,18 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
(The option --follow-symlinks overrides the default behavior when
symbolic links are compared.).
+ Subsetting options:
+ Subsetting is available by using the fcompact form of subsetting, as follows:
+ obj1 /foo/mydataset[START;STRIDE;COUNT;BLOCK]
+ It is not required to use all parameters, but until the last parameter value used,
+ all of the semicolons (;) are required, even when a parameter value is not specified. Example:
+ obj1 /foo/mydataset[START;;COUNT;BLOCK]
+ obj1 /foo/mydataset[START]
+ The STRIDE, COUNT, and BLOCK parameters are optional and will default to 1 in
+ each dimension. START is optional and will default to 0 in each dimension.
+ Each of START, STRIDE, COUNT, and BLOCK must be a comma-separated list of integers with
+ one integer for each dimension of the dataset.
+
Exit code:
0 if no differences, 1 if differences found, 2 if error
diff --git a/tools/test/h5diff/testfiles/h5diff_623.txt b/tools/test/h5diff/testfiles/h5diff_623.txt
index 0d74268..f73d202 100644
--- a/tools/test/h5diff/testfiles/h5diff_623.txt
+++ b/tools/test/h5diff/testfiles/h5diff_623.txt
@@ -144,6 +144,18 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
(The option --follow-symlinks overrides the default behavior when
symbolic links are compared.).
+ Subsetting options:
+ Subsetting is available by using the fcompact form of subsetting, as follows:
+ obj1 /foo/mydataset[START;STRIDE;COUNT;BLOCK]
+ It is not required to use all parameters, but until the last parameter value used,
+ all of the semicolons (;) are required, even when a parameter value is not specified. Example:
+ obj1 /foo/mydataset[START;;COUNT;BLOCK]
+ obj1 /foo/mydataset[START]
+ The STRIDE, COUNT, and BLOCK parameters are optional and will default to 1 in
+ each dimension. START is optional and will default to 0 in each dimension.
+ Each of START, STRIDE, COUNT, and BLOCK must be a comma-separated list of integers with
+ one integer for each dimension of the dataset.
+
Exit code:
0 if no differences, 1 if differences found, 2 if error
diff --git a/tools/test/h5diff/testfiles/h5diff_624.txt b/tools/test/h5diff/testfiles/h5diff_624.txt
index cb8b8b4..903b738 100644
--- a/tools/test/h5diff/testfiles/h5diff_624.txt
+++ b/tools/test/h5diff/testfiles/h5diff_624.txt
@@ -144,6 +144,18 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
(The option --follow-symlinks overrides the default behavior when
symbolic links are compared.).
+ Subsetting options:
+ Subsetting is available by using the fcompact form of subsetting, as follows:
+ obj1 /foo/mydataset[START;STRIDE;COUNT;BLOCK]
+ It is not required to use all parameters, but until the last parameter value used,
+ all of the semicolons (;) are required, even when a parameter value is not specified. Example:
+ obj1 /foo/mydataset[START;;COUNT;BLOCK]
+ obj1 /foo/mydataset[START]
+ The STRIDE, COUNT, and BLOCK parameters are optional and will default to 1 in
+ each dimension. START is optional and will default to 0 in each dimension.
+ Each of START, STRIDE, COUNT, and BLOCK must be a comma-separated list of integers with
+ one integer for each dimension of the dataset.
+
Exit code:
0 if no differences, 1 if differences found, 2 if error
diff --git a/tools/test/h5diff/testfiles/h5diff_830.txt b/tools/test/h5diff/testfiles/h5diff_830.txt
new file mode 100644
index 0000000..8f00d8b
--- /dev/null
+++ b/tools/test/h5diff/testfiles/h5diff_830.txt
@@ -0,0 +1,30 @@
+dataset: </g1/array3D> and </g1/array3D>
+size: [4x3x2] [4x3x2]
+position array3D array3D difference
+------------------------------------------------------------
+[ 0 0 0 ] 1 0 1
+[ 0 0 0 ] 2 0 2
+[ 0 0 0 ] 3 0 3
+[ 0 0 1 ] 4 0 4
+[ 0 0 1 ] 5 0 5
+[ 0 0 1 ] 6 0 6
+[ 0 2 0 ] 13 0 13
+[ 0 2 0 ] 14 0 14
+[ 0 2 0 ] 15 0 15
+[ 0 2 1 ] 16 0 16
+[ 0 2 1 ] 17 0 17
+[ 0 2 1 ] 18 0 18
+[ 2 0 0 ] 37 0 37
+[ 2 0 0 ] 38 0 38
+[ 2 0 0 ] 39 0 39
+[ 2 0 1 ] 40 0 40
+[ 2 0 1 ] 41 0 41
+[ 2 0 1 ] 42 0 42
+[ 2 2 0 ] 49 0 49
+[ 2 2 0 ] 50 0 50
+[ 2 2 0 ] 51 0 51
+[ 2 2 1 ] 52 0 52
+[ 2 2 1 ] 53 0 53
+[ 2 2 1 ] 54 0 54
+24 differences found
+EXIT CODE: 1
diff --git a/tools/test/h5diff/testh5diff.sh.in b/tools/test/h5diff/testh5diff.sh.in
index c8f8ed2..bd27dd0 100644
--- a/tools/test/h5diff/testh5diff.sh.in
+++ b/tools/test/h5diff/testh5diff.sh.in
@@ -354,6 +354,7 @@ $SRC_H5DIFF_TESTFILES/h5diff_710.txt
$SRC_H5DIFF_TESTFILES/h5diff_80.txt
$SRC_H5DIFF_TESTFILES/h5diff_800.txt
$SRC_H5DIFF_TESTFILES/h5diff_801.txt
+$SRC_H5DIFF_TESTFILES/h5diff_830.txt
$SRC_H5DIFF_TESTFILES/h5diff_90.txt
$SRC_H5DIFF_TESTFILES/h5diff_8625.txt
$SRC_H5DIFF_TESTFILES/h5diff_8639.txt
@@ -1204,7 +1205,7 @@ TOOLTEST h5diff_801.txt -v h5diff_dset1.h5 h5diff_dset3.h5 /g1/array /g1/array
# ##############################################################################
# # dataset subsets
# ##############################################################################
-#TRILABS_227 TOOLTEST h5diff_830.txt --enable-error-stack -v h5diff_dset1.h5 h5diff_dset2.h5 /g1/array3D[0,0,0;2,2,1;2,2,2;] /g1/array3D[0,0,0;2,2,1;2,2,2;]
+#TOOLTEST h5diff_830.txt --enable-error-stack -v h5diff_dset1.h5 h5diff_dset2.h5 "/g1/array3D[0,0,0;2,2,1;2,2,2;]" "/g1/array3D[0,0,0;2,2,1;2,2,2;]"
# ##############################################################################
# VDS tests