summaryrefslogtreecommitdiffstats
path: root/tools/h5diff
diff options
context:
space:
mode:
authorAlbert Cheng <acheng@hdfgroup.org>2014-04-22 22:30:38 (GMT)
committerAlbert Cheng <acheng@hdfgroup.org>2014-04-22 22:30:38 (GMT)
commit7031b03ac83d4f4003ed0c214ea477fdd4b9d5a7 (patch)
tree5a77b108576caee81f942e3e0df07a58fb9d7168 /tools/h5diff
parent2fc0c50a9dee7aaf810c210068e702d54ec7a3b2 (diff)
downloadhdf5-7031b03ac83d4f4003ed0c214ea477fdd4b9d5a7.zip
hdf5-7031b03ac83d4f4003ed0c214ea477fdd4b9d5a7.tar.gz
hdf5-7031b03ac83d4f4003ed0c214ea477fdd4b9d5a7.tar.bz2
[svn-r25082] Bug HDFFV-8625, HDFFV-8639, HDFFV-8745:
h5diff issues "unable to read attribute" error message when comparing two files Description: h5diff did not handle attributes of variable length strings correctly. It created the wrong memory type if one but not both compared attributes are of the variable strings type. It ended in H5Aread() failure. Solution: We decided to treat the case when one type is variable length string and the other is not as incomparable. That bypassed the above error. We still need to figure out the proper way, if possible, to compare variable string with non-variable string types. Tested: h5committested plus tested in Swallow (OS X 10.8).
Diffstat (limited to 'tools/h5diff')
-rw-r--r--tools/h5diff/h5diff_common.c9
-rw-r--r--tools/h5diff/testfiles/h5diff_tmp1.txt5
-rw-r--r--tools/h5diff/testfiles/h5diff_tmp2.txt13
-rw-r--r--tools/h5diff/testfiles/tmpSingleSiteBethe.output.h5bin0 -> 124440 bytes
-rw-r--r--tools/h5diff/testfiles/tmpSingleSiteBethe.reference.h5bin0 -> 119464 bytes
-rw-r--r--tools/h5diff/testfiles/tmptest.he5bin0 -> 4740424 bytes
-rw-r--r--tools/h5diff/testfiles/tmptest2.he5bin0 -> 4734280 bytes
-rwxr-xr-xtools/h5diff/testh5diff.sh.in10
8 files changed, 36 insertions, 1 deletions
diff --git a/tools/h5diff/h5diff_common.c b/tools/h5diff/h5diff_common.c
index cf46e74..a371cc0 100644
--- a/tools/h5diff/h5diff_common.c
+++ b/tools/h5diff/h5diff_common.c
@@ -103,6 +103,13 @@ void parse_command_line(int argc,
/* NaNs are handled by default */
options->do_nans = 1;
+ /* not Listing objects that are not comparable */
+ options->m_list_not_cmp = 0;
+
+ /* initially no not-comparable. */
+ /**this is bad in mixing option with results**/
+ options->not_cmp=0;
+
/* init for exclude-path option */
exclude_head = NULL;
@@ -174,7 +181,7 @@ void parse_command_line(int argc,
options->exclude_path = 1;
/* create linked list of excluding objects */
- if( (exclude_node = (struct exclude_path_list*) malloc(sizeof(struct exclude_path_list))) == NULL)
+ if( (exclude_node = (struct exclude_path_list*) HDmalloc(sizeof(struct exclude_path_list))) == NULL)
{
printf("Error: lack of memory!\n");
h5diff_exit(EXIT_FAILURE);
diff --git a/tools/h5diff/testfiles/h5diff_tmp1.txt b/tools/h5diff/testfiles/h5diff_tmp1.txt
new file mode 100644
index 0000000..40e3fb6
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_tmp1.txt
@@ -0,0 +1,5 @@
+--------------------------------
+Some objects are not comparable
+--------------------------------
+Use -c for a list of objects.
+EXIT CODE: 0
diff --git a/tools/h5diff/testfiles/h5diff_tmp2.txt b/tools/h5diff/testfiles/h5diff_tmp2.txt
new file mode 100644
index 0000000..a2d6da6
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_tmp2.txt
@@ -0,0 +1,13 @@
+dataset: </G/down/Data> and </G/down/Data>
+1599 differences found
+dataset: </G/down/Tail/array> and </G/down/Tail/array>
+8 differences found
+dataset: </G/up/Data> and </G/up/Data>
+1845 differences found
+dataset: </G/up/Tail/array> and </G/up/Tail/array>
+10 differences found
+--------------------------------
+Some objects are not comparable
+--------------------------------
+Use -c for a list of objects.
+EXIT CODE: 1
diff --git a/tools/h5diff/testfiles/tmpSingleSiteBethe.output.h5 b/tools/h5diff/testfiles/tmpSingleSiteBethe.output.h5
new file mode 100644
index 0000000..bbcfb63
--- /dev/null
+++ b/tools/h5diff/testfiles/tmpSingleSiteBethe.output.h5
Binary files differ
diff --git a/tools/h5diff/testfiles/tmpSingleSiteBethe.reference.h5 b/tools/h5diff/testfiles/tmpSingleSiteBethe.reference.h5
new file mode 100644
index 0000000..6b19ed7
--- /dev/null
+++ b/tools/h5diff/testfiles/tmpSingleSiteBethe.reference.h5
Binary files differ
diff --git a/tools/h5diff/testfiles/tmptest.he5 b/tools/h5diff/testfiles/tmptest.he5
new file mode 100644
index 0000000..edcfcd2
--- /dev/null
+++ b/tools/h5diff/testfiles/tmptest.he5
Binary files differ
diff --git a/tools/h5diff/testfiles/tmptest2.he5 b/tools/h5diff/testfiles/tmptest2.he5
new file mode 100644
index 0000000..a6ab02b
--- /dev/null
+++ b/tools/h5diff/testfiles/tmptest2.he5
Binary files differ
diff --git a/tools/h5diff/testh5diff.sh.in b/tools/h5diff/testh5diff.sh.in
index 549da49..ee8a09b 100755
--- a/tools/h5diff/testh5diff.sh.in
+++ b/tools/h5diff/testh5diff.sh.in
@@ -302,6 +302,12 @@ $SRC_H5DIFF_TESTFILES/h5diff_709.txt
$SRC_H5DIFF_TESTFILES/h5diff_710.txt
$SRC_H5DIFF_TESTFILES/h5diff_80.txt
$SRC_H5DIFF_TESTFILES/h5diff_90.txt
+$SRC_H5DIFF_TESTFILES/h5diff_tmp1.txt
+$SRC_H5DIFF_TESTFILES/h5diff_tmp2.txt
+$SRC_H5DIFF_TESTFILES/tmptest.he5
+$SRC_H5DIFF_TESTFILES/tmptest2.he5
+$SRC_H5DIFF_TESTFILES/tmpSingleSiteBethe.reference.h5
+$SRC_H5DIFF_TESTFILES/tmpSingleSiteBethe.output.h5
"
#
@@ -757,6 +763,10 @@ TOOLTEST h5diff_631.txt -v --use-system-epsilon h5diff_basic1.h5 h5diff_basic1.h
# 7. attributes
# ##############################################################################
TOOLTEST h5diff_70.txt -v h5diff_attr1.h5 h5diff_attr2.h5
+# temporary test to verify HDF5-8625
+TOOLTEST h5diff_tmp1.txt tmptest2.he5 tmptest.he5
+# temporary test to verify HDF5-8639
+TOOLTEST h5diff_tmp2.txt tmpSingleSiteBethe.output.h5 tmpSingleSiteBethe.reference.h5
# ##################################################
# attrs with verbose option level