summaryrefslogtreecommitdiffstats
path: root/tools/test/h5diff
diff options
context:
space:
mode:
authorJordan Henderson <jhenderson@hdfgroup.org>2017-07-05 13:05:02 (GMT)
committerJordan Henderson <jhenderson@hdfgroup.org>2017-07-05 13:05:02 (GMT)
commit34fac7abb0c48f3118572176902d92c739973ca3 (patch)
treec6a301af857292b1de3828c0131b1437e187b913 /tools/test/h5diff
parent92759cc3b9f67f0ca913f190bd9bc5a5249455be (diff)
parent6428a637752753cc8a9007c0c3c38b9ea9cc97fd (diff)
downloadhdf5-34fac7abb0c48f3118572176902d92c739973ca3.zip
hdf5-34fac7abb0c48f3118572176902d92c739973ca3.tar.gz
hdf5-34fac7abb0c48f3118572176902d92c739973ca3.tar.bz2
Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '6428a637752753cc8a9007c0c3c38b9ea9cc97fd': (165 commits) Skip HDFFV-10160 filenotclosed test for split/multi driver Temporary skip this test for split/multi driver. Further investigation to resolve the failure is needed. Please enter the commit message for your changes. Lines starting More minor whitespace cleanup Fixed a minor comment typo in H5R.c * Reverted removal of H5I_REFERENCE to avoid breaking binary compatibility. * Added a quick H5I_REFERENCE smoke check to test_misc19() in tmisc.c. Added missing free() call to test_misc19(). Purged the unused H5I_REFERENCE from the library. Added a test for VFD IDs to testhdf5. Revert "Partial removal of NDEBUG ifdefs from the library." Partial removal of NDEBUG ifdefs from the library. Removed compiler flag cleanup since Solaris chokes on it. Fix for HDFFV-10160 Modifications to fix the assertion/abort failure when the application does not close the file. Fixed a bug in autotools Fortran processing where a test for the presence of a C long double type always returned true. Updated the --enable-debug/production handling in configure.ac so that it more reliably indicates that the configure option can no longer be used. Previously, using --enable-debug="", etc. would not trigger an error (even though such usage is unlikely). Added awk processing to remove extraneous whitespace from H5_ flags in configure. Fixed a comment in configure.ac HDFFV-10219 another mode change HDFFV-10219 change subset to use BINARY mode for h5dump HDFFV-10219 default input binary to NATIVE Set default of var to NATIVE HDFFV-10219 - disable h5dump tests until h5import NATIVE is fixed ...
Diffstat (limited to 'tools/test/h5diff')
-rw-r--r--tools/test/h5diff/CMakeTests.cmake27
-rw-r--r--tools/test/h5diff/Makefile.am20
-rw-r--r--tools/test/h5diff/dynlib_diff.c10
-rw-r--r--tools/test/h5diff/h5diff_plugin.sh.in12
-rw-r--r--tools/test/h5diff/h5diffgentest.c96
-rw-r--r--tools/test/h5diff/testfiles/diff_strings1.h5bin4464 -> 4640 bytes
-rw-r--r--tools/test/h5diff/testfiles/diff_strings2.h5bin4464 -> 4640 bytes
-rw-r--r--tools/test/h5diff/testfiles/h5diff_10.txt21
-rw-r--r--tools/test/h5diff/testfiles/h5diff_58.txt2
-rw-r--r--tools/test/h5diff/testfiles/h5diff_600.txt21
-rw-r--r--tools/test/h5diff/testfiles/h5diff_603.txt21
-rw-r--r--tools/test/h5diff/testfiles/h5diff_606.txt21
-rw-r--r--tools/test/h5diff/testfiles/h5diff_612.txt21
-rw-r--r--tools/test/h5diff/testfiles/h5diff_615.txt21
-rw-r--r--tools/test/h5diff/testfiles/h5diff_621.txt21
-rw-r--r--tools/test/h5diff/testfiles/h5diff_622.txt21
-rw-r--r--tools/test/h5diff/testfiles/h5diff_623.txt21
-rw-r--r--tools/test/h5diff/testfiles/h5diff_624.txt21
-rw-r--r--tools/test/h5diff/testfiles/h5diff_80.txt2
-rw-r--r--tools/test/h5diff/testfiles/h5diff_800.txt12
-rw-r--r--tools/test/h5diff/testfiles/h5diff_801.txt13
-rw-r--r--tools/test/h5diff/testfiles/h5diff_dset1.h5bin23624 -> 23416 bytes
-rw-r--r--tools/test/h5diff/testfiles/h5diff_dset2.h5bin23624 -> 23416 bytes
-rw-r--r--tools/test/h5diff/testfiles/h5diff_dset3.h5bin0 -> 23416 bytes
-rw-r--r--tools/test/h5diff/testh5diff.sh.in12
-rw-r--r--tools/test/h5diff/testph5diff.sh.in10
26 files changed, 265 insertions, 161 deletions
diff --git a/tools/test/h5diff/CMakeTests.cmake b/tools/test/h5diff/CMakeTests.cmake
index ca23677..72dda6b 100644
--- a/tools/test/h5diff/CMakeTests.cmake
+++ b/tools/test/h5diff/CMakeTests.cmake
@@ -1,3 +1,14 @@
+#
+# Copyright by The HDF Group.
+# All rights reserved.
+#
+# This file is part of HDF5. The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the COPYING file, which can be found at the root of the source code
+# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
+# If you do not have access to either file, you may request a copy from
+# help@hdfgroup.org.
+#
##############################################################################
##############################################################################
@@ -17,6 +28,7 @@
${HDF5_TOOLS_TEST_H5DIFF_SOURCE_DIR}/testfiles/h5diff_attr2.h5
${HDF5_TOOLS_TEST_H5DIFF_SOURCE_DIR}/testfiles/h5diff_dset1.h5
${HDF5_TOOLS_TEST_H5DIFF_SOURCE_DIR}/testfiles/h5diff_dset2.h5
+ ${HDF5_TOOLS_TEST_H5DIFF_SOURCE_DIR}/testfiles/h5diff_dset3.h5
${HDF5_TOOLS_TEST_H5DIFF_SOURCE_DIR}/testfiles/h5diff_hyper1.h5
${HDF5_TOOLS_TEST_H5DIFF_SOURCE_DIR}/testfiles/h5diff_hyper2.h5
${HDF5_TOOLS_TEST_H5DIFF_SOURCE_DIR}/testfiles/h5diff_empty.h5
@@ -264,6 +276,8 @@
${HDF5_TOOLS_TEST_H5DIFF_SOURCE_DIR}/testfiles/h5diff_709.txt
${HDF5_TOOLS_TEST_H5DIFF_SOURCE_DIR}/testfiles/h5diff_710.txt
${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_90.txt
${HDF5_TOOLS_TEST_H5DIFF_SOURCE_DIR}/testfiles/h5diff_tmp1.txt
${HDF5_TOOLS_TEST_H5DIFF_SOURCE_DIR}/testfiles/h5diff_tmp2.txt
@@ -453,6 +467,7 @@
set (FILE6 h5diff_attr2.h5)
set (FILE7 h5diff_dset1.h5)
set (FILE8 h5diff_dset2.h5)
+ set (FILE8A h5diff_dset3.h5)
set (FILE9 h5diff_hyper1.h5)
set (FILE10 h5diff_hyper2.h5)
set (FILE11 h5diff_empty.h5)
@@ -861,6 +876,10 @@
h5diff_710.out.err
h5diff_80.out
h5diff_80.out.err
+ h5diff_800.out
+ h5diff_800.out.err
+ h5diff_801.out
+ h5diff_801.out.err
h5diff_90.out
h5diff_90.out.err
h5diff_v1.out
@@ -1467,6 +1486,14 @@ ADD_H5_TEST (h5diff_645 1 -v -p 0.05 --use-system-epsilon ${FILE1} ${FILE2} /g1/
ADD_H5_TEST (h5diff_646 1 -v --use-system-epsilon -p 0.05 ${FILE1} ${FILE2} /g1/dset3 /g1/dset4)
# ##############################################################################
+# # Test array variances
+# ##############################################################################
+#
+# Test with -d , -p and --use-system-epsilon.
+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)
+
+# ##############################################################################
# VDS tests
# ##############################################################################
ADD_H5_TEST (h5diff_v1 0 -v ${FILEV1} ${FILEV2})
diff --git a/tools/test/h5diff/Makefile.am b/tools/test/h5diff/Makefile.am
index 1d700ea..5721aaa 100644
--- a/tools/test/h5diff/Makefile.am
+++ b/tools/test/h5diff/Makefile.am
@@ -5,12 +5,10 @@
#
# This file is part of HDF5. The full HDF5 copyright notice, including
# terms governing use, modification, and redistribution, is contained in
-# the files COPYING and Copyright.html. COPYING can be found at the root
-# of the source code distribution tree; Copyright.html can be found at the
-# root level of an installed copy of the electronic HDF5 document set and
-# is linked from the top-level documents page. It can also be found at
-# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
-# access to either file, you may request a copy from help@hdfgroup.org.
+# the COPYING file, which can be found at the root of the source code
+# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
+# If you do not have access to either file, you may request a copy from
+# help@hdfgroup.org.
##
## Makefile.am
## Run automake to generate a Makefile.in from this file.
@@ -52,11 +50,15 @@ LDADD=$(LIBH5TOOLS) $(LIBHDF5)
if HAVE_SHARED_CONDITIONAL
# Build it as shared library if configure is enabled for shared library.
- lib_LTLIBRARIES=libdynlibdiff.la
+ dyn_LTLIBRARIES=libdynlibdiff.la
libdynlibdiff_la_SOURCES=dynlib_diff.c
+ libdynlibdiff_la_LDFLAGS = -avoid-version -module -shared -export-dynamic
-install-exec-hook:
- $(RM) $(DESTDIR)$(libdir)/*dynlib*
+libdynlibdiff.la: $(libdynlibdiff_la_OBJECTS) $(libdynlibdiff_la_DEPENDENCIES) $(EXTRA_libdynlibdiff_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdynlibdiff_la_LINK) $(am_libdynlibdiff_la_rpath) $(libdynlibdiff_la_OBJECTS) $(libdynlibdiff_la_LIBADD)
+
+#install-exec-hook:
+# $(RM) $(DESTDIR)$(dyndir)/*dynlib*
endif
# Temporary files. *.h5 are generated by h5diff. They should
diff --git a/tools/test/h5diff/dynlib_diff.c b/tools/test/h5diff/dynlib_diff.c
index d80777d..571452e 100644
--- a/tools/test/h5diff/dynlib_diff.c
+++ b/tools/test/h5diff/dynlib_diff.c
@@ -4,12 +4,10 @@
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
- * the files COPYING and Copyright.html. COPYING can be found at the root *
- * of the source code distribution tree; Copyright.html can be found at the *
- * root level of an installed copy of the electronic document set and is *
- * linked from the top-level documents page. It can also be found at *
- * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have access *
- * to either file, you may request a copy from help@hdfgroup.org. *
+ * the COPYING file, which can be found at the root of the source code *
+ * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
+ * If you do not have access to either file, you may request a copy from *
+ * help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*
* Purpose: Tests the plugin module (H5PL)
diff --git a/tools/test/h5diff/h5diff_plugin.sh.in b/tools/test/h5diff/h5diff_plugin.sh.in
index ffd2ea1..212f5d6 100644
--- a/tools/test/h5diff/h5diff_plugin.sh.in
+++ b/tools/test/h5diff/h5diff_plugin.sh.in
@@ -5,12 +5,10 @@
#
# This file is part of HDF5. The full HDF5 copyright notice, including
# terms governing use, modification, and redistribution, is contained in
-# the files COPYING and Copyright.html. COPYING can be found at the root
-# of the source code distribution tree; Copyright.html can be found at the
-# root level of an installed copy of the electronic document set and is
-# linked from the top-level documents page. It can also be found at
-# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have access
-# to either file, you may request a copy from help@hdfgroup.org.
+# the COPYING file, which can be found at the root of the source code
+# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
+# If you do not have access to either file, you may request a copy from
+# help@hdfgroup.org.
#
srcdir=@srcdir@
TOP_BUILDDIR=@top_builddir@
@@ -244,6 +242,8 @@ TOOLTEST() {
# Create the expect file if it doesn't yet exist.
echo " CREATED"
cp $actual $expect
+ echo " Expected result (*.ddl) missing"
+ nerrors="`expr $nerrors + 1`"
elif $CMP $expect $actual; then
echo " PASSED"
elif test $h5haveexitcode = 'yes' -a -z "$pmode"; then
diff --git a/tools/test/h5diff/h5diffgentest.c b/tools/test/h5diff/h5diffgentest.c
index c3b45bc..459a37e 100644
--- a/tools/test/h5diff/h5diffgentest.c
+++ b/tools/test/h5diff/h5diffgentest.c
@@ -5,12 +5,10 @@
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
-* the files COPYING and Copyright.html. COPYING can be found at the root *
-* of the source code distribution tree; Copyright.html can be found at the *
-* root level of an installed copy of the electronic HDF5 document set and *
-* is linked from the top-level documents page. It can also be found at *
-* http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-* access to either file, you may request a copy from help@hdfgroup.org. *
+ * the COPYING file, which can be found at the root of the source code *
+ * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
+ * If you do not have access to either file, you may request a copy from *
+ * help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#include <stdio.h>
@@ -50,6 +48,7 @@ size_t H5TOOLS_MALLOCSIZE = (128 * 1024 * 1024);
#define FILE6 "h5diff_attr2.h5"
#define FILE7 "h5diff_dset1.h5"
#define FILE8 "h5diff_dset2.h5"
+#define FILE8A "h5diff_dset3.h5"
#define FILE9 "h5diff_hyper1.h5"
#define FILE10 "h5diff_hyper2.h5"
#define FILE11 "h5diff_empty.h5"
@@ -199,6 +198,7 @@ int main(void)
/* generate 2 files, the second call creates a similar file with differences */
test_datasets(FILE7,0);
test_datasets(FILE8,1);
+ test_datasets(FILE8A,2);
/* generate 2 files, the second call creates a similar file with differences */
test_hyperslab(FILE9,0);
@@ -1330,7 +1330,7 @@ int test_datasets(const char *file,
herr_t status;
int buf[2]={1,2};
- if(make_diffs)
+ if(make_diffs > 0)
memset(buf, 0, sizeof buf);
/* Create a file */
@@ -1401,9 +1401,8 @@ int test_special_datasets(const char *file,
/* Create a dataset with zero dimension size in one file but the other one
* has a dataset with a non-zero dimension size */
- if(make_diffs) {
+ if(make_diffs)
dims[1] = SPACE1_DIM2 + 4;
- }
sid = H5Screate_simple(SPACE1_RANK, dims, NULL);
did = H5Dcreate2(fid, "dset2", H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
@@ -3633,8 +3632,8 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int
char *str_vlen_repeat; /* vlen string */
char str_fixlen[FIXLEN_STR_SIZE]; /* fixed len string */
char str_fixlen_repeat[FIXLEN_STR_SIZE]; /* fixed len string */
- char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */
- char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */
+ const char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */
+ const char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */
char str_array_fixlen[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */
char str_fixlen_array_again[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */
} comp1_t;
@@ -3646,9 +3645,9 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int
char str_fixlen[FIXLEN_STR_SIZE]; /* fixed len string */
char *str_vlen_repeat; /* vlen string */
char str_fixlen_repeat[FIXLEN_STR_SIZE]; /* fixed len string */
- char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */
+ const char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */
char str_array_fixlen[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */
- char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */
+ const char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */
char str_fixlen_array_again[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */
} comp2_t;
@@ -3661,8 +3660,8 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int
char *str_vlen_repeat; /* vlen string */
char str_array_fixlen[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */
char str_fixlen_array_again[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */
- char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */
- char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */
+ const char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */
+ const char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */
} comp3_t;
/* compound4 datatype */
@@ -3673,16 +3672,16 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int
char str_fixlen_repeat[FIXLEN_STR_SIZE]; /* fixed len string */
char *str_vlen_repeat; /* vlen string */
char str_array_fixlen[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */
- char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */
+ const char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */
char str_fixlen_array_again[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */
- char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */
+ const char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */
} comp4_t;
/* compound5 datatype */
typedef struct comp5_t
{
- char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */
- char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */
+ const char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */
+ const char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */
char str_array_fixlen[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */
char str_fixlen_array_again[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */
char *str_vlen; /* vlen string */
@@ -3694,9 +3693,9 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int
/* compound6 datatype */
typedef struct comp6_t
{
- char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */
+ const char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */
char str_array_fixlen[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */
- char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */
+ const char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */
char str_fixlen_array_again[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */
char *str_vlen; /* vlen string */
char str_fixlen[FIXLEN_STR_SIZE]; /* fixed len string */
@@ -3709,8 +3708,8 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int
{
char str_array_fixlen[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */
char str_fixlen_array_again[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */
- char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */
- char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */
+ const char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */
+ const char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */
char str_fixlen[FIXLEN_STR_SIZE]; /* fixed len string */
char str_fixlen_repeat[FIXLEN_STR_SIZE]; /* fixed len string */
char *str_vlen; /* vlen string */
@@ -3721,9 +3720,9 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int
typedef struct comp8_t
{
char str_array_fixlen[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */
- char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */
+ const char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */
char str_fixlen_array_again[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */
- char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */
+ const char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */
char str_fixlen[FIXLEN_STR_SIZE]; /* fixed len string */
char *str_vlen; /* vlen string */
char str_fixlen_repeat[FIXLEN_STR_SIZE]; /* fixed len string */
@@ -3735,8 +3734,8 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int
{
char str_array_fixlen[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */
char str_fixlen_array_again[FIXLEN_STR_ARRY_DIM][FIXLEN_STR_ARRY_SIZE]; /* fixed len string array */
- char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */
- char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */
+ const char *str_array_vlen[VLEN_STR_ARRY_DIM]; /* vlen string array */
+ const char *str_vlen_array_again[VLEN_STR_ARRY_DIM]; /* vlen string array */
char str_fixlen[FIXLEN_STR_SIZE]; /* fixed len string */
int int_data1;
hobj_ref_t objref1; /* reference */
@@ -3769,7 +3768,7 @@ static int test_comp_vlen_strings(const char *fname1, const char *grp_name, int
hid_t sid_vlen_str_array=0; /* dataspace ID */
hid_t tid_vlen_str_array_pre=0; /* datatype ID */
hid_t tid_vlen_str_array=0; /* datatype ID */
- char *vlen_str_array_buf[VLEN_STR_ARRY_DIM]= {
+ const char *vlen_str_array_buf[VLEN_STR_ARRY_DIM]= {
"1 - Variable length string Array",
"2 - Testing variable length string array in compound type",
"3 - Four score and seven\n years ago our forefathers brought forth on this continent a new nation,"
@@ -5344,7 +5343,6 @@ static hid_t mkstr(int size, H5T_str_t pad) {
*-------------------------------------------------------------------------*/
static void test_objs_strings(const char *fname1, const char *fname2)
{
- herr_t status = SUCCEED;
hid_t fid1=0;
hid_t fid2=0;
hid_t dataset=0;
@@ -5399,7 +5397,6 @@ static void test_objs_strings(const char *fname1, const char *fname2)
if (fid1 < 0)
{
fprintf(stderr, "Error: %s> H5Fcreate failed.\n", fname1);
- status = FAIL;
goto out;
}
@@ -5408,7 +5405,6 @@ static void test_objs_strings(const char *fname1, const char *fname2)
if (fid2 < 0)
{
fprintf(stderr, "Error: %s> H5Fcreate failed.\n", fname2);
- status = FAIL;
goto out;
}
@@ -5468,6 +5464,34 @@ static void test_objs_strings(const char *fname1, const char *fname2)
H5Sclose(space);
H5Dclose(dataset);
+ /* string 5 : early term long string */
+ string4A[0][10] = 0;
+ string4A[0][11] = 0;
+ string4B[0][10] = 0;
+
+ string4A[1][10] = 0;
+ string4A[1][11] = 'Z';
+ string4B[1][10] = 0;
+ string4B[1][11] = 'x';
+
+ string4A[2][10] = 0;
+ string4B[2][10] = 0;
+ string4B[2][11] = 'a';
+ string4B[2][12] = 'B';
+ string4B[2][13] = 'c';
+ space = H5Screate_simple(1, dims4, NULL);
+ f_type = mkstr(168, H5T_STR_NULLTERM);
+ m_type = mkstr(21, H5T_STR_NULLTERM);
+ dataset = H5Dcreate2(fid1, "/string5", f_type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+ H5Dwrite(dataset, m_type, H5S_ALL, H5S_ALL, H5P_DEFAULT, string4A);
+ H5Dclose(dataset);
+ dataset = H5Dcreate2(fid2, "/string5", f_type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+ H5Dwrite(dataset, m_type, H5S_ALL, H5S_ALL, H5P_DEFAULT, string4B);
+ H5Tclose(m_type);
+ H5Tclose(f_type);
+ H5Sclose(space);
+ H5Dclose(dataset);
+
out:
/*-----------------------------------------------------------------------
* Close IDs
@@ -6615,6 +6639,9 @@ void write_dset_in(hid_t loc_id,
int buf73[4][3][2]; /* integer */
float buf83[4][3][2]; /* float */
+ if(make_diffs == 2) {
+ dimarray[0] = 4;
+ }
/*-------------------------------------------------------------------------
* H5S_SCALAR
@@ -6623,11 +6650,8 @@ void write_dset_in(hid_t loc_id,
- if ( make_diffs )
- {
-
+ if(make_diffs)
scalar_data = 1;
- }
/* create a space */
sid = H5Screate(H5S_SCALAR);
@@ -7210,7 +7234,7 @@ void write_dset_in(hid_t loc_id,
n=1;
for (i = 0; i < 24; i++) {
- for (j = 0; j < (int)dimarray[0]; j++) {
+ for (j = 0; j < 3; j++) {
if (make_diffs) buf63[i][j]=0;
else buf63[i][j]=n++;
}
diff --git a/tools/test/h5diff/testfiles/diff_strings1.h5 b/tools/test/h5diff/testfiles/diff_strings1.h5
index 8839f5a..0f8b380 100644
--- a/tools/test/h5diff/testfiles/diff_strings1.h5
+++ b/tools/test/h5diff/testfiles/diff_strings1.h5
Binary files differ
diff --git a/tools/test/h5diff/testfiles/diff_strings2.h5 b/tools/test/h5diff/testfiles/diff_strings2.h5
index 810278c..e8520ae 100644
--- a/tools/test/h5diff/testfiles/diff_strings2.h5
+++ b/tools/test/h5diff/testfiles/diff_strings2.h5
Binary files differ
diff --git a/tools/test/h5diff/testfiles/h5diff_10.txt b/tools/test/h5diff/testfiles/h5diff_10.txt
index a699f00..0a0ee22 100644
--- a/tools/test/h5diff/testfiles/h5diff_10.txt
+++ b/tools/test/h5diff/testfiles/h5diff_10.txt
@@ -1,4 +1,4 @@
-usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
+usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
file1 File name of the first HDF5 file
file2 File name of the second HDF5 file
[obj1] Name of an HDF5 object, in absolute path
@@ -59,19 +59,22 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
-n C, --count=C
Print differences up to C. C must be a positive integer.
-d D, --delta=D
- Print difference if (|a-b| > D). D must be a positive number.
+ Print difference if (|a-b| > D). D must be a positive number. Where a
+ is the data point value in file1 and b is the data point value in file2.
Can not use with '-p' or '--use-system-epsilon'.
-p R, --relative=R
- Print difference if (|(a-b)/b| > R). R must be a positive number.
+ Print difference if (|(a-b)/b| > R). R must be a positive number. Where a
+ is the data point value in file1 and b is the data point value in file2.
Can not use with '-d' or '--use-system-epsilon'.
--use-system-epsilon
- Print difference if (|a-b| > EPSILON), EPSILON is system defined value.
+ Print difference if (|a-b| > EPSILON), EPSILON is system defined value. Where a
+ is the data point value in file1 and b is the data point value in file2.
If the system epsilon is not defined,one of the following predefined
values will be used:
FLT_EPSILON = 1.19209E-07 for floating-point type
DBL_EPSILON = 2.22045E-16 for double precision type
Can not use with '-p' or '-d'.
- --exclude-path "path"
+ --exclude-path "path"
Exclude the specified path to an object when comparing files or groups.
If a group is excluded, all member objects will also be excluded.
The specified path is excluded wherever it occurs.
@@ -106,15 +109,15 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
common objects.
Object comparison:
- 1) Groups
+ 1) Groups
First compares the names of member objects (relative path, from the
specified group) and generates a report of objects that appear in only
one group or in both groups. Common objects are then compared recursively.
- 2) Datasets
+ 2) Datasets
Array rank and dimensions, datatypes, and data values are compared.
- 3) Datatypes
+ 3) Datatypes
The comparison is based on the return value of H5Tequal.
- 4) Symbolic links
+ 4) Symbolic links
The paths to the target objects are compared.
(The option --follow-symlinks overrides the default behavior when
symbolic links are compared.).
diff --git a/tools/test/h5diff/testfiles/h5diff_58.txt b/tools/test/h5diff/testfiles/h5diff_58.txt
index 768dd97..d27a0c9 100644
--- a/tools/test/h5diff/testfiles/h5diff_58.txt
+++ b/tools/test/h5diff/testfiles/h5diff_58.txt
@@ -1,5 +1,5 @@
dataset: </refreg> and </refreg>
-Referenced dataset 10720 10720
+Referenced dataset 10784 10784
------------------------------------------------------------
Region blocks
block #0 (2,2)-(7,7) (0,0)-(2,2)
diff --git a/tools/test/h5diff/testfiles/h5diff_600.txt b/tools/test/h5diff/testfiles/h5diff_600.txt
index 3c3ad9f..4362711 100644
--- a/tools/test/h5diff/testfiles/h5diff_600.txt
+++ b/tools/test/h5diff/testfiles/h5diff_600.txt
@@ -1,4 +1,4 @@
-usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
+usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
file1 File name of the first HDF5 file
file2 File name of the second HDF5 file
[obj1] Name of an HDF5 object, in absolute path
@@ -59,19 +59,22 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
-n C, --count=C
Print differences up to C. C must be a positive integer.
-d D, --delta=D
- Print difference if (|a-b| > D). D must be a positive number.
+ Print difference if (|a-b| > D). D must be a positive number. Where a
+ is the data point value in file1 and b is the data point value in file2.
Can not use with '-p' or '--use-system-epsilon'.
-p R, --relative=R
- Print difference if (|(a-b)/b| > R). R must be a positive number.
+ Print difference if (|(a-b)/b| > R). R must be a positive number. Where a
+ is the data point value in file1 and b is the data point value in file2.
Can not use with '-d' or '--use-system-epsilon'.
--use-system-epsilon
- Print difference if (|a-b| > EPSILON), EPSILON is system defined value.
+ Print difference if (|a-b| > EPSILON), EPSILON is system defined value. Where a
+ is the data point value in file1 and b is the data point value in file2.
If the system epsilon is not defined,one of the following predefined
values will be used:
FLT_EPSILON = 1.19209E-07 for floating-point type
DBL_EPSILON = 2.22045E-16 for double precision type
Can not use with '-p' or '-d'.
- --exclude-path "path"
+ --exclude-path "path"
Exclude the specified path to an object when comparing files or groups.
If a group is excluded, all member objects will also be excluded.
The specified path is excluded wherever it occurs.
@@ -106,15 +109,15 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
common objects.
Object comparison:
- 1) Groups
+ 1) Groups
First compares the names of member objects (relative path, from the
specified group) and generates a report of objects that appear in only
one group or in both groups. Common objects are then compared recursively.
- 2) Datasets
+ 2) Datasets
Array rank and dimensions, datatypes, and data values are compared.
- 3) Datatypes
+ 3) Datatypes
The comparison is based on the return value of H5Tequal.
- 4) Symbolic links
+ 4) Symbolic links
The paths to the target objects are compared.
(The option --follow-symlinks overrides the default behavior when
symbolic links are compared.).
diff --git a/tools/test/h5diff/testfiles/h5diff_603.txt b/tools/test/h5diff/testfiles/h5diff_603.txt
index 087764a..9ab3204 100644
--- a/tools/test/h5diff/testfiles/h5diff_603.txt
+++ b/tools/test/h5diff/testfiles/h5diff_603.txt
@@ -1,5 +1,5 @@
<-d -4> is not a valid option
-usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
+usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
file1 File name of the first HDF5 file
file2 File name of the second HDF5 file
[obj1] Name of an HDF5 object, in absolute path
@@ -60,19 +60,22 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
-n C, --count=C
Print differences up to C. C must be a positive integer.
-d D, --delta=D
- Print difference if (|a-b| > D). D must be a positive number.
+ Print difference if (|a-b| > D). D must be a positive number. Where a
+ is the data point value in file1 and b is the data point value in file2.
Can not use with '-p' or '--use-system-epsilon'.
-p R, --relative=R
- Print difference if (|(a-b)/b| > R). R must be a positive number.
+ Print difference if (|(a-b)/b| > R). R must be a positive number. Where a
+ is the data point value in file1 and b is the data point value in file2.
Can not use with '-d' or '--use-system-epsilon'.
--use-system-epsilon
- Print difference if (|a-b| > EPSILON), EPSILON is system defined value.
+ Print difference if (|a-b| > EPSILON), EPSILON is system defined value. Where a
+ is the data point value in file1 and b is the data point value in file2.
If the system epsilon is not defined,one of the following predefined
values will be used:
FLT_EPSILON = 1.19209E-07 for floating-point type
DBL_EPSILON = 2.22045E-16 for double precision type
Can not use with '-p' or '-d'.
- --exclude-path "path"
+ --exclude-path "path"
Exclude the specified path to an object when comparing files or groups.
If a group is excluded, all member objects will also be excluded.
The specified path is excluded wherever it occurs.
@@ -107,15 +110,15 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
common objects.
Object comparison:
- 1) Groups
+ 1) Groups
First compares the names of member objects (relative path, from the
specified group) and generates a report of objects that appear in only
one group or in both groups. Common objects are then compared recursively.
- 2) Datasets
+ 2) Datasets
Array rank and dimensions, datatypes, and data values are compared.
- 3) Datatypes
+ 3) Datatypes
The comparison is based on the return value of H5Tequal.
- 4) Symbolic links
+ 4) Symbolic links
The paths to the target objects are compared.
(The option --follow-symlinks overrides the default behavior when
symbolic links are compared.).
diff --git a/tools/test/h5diff/testfiles/h5diff_606.txt b/tools/test/h5diff/testfiles/h5diff_606.txt
index c31a67e..afe0e72 100644
--- a/tools/test/h5diff/testfiles/h5diff_606.txt
+++ b/tools/test/h5diff/testfiles/h5diff_606.txt
@@ -1,5 +1,5 @@
<-d 0x1> is not a valid option
-usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
+usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
file1 File name of the first HDF5 file
file2 File name of the second HDF5 file
[obj1] Name of an HDF5 object, in absolute path
@@ -60,19 +60,22 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
-n C, --count=C
Print differences up to C. C must be a positive integer.
-d D, --delta=D
- Print difference if (|a-b| > D). D must be a positive number.
+ Print difference if (|a-b| > D). D must be a positive number. Where a
+ is the data point value in file1 and b is the data point value in file2.
Can not use with '-p' or '--use-system-epsilon'.
-p R, --relative=R
- Print difference if (|(a-b)/b| > R). R must be a positive number.
+ Print difference if (|(a-b)/b| > R). R must be a positive number. Where a
+ is the data point value in file1 and b is the data point value in file2.
Can not use with '-d' or '--use-system-epsilon'.
--use-system-epsilon
- Print difference if (|a-b| > EPSILON), EPSILON is system defined value.
+ Print difference if (|a-b| > EPSILON), EPSILON is system defined value. Where a
+ is the data point value in file1 and b is the data point value in file2.
If the system epsilon is not defined,one of the following predefined
values will be used:
FLT_EPSILON = 1.19209E-07 for floating-point type
DBL_EPSILON = 2.22045E-16 for double precision type
Can not use with '-p' or '-d'.
- --exclude-path "path"
+ --exclude-path "path"
Exclude the specified path to an object when comparing files or groups.
If a group is excluded, all member objects will also be excluded.
The specified path is excluded wherever it occurs.
@@ -107,15 +110,15 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
common objects.
Object comparison:
- 1) Groups
+ 1) Groups
First compares the names of member objects (relative path, from the
specified group) and generates a report of objects that appear in only
one group or in both groups. Common objects are then compared recursively.
- 2) Datasets
+ 2) Datasets
Array rank and dimensions, datatypes, and data values are compared.
- 3) Datatypes
+ 3) Datatypes
The comparison is based on the return value of H5Tequal.
- 4) Symbolic links
+ 4) Symbolic links
The paths to the target objects are compared.
(The option --follow-symlinks overrides the default behavior when
symbolic links are compared.).
diff --git a/tools/test/h5diff/testfiles/h5diff_612.txt b/tools/test/h5diff/testfiles/h5diff_612.txt
index 05318bd..97a1747 100644
--- a/tools/test/h5diff/testfiles/h5diff_612.txt
+++ b/tools/test/h5diff/testfiles/h5diff_612.txt
@@ -1,5 +1,5 @@
<-p -4> is not a valid option
-usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
+usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
file1 File name of the first HDF5 file
file2 File name of the second HDF5 file
[obj1] Name of an HDF5 object, in absolute path
@@ -60,19 +60,22 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
-n C, --count=C
Print differences up to C. C must be a positive integer.
-d D, --delta=D
- Print difference if (|a-b| > D). D must be a positive number.
+ Print difference if (|a-b| > D). D must be a positive number. Where a
+ is the data point value in file1 and b is the data point value in file2.
Can not use with '-p' or '--use-system-epsilon'.
-p R, --relative=R
- Print difference if (|(a-b)/b| > R). R must be a positive number.
+ Print difference if (|(a-b)/b| > R). R must be a positive number. Where a
+ is the data point value in file1 and b is the data point value in file2.
Can not use with '-d' or '--use-system-epsilon'.
--use-system-epsilon
- Print difference if (|a-b| > EPSILON), EPSILON is system defined value.
+ Print difference if (|a-b| > EPSILON), EPSILON is system defined value. Where a
+ is the data point value in file1 and b is the data point value in file2.
If the system epsilon is not defined,one of the following predefined
values will be used:
FLT_EPSILON = 1.19209E-07 for floating-point type
DBL_EPSILON = 2.22045E-16 for double precision type
Can not use with '-p' or '-d'.
- --exclude-path "path"
+ --exclude-path "path"
Exclude the specified path to an object when comparing files or groups.
If a group is excluded, all member objects will also be excluded.
The specified path is excluded wherever it occurs.
@@ -107,15 +110,15 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
common objects.
Object comparison:
- 1) Groups
+ 1) Groups
First compares the names of member objects (relative path, from the
specified group) and generates a report of objects that appear in only
one group or in both groups. Common objects are then compared recursively.
- 2) Datasets
+ 2) Datasets
Array rank and dimensions, datatypes, and data values are compared.
- 3) Datatypes
+ 3) Datatypes
The comparison is based on the return value of H5Tequal.
- 4) Symbolic links
+ 4) Symbolic links
The paths to the target objects are compared.
(The option --follow-symlinks overrides the default behavior when
symbolic links are compared.).
diff --git a/tools/test/h5diff/testfiles/h5diff_615.txt b/tools/test/h5diff/testfiles/h5diff_615.txt
index fd756b3..78770f0 100644
--- a/tools/test/h5diff/testfiles/h5diff_615.txt
+++ b/tools/test/h5diff/testfiles/h5diff_615.txt
@@ -1,5 +1,5 @@
<-p 0x1> is not a valid option
-usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
+usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
file1 File name of the first HDF5 file
file2 File name of the second HDF5 file
[obj1] Name of an HDF5 object, in absolute path
@@ -60,19 +60,22 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
-n C, --count=C
Print differences up to C. C must be a positive integer.
-d D, --delta=D
- Print difference if (|a-b| > D). D must be a positive number.
+ Print difference if (|a-b| > D). D must be a positive number. Where a
+ is the data point value in file1 and b is the data point value in file2.
Can not use with '-p' or '--use-system-epsilon'.
-p R, --relative=R
- Print difference if (|(a-b)/b| > R). R must be a positive number.
+ Print difference if (|(a-b)/b| > R). R must be a positive number. Where a
+ is the data point value in file1 and b is the data point value in file2.
Can not use with '-d' or '--use-system-epsilon'.
--use-system-epsilon
- Print difference if (|a-b| > EPSILON), EPSILON is system defined value.
+ Print difference if (|a-b| > EPSILON), EPSILON is system defined value. Where a
+ is the data point value in file1 and b is the data point value in file2.
If the system epsilon is not defined,one of the following predefined
values will be used:
FLT_EPSILON = 1.19209E-07 for floating-point type
DBL_EPSILON = 2.22045E-16 for double precision type
Can not use with '-p' or '-d'.
- --exclude-path "path"
+ --exclude-path "path"
Exclude the specified path to an object when comparing files or groups.
If a group is excluded, all member objects will also be excluded.
The specified path is excluded wherever it occurs.
@@ -107,15 +110,15 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
common objects.
Object comparison:
- 1) Groups
+ 1) Groups
First compares the names of member objects (relative path, from the
specified group) and generates a report of objects that appear in only
one group or in both groups. Common objects are then compared recursively.
- 2) Datasets
+ 2) Datasets
Array rank and dimensions, datatypes, and data values are compared.
- 3) Datatypes
+ 3) Datatypes
The comparison is based on the return value of H5Tequal.
- 4) Symbolic links
+ 4) Symbolic links
The paths to the target objects are compared.
(The option --follow-symlinks overrides the default behavior when
symbolic links are compared.).
diff --git a/tools/test/h5diff/testfiles/h5diff_621.txt b/tools/test/h5diff/testfiles/h5diff_621.txt
index fd8c680..b2a5881 100644
--- a/tools/test/h5diff/testfiles/h5diff_621.txt
+++ b/tools/test/h5diff/testfiles/h5diff_621.txt
@@ -1,5 +1,5 @@
<-n -4> is not a valid option
-usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
+usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
file1 File name of the first HDF5 file
file2 File name of the second HDF5 file
[obj1] Name of an HDF5 object, in absolute path
@@ -60,19 +60,22 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
-n C, --count=C
Print differences up to C. C must be a positive integer.
-d D, --delta=D
- Print difference if (|a-b| > D). D must be a positive number.
+ Print difference if (|a-b| > D). D must be a positive number. Where a
+ is the data point value in file1 and b is the data point value in file2.
Can not use with '-p' or '--use-system-epsilon'.
-p R, --relative=R
- Print difference if (|(a-b)/b| > R). R must be a positive number.
+ Print difference if (|(a-b)/b| > R). R must be a positive number. Where a
+ is the data point value in file1 and b is the data point value in file2.
Can not use with '-d' or '--use-system-epsilon'.
--use-system-epsilon
- Print difference if (|a-b| > EPSILON), EPSILON is system defined value.
+ Print difference if (|a-b| > EPSILON), EPSILON is system defined value. Where a
+ is the data point value in file1 and b is the data point value in file2.
If the system epsilon is not defined,one of the following predefined
values will be used:
FLT_EPSILON = 1.19209E-07 for floating-point type
DBL_EPSILON = 2.22045E-16 for double precision type
Can not use with '-p' or '-d'.
- --exclude-path "path"
+ --exclude-path "path"
Exclude the specified path to an object when comparing files or groups.
If a group is excluded, all member objects will also be excluded.
The specified path is excluded wherever it occurs.
@@ -107,15 +110,15 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
common objects.
Object comparison:
- 1) Groups
+ 1) Groups
First compares the names of member objects (relative path, from the
specified group) and generates a report of objects that appear in only
one group or in both groups. Common objects are then compared recursively.
- 2) Datasets
+ 2) Datasets
Array rank and dimensions, datatypes, and data values are compared.
- 3) Datatypes
+ 3) Datatypes
The comparison is based on the return value of H5Tequal.
- 4) Symbolic links
+ 4) Symbolic links
The paths to the target objects are compared.
(The option --follow-symlinks overrides the default behavior when
symbolic links are compared.).
diff --git a/tools/test/h5diff/testfiles/h5diff_622.txt b/tools/test/h5diff/testfiles/h5diff_622.txt
index f0d38af..66a3025 100644
--- a/tools/test/h5diff/testfiles/h5diff_622.txt
+++ b/tools/test/h5diff/testfiles/h5diff_622.txt
@@ -1,5 +1,5 @@
<-n 0> is not a valid option
-usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
+usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
file1 File name of the first HDF5 file
file2 File name of the second HDF5 file
[obj1] Name of an HDF5 object, in absolute path
@@ -60,19 +60,22 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
-n C, --count=C
Print differences up to C. C must be a positive integer.
-d D, --delta=D
- Print difference if (|a-b| > D). D must be a positive number.
+ Print difference if (|a-b| > D). D must be a positive number. Where a
+ is the data point value in file1 and b is the data point value in file2.
Can not use with '-p' or '--use-system-epsilon'.
-p R, --relative=R
- Print difference if (|(a-b)/b| > R). R must be a positive number.
+ Print difference if (|(a-b)/b| > R). R must be a positive number. Where a
+ is the data point value in file1 and b is the data point value in file2.
Can not use with '-d' or '--use-system-epsilon'.
--use-system-epsilon
- Print difference if (|a-b| > EPSILON), EPSILON is system defined value.
+ Print difference if (|a-b| > EPSILON), EPSILON is system defined value. Where a
+ is the data point value in file1 and b is the data point value in file2.
If the system epsilon is not defined,one of the following predefined
values will be used:
FLT_EPSILON = 1.19209E-07 for floating-point type
DBL_EPSILON = 2.22045E-16 for double precision type
Can not use with '-p' or '-d'.
- --exclude-path "path"
+ --exclude-path "path"
Exclude the specified path to an object when comparing files or groups.
If a group is excluded, all member objects will also be excluded.
The specified path is excluded wherever it occurs.
@@ -107,15 +110,15 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
common objects.
Object comparison:
- 1) Groups
+ 1) Groups
First compares the names of member objects (relative path, from the
specified group) and generates a report of objects that appear in only
one group or in both groups. Common objects are then compared recursively.
- 2) Datasets
+ 2) Datasets
Array rank and dimensions, datatypes, and data values are compared.
- 3) Datatypes
+ 3) Datatypes
The comparison is based on the return value of H5Tequal.
- 4) Symbolic links
+ 4) Symbolic links
The paths to the target objects are compared.
(The option --follow-symlinks overrides the default behavior when
symbolic links are compared.).
diff --git a/tools/test/h5diff/testfiles/h5diff_623.txt b/tools/test/h5diff/testfiles/h5diff_623.txt
index 4ab66a5..f9258d1 100644
--- a/tools/test/h5diff/testfiles/h5diff_623.txt
+++ b/tools/test/h5diff/testfiles/h5diff_623.txt
@@ -1,5 +1,5 @@
<-n u> is not a valid option
-usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
+usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
file1 File name of the first HDF5 file
file2 File name of the second HDF5 file
[obj1] Name of an HDF5 object, in absolute path
@@ -60,19 +60,22 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
-n C, --count=C
Print differences up to C. C must be a positive integer.
-d D, --delta=D
- Print difference if (|a-b| > D). D must be a positive number.
+ Print difference if (|a-b| > D). D must be a positive number. Where a
+ is the data point value in file1 and b is the data point value in file2.
Can not use with '-p' or '--use-system-epsilon'.
-p R, --relative=R
- Print difference if (|(a-b)/b| > R). R must be a positive number.
+ Print difference if (|(a-b)/b| > R). R must be a positive number. Where a
+ is the data point value in file1 and b is the data point value in file2.
Can not use with '-d' or '--use-system-epsilon'.
--use-system-epsilon
- Print difference if (|a-b| > EPSILON), EPSILON is system defined value.
+ Print difference if (|a-b| > EPSILON), EPSILON is system defined value. Where a
+ is the data point value in file1 and b is the data point value in file2.
If the system epsilon is not defined,one of the following predefined
values will be used:
FLT_EPSILON = 1.19209E-07 for floating-point type
DBL_EPSILON = 2.22045E-16 for double precision type
Can not use with '-p' or '-d'.
- --exclude-path "path"
+ --exclude-path "path"
Exclude the specified path to an object when comparing files or groups.
If a group is excluded, all member objects will also be excluded.
The specified path is excluded wherever it occurs.
@@ -107,15 +110,15 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
common objects.
Object comparison:
- 1) Groups
+ 1) Groups
First compares the names of member objects (relative path, from the
specified group) and generates a report of objects that appear in only
one group or in both groups. Common objects are then compared recursively.
- 2) Datasets
+ 2) Datasets
Array rank and dimensions, datatypes, and data values are compared.
- 3) Datatypes
+ 3) Datatypes
The comparison is based on the return value of H5Tequal.
- 4) Symbolic links
+ 4) Symbolic links
The paths to the target objects are compared.
(The option --follow-symlinks overrides the default behavior when
symbolic links are compared.).
diff --git a/tools/test/h5diff/testfiles/h5diff_624.txt b/tools/test/h5diff/testfiles/h5diff_624.txt
index f5e7ee3..57a4ddd 100644
--- a/tools/test/h5diff/testfiles/h5diff_624.txt
+++ b/tools/test/h5diff/testfiles/h5diff_624.txt
@@ -1,5 +1,5 @@
<-n 0x1> is not a valid option
-usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
+usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
file1 File name of the first HDF5 file
file2 File name of the second HDF5 file
[obj1] Name of an HDF5 object, in absolute path
@@ -60,19 +60,22 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
-n C, --count=C
Print differences up to C. C must be a positive integer.
-d D, --delta=D
- Print difference if (|a-b| > D). D must be a positive number.
+ Print difference if (|a-b| > D). D must be a positive number. Where a
+ is the data point value in file1 and b is the data point value in file2.
Can not use with '-p' or '--use-system-epsilon'.
-p R, --relative=R
- Print difference if (|(a-b)/b| > R). R must be a positive number.
+ Print difference if (|(a-b)/b| > R). R must be a positive number. Where a
+ is the data point value in file1 and b is the data point value in file2.
Can not use with '-d' or '--use-system-epsilon'.
--use-system-epsilon
- Print difference if (|a-b| > EPSILON), EPSILON is system defined value.
+ Print difference if (|a-b| > EPSILON), EPSILON is system defined value. Where a
+ is the data point value in file1 and b is the data point value in file2.
If the system epsilon is not defined,one of the following predefined
values will be used:
FLT_EPSILON = 1.19209E-07 for floating-point type
DBL_EPSILON = 2.22045E-16 for double precision type
Can not use with '-p' or '-d'.
- --exclude-path "path"
+ --exclude-path "path"
Exclude the specified path to an object when comparing files or groups.
If a group is excluded, all member objects will also be excluded.
The specified path is excluded wherever it occurs.
@@ -107,15 +110,15 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[ obj2]]
common objects.
Object comparison:
- 1) Groups
+ 1) Groups
First compares the names of member objects (relative path, from the
specified group) and generates a report of objects that appear in only
one group or in both groups. Common objects are then compared recursively.
- 2) Datasets
+ 2) Datasets
Array rank and dimensions, datatypes, and data values are compared.
- 3) Datatypes
+ 3) Datatypes
The comparison is based on the return value of H5Tequal.
- 4) Symbolic links
+ 4) Symbolic links
The paths to the target objects are compared.
(The option --follow-symlinks overrides the default behavior when
symbolic links are compared.).
diff --git a/tools/test/h5diff/testfiles/h5diff_80.txt b/tools/test/h5diff/testfiles/h5diff_80.txt
index 5957d72..836e073 100644
--- a/tools/test/h5diff/testfiles/h5diff_80.txt
+++ b/tools/test/h5diff/testfiles/h5diff_80.txt
@@ -865,7 +865,7 @@ position vlen3D vlen3D difference
[ 3 2 1 ] 59 0 59
59 differences found
dataset: </refreg> and </refreg>
-Referenced dataset 10720 10720
+Referenced dataset 10784 10784
------------------------------------------------------------
Region blocks
block #0 (2,2)-(7,7) (0,0)-(2,2)
diff --git a/tools/test/h5diff/testfiles/h5diff_800.txt b/tools/test/h5diff/testfiles/h5diff_800.txt
new file mode 100644
index 0000000..e43e7b4
--- /dev/null
+++ b/tools/test/h5diff/testfiles/h5diff_800.txt
@@ -0,0 +1,12 @@
+dataset: </g1/array> and </g1/array>
+size: [2] [2]
+position array array difference
+------------------------------------------------------------
+[ 0 ] 1 0 1
+[ 0 ] 2 0 2
+[ 0 ] 3 0 3
+[ 1 ] 4 0 4
+[ 1 ] 5 0 5
+[ 1 ] 6 0 6
+6 differences found
+EXIT CODE: 1
diff --git a/tools/test/h5diff/testfiles/h5diff_801.txt b/tools/test/h5diff/testfiles/h5diff_801.txt
new file mode 100644
index 0000000..043e7e3
--- /dev/null
+++ b/tools/test/h5diff/testfiles/h5diff_801.txt
@@ -0,0 +1,13 @@
+dataset: </g1/array> and </g1/array>
+Warning: different storage datatype
+size: [2] [2]
+position array array difference
+------------------------------------------------------------
+[ 0 ] 1 0 1
+[ 0 ] 2 0 2
+[ 0 ] 3 0 3
+[ 1 ] 4 0 4
+[ 1 ] 5 0 5
+[ 1 ] 6 0 6
+6 differences found
+EXIT CODE: 1
diff --git a/tools/test/h5diff/testfiles/h5diff_dset1.h5 b/tools/test/h5diff/testfiles/h5diff_dset1.h5
index 123e141..fefd86a 100644
--- a/tools/test/h5diff/testfiles/h5diff_dset1.h5
+++ b/tools/test/h5diff/testfiles/h5diff_dset1.h5
Binary files differ
diff --git a/tools/test/h5diff/testfiles/h5diff_dset2.h5 b/tools/test/h5diff/testfiles/h5diff_dset2.h5
index 3ae6993..598e481 100644
--- a/tools/test/h5diff/testfiles/h5diff_dset2.h5
+++ b/tools/test/h5diff/testfiles/h5diff_dset2.h5
Binary files differ
diff --git a/tools/test/h5diff/testfiles/h5diff_dset3.h5 b/tools/test/h5diff/testfiles/h5diff_dset3.h5
new file mode 100644
index 0000000..893c135
--- /dev/null
+++ b/tools/test/h5diff/testfiles/h5diff_dset3.h5
Binary files differ
diff --git a/tools/test/h5diff/testh5diff.sh.in b/tools/test/h5diff/testh5diff.sh.in
index 1069ed5..d769c23 100644
--- a/tools/test/h5diff/testh5diff.sh.in
+++ b/tools/test/h5diff/testh5diff.sh.in
@@ -6,12 +6,10 @@
#
# This file is part of HDF5. The full HDF5 copyright notice, including
# terms governing use, modification, and redistribution, is contained in
-# the files COPYING and Copyright.html. COPYING can be found at the root
-# of the source code distribution tree; Copyright.html can be found at the
-# root level of an installed copy of the electronic HDF5 document set and
-# is linked from the top-level documents page. It can also be found at
-# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
-# access to either file, you may request a copy from help@hdfgroup.org.
+# the COPYING file, which can be found at the root of the source code
+# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
+# If you do not have access to either file, you may request a copy from
+# help@hdfgroup.org.
#
# Tests for the h5diff tool
#
@@ -504,6 +502,8 @@ TOOLTEST() {
# Create the expect file if it doesn't yet exist.
echo " CREATED"
cp $actual $expect
+ echo " Expected result (*.ddl) missing"
+ nerrors="`expr $nerrors + 1`"
elif $CMP $expect $actual; then
echo " PASSED"
elif test $h5haveexitcode = 'yes' -a -z "$pmode"; then
diff --git a/tools/test/h5diff/testph5diff.sh.in b/tools/test/h5diff/testph5diff.sh.in
index ca212a1..b726a80 100644
--- a/tools/test/h5diff/testph5diff.sh.in
+++ b/tools/test/h5diff/testph5diff.sh.in
@@ -6,12 +6,10 @@
#
# This file is part of HDF5. The full HDF5 copyright notice, including
# terms governing use, modification, and redistribution, is contained in
-# the files COPYING and Copyright.html. COPYING can be found at the root
-# of the source code distribution tree; Copyright.html can be found at the
-# root level of an installed copy of the electronic HDF5 document set and
-# is linked from the top-level documents page. It can also be found at
-# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
-# access to either file, you may request a copy from help@hdfgroup.org.
+# the COPYING file, which can be found at the root of the source code
+# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
+# If you do not have access to either file, you may request a copy from
+# help@hdfgroup.org.
#
srcdir=@srcdir@