summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPedro Vicente Nunes <pvn@hdfgroup.org>2006-09-25 15:49:26 (GMT)
committerPedro Vicente Nunes <pvn@hdfgroup.org>2006-09-25 15:49:26 (GMT)
commitc439d91f811d91df590996cff2d3162c541bb1cf (patch)
tree2f4d529d110b2cb54bacc823795a38a5fa8bd137
parentafcf6b7608a2468a6d5b01bad23d427312cf45ae (diff)
downloadhdf5-c439d91f811d91df590996cff2d3162c541bb1cf.zip
hdf5-c439d91f811d91df590996cff2d3162c541bb1cf.tar.gz
hdf5-c439d91f811d91df590996cff2d3162c541bb1cf.tar.bz2
[svn-r12678] bug fix
the number of atribute differences was not added to the total sum of differences
-rw-r--r--tools/h5diff/h5diff_common.c4
-rw-r--r--tools/h5diff/h5diff_common.h2
-rw-r--r--tools/h5diff/h5diff_main.c2
-rw-r--r--tools/h5diff/ph5diff_main.c4
-rw-r--r--tools/lib/h5diff.c4
-rw-r--r--tools/lib/h5diff.h13
-rw-r--r--tools/lib/h5diff_attr.c345
-rw-r--r--tools/lib/h5diff_dset.c2
-rw-r--r--tools/testfiles/h5diff_11.txt1
-rw-r--r--tools/testfiles/h5diff_12.txt1
-rw-r--r--tools/testfiles/h5diff_13.txt1
-rw-r--r--tools/testfiles/h5diff_14.txt1
-rw-r--r--tools/testfiles/h5diff_15.txt1
-rw-r--r--tools/testfiles/h5diff_16.txt1
-rw-r--r--tools/testfiles/h5diff_17.txt1
-rw-r--r--tools/testfiles/h5diff_191.txt1
-rw-r--r--tools/testfiles/h5diff_192.txt1
-rw-r--r--tools/testfiles/h5diff_20.txt1
-rw-r--r--tools/testfiles/h5diff_21.txt1
-rw-r--r--tools/testfiles/h5diff_22.txt1
-rw-r--r--tools/testfiles/h5diff_23.txt1
-rw-r--r--tools/testfiles/h5diff_24.txt1
-rw-r--r--tools/testfiles/h5diff_25.txt1
-rw-r--r--tools/testfiles/h5diff_26.txt1
-rw-r--r--tools/testfiles/h5diff_27.txt1
-rw-r--r--tools/testfiles/h5diff_28.txt1
-rw-r--r--tools/testfiles/h5diff_50.txt1
-rw-r--r--tools/testfiles/h5diff_51.txt1
-rw-r--r--tools/testfiles/h5diff_52.txt1
-rw-r--r--tools/testfiles/h5diff_53.txt1
-rw-r--r--tools/testfiles/h5diff_54.txt1
-rw-r--r--tools/testfiles/h5diff_55.txt1
-rw-r--r--tools/testfiles/h5diff_56.txt1
-rw-r--r--tools/testfiles/h5diff_57.txt1
-rw-r--r--tools/testfiles/h5diff_58.txt1
-rw-r--r--tools/testfiles/h5diff_607.txt1
-rw-r--r--tools/testfiles/h5diff_608.txt1
-rw-r--r--tools/testfiles/h5diff_609.txt1
-rw-r--r--tools/testfiles/h5diff_610.txt1
-rw-r--r--tools/testfiles/h5diff_616.txt1
-rw-r--r--tools/testfiles/h5diff_617.txt1
-rw-r--r--tools/testfiles/h5diff_618.txt1
-rw-r--r--tools/testfiles/h5diff_619.txt1
-rw-r--r--tools/testfiles/h5diff_625.txt1
-rw-r--r--tools/testfiles/h5diff_626.txt1
-rw-r--r--tools/testfiles/h5diff_627.txt1
-rw-r--r--tools/testfiles/h5diff_628.txt1
-rw-r--r--tools/testfiles/h5diff_70.txt1
-rw-r--r--tools/testfiles/h5diff_80.txt1
-rw-r--r--tools/testfiles/h5diff_90.txt1
50 files changed, 236 insertions, 182 deletions
diff --git a/tools/h5diff/h5diff_common.c b/tools/h5diff/h5diff_common.c
index 9ac4d56..c822d42 100644
--- a/tools/h5diff/h5diff_common.c
+++ b/tools/h5diff/h5diff_common.c
@@ -181,7 +181,7 @@ void parse_input(int argc, const char* argv[], const char** fname1, const char**
*-------------------------------------------------------------------------
*/
-void print_results(diff_opt_t* options)
+void print_results(diff_opt_t* options, hsize_t nfound)
{
if (options->m_quiet || options->err_stat)
return;
@@ -202,6 +202,8 @@ void print_results(diff_opt_t* options)
printf("Use -v for a list of objects.\n");
}
+ print_found(nfound);
+
}
/*-------------------------------------------------------------------------
diff --git a/tools/h5diff/h5diff_common.h b/tools/h5diff/h5diff_common.h
index 31b1b29..1d0280e 100644
--- a/tools/h5diff/h5diff_common.h
+++ b/tools/h5diff/h5diff_common.h
@@ -20,5 +20,5 @@ int check_n_input( const char* );
int check_f_input( const char* );
void parse_input(int argc, const char* argv[], const char** fname1, const char** fname2, const char** objname1, const char** objname2, diff_opt_t* options);
void h5diff_exit(int status);
-void print_results(diff_opt_t* options);
+void print_results(diff_opt_t* options, hsize_t nfound);
diff --git a/tools/h5diff/h5diff_main.c b/tools/h5diff/h5diff_main.c
index 454a033..95eecf4 100644
--- a/tools/h5diff/h5diff_main.c
+++ b/tools/h5diff/h5diff_main.c
@@ -63,7 +63,7 @@ int main(int argc, const char *argv[])
nfound = h5diff(fname1,fname2,objname1,objname2,&options);
- print_results(&options);
+ print_results(&options,nfound);
/*-------------------------------------------------------------------------
* exit code
diff --git a/tools/h5diff/ph5diff_main.c b/tools/h5diff/ph5diff_main.c
index bb4cd1a..d652ccd 100644
--- a/tools/h5diff/ph5diff_main.c
+++ b/tools/h5diff/ph5diff_main.c
@@ -79,7 +79,7 @@ int main(int argc, const char *argv[])
nfound = h5diff(fname1,fname2,objname1,objname2,&options);
- print_results(&options);
+ print_results(&options,nfound);
MPI_Finalize();
@@ -95,7 +95,7 @@ int main(int argc, const char *argv[])
MPI_Barrier(MPI_COMM_WORLD);
- print_results(&options);
+ print_results(&options,nfound);
print_manager_output();
MPI_Finalize();
diff --git a/tools/lib/h5diff.c b/tools/lib/h5diff.c
index 4fed814..c8d5e1f 100644
--- a/tools/lib/h5diff.c
+++ b/tools/lib/h5diff.c
@@ -982,7 +982,7 @@ hsize_t diff (hid_t file1_id,
*-------------------------------------------------------------------------
*/
if (path1)
- diff_attr (type1_id, type2_id, path1, path2, options);
+ nfound += diff_attr (type1_id, type2_id, path1, path2, options);
if (H5Tclose (type1_id) < 0)
goto out;
@@ -1019,7 +1019,7 @@ hsize_t diff (hid_t file1_id,
*-------------------------------------------------------------------------
*/
if (path1)
- diff_attr (grp1_id, grp2_id, path1, path2, options);
+ nfound += diff_attr (grp1_id, grp2_id, path1, path2, options);
if (H5Gclose (grp1_id) < 0)
goto out;
diff --git a/tools/lib/h5diff.h b/tools/lib/h5diff.h
index 7320a63..a01684d 100644
--- a/tools/lib/h5diff.h
+++ b/tools/lib/h5diff.h
@@ -138,12 +138,13 @@ int diff_can_type( hid_t f_type1, /* file data type */
diff_opt_t *options );
-int diff_attr(hid_t loc1_id,
- hid_t loc2_id,
- const char *path1,
- const char *path2,
- diff_opt_t *options
- );
+hsize_t
+diff_attr(hid_t loc1_id,
+ hid_t loc2_id,
+ const char *path1,
+ const char *path2,
+ diff_opt_t *options
+ );
/*-------------------------------------------------------------------------
diff --git a/tools/lib/h5diff_attr.c b/tools/lib/h5diff_attr.c
index 785b345..222775e 100644
--- a/tools/lib/h5diff_attr.c
+++ b/tools/lib/h5diff_attr.c
@@ -16,6 +16,7 @@
#include "h5diff.h"
#include "H5private.h"
+
/*-------------------------------------------------------------------------
* Function: diff_attr
*
@@ -26,8 +27,7 @@
* loc_id = H5Topen( fid, name);
*
* Return:
- * 0 : no differences found
- * 1 : differences found
+ * number of differences found
*
* Programmer: Pedro Vicente, pvn@ncsa.uiuc.edu
*
@@ -36,20 +36,22 @@
*-------------------------------------------------------------------------
*/
-int diff_attr(hid_t loc1_id,
- hid_t loc2_id,
- const char *path1,
- const char *path2,
- diff_opt_t *options)
+hsize_t
+diff_attr(hid_t loc1_id,
+ hid_t loc2_id,
+ const char *path1,
+ const char *path2,
+ diff_opt_t *options
+ )
{
- hid_t attr1_id=-1; /* attr ID */
- hid_t attr2_id=-1; /* attr ID */
- hid_t space1_id=-1; /* space ID */
- hid_t space2_id=-1; /* space ID */
- hid_t ftype1_id=-1; /* file data type ID */
- hid_t ftype2_id=-1; /* file data type ID */
- hid_t mtype1_id=-1; /* memory data type ID */
- hid_t mtype2_id=-1; /* memory data type ID */
+ hid_t attr1_id; /* attr ID */
+ hid_t attr2_id; /* attr ID */
+ hid_t space1_id; /* space ID */
+ hid_t space2_id; /* space ID */
+ hid_t ftype1_id; /* file data type ID */
+ hid_t ftype2_id; /* file data type ID */
+ hid_t mtype1_id; /* memory data type ID */
+ hid_t mtype2_id; /* memory data type ID */
size_t msize1; /* memory size of memory type */
size_t msize2; /* memory size of memory type */
void *buf1=NULL; /* data buffer */
@@ -64,8 +66,7 @@ int diff_attr(hid_t loc1_id,
char np1[512];
char np2[512];
int n1, n2, i, j;
- int ret=0;
- hsize_t nfound;
+ hsize_t found, nfound=0;
int cmp=1;
if ((n1 = H5Aget_num_attrs(loc1_id))<0)
@@ -74,18 +75,19 @@ int diff_attr(hid_t loc1_id,
goto error;
if (n1!=n2)
- return 1;
+ return nfound;
for ( i = 0; i < n1; i++)
{
+
/* reset buffers for every attribute, we might goto out and call free */
buf1=NULL;
buf2=NULL;
- /*-------------------------------------------------------------------------
- * open
- *-------------------------------------------------------------------------
- */
+/*-------------------------------------------------------------------------
+ * open
+ *-------------------------------------------------------------------------
+ */
/* open attribute */
if ((attr1_id = H5Aopen_idx(loc1_id, (unsigned)i))<0)
goto error;
@@ -102,11 +104,10 @@ int diff_attr(hid_t loc1_id,
{
if (options->m_verbose)
{
- parallel_print("Different name for attributes: <%s> and <%s>\n", name1, name2);
+ printf("Different name for attributes: <%s> and <%s>\n", name1, name2);
}
H5Aclose(attr1_id);
H5Aclose(attr2_id);
- ret=1;
continue;
}
@@ -128,168 +129,176 @@ int diff_attr(hid_t loc1_id,
if ( (rank2 = H5Sget_simple_extent_dims(space2_id, dims2, NULL)) < 0 )
goto error;
- /*-------------------------------------------------------------------------
- * check for comparable TYPE and SPACE
- *-------------------------------------------------------------------------
- */
-
- if (diff_can_type(ftype1_id,
- ftype2_id,
- rank1,
- rank2,
- dims1,
- dims2,
- NULL,
- NULL,
- name1,
- name2,
- options)!=1)
- {
- cmp=0;
- options->not_cmp=1;
- }
- /*-------------------------------------------------------------------------
- * only attempt to compare if possible
- *-------------------------------------------------------------------------
- */
- if (cmp)
- {
- /*-------------------------------------------------------------------------
- * read to memory
- *-------------------------------------------------------------------------
- */
- nelmts1=1;
- for (j=0; j<rank1; j++)
- nelmts1*=dims1[j];
+/*-------------------------------------------------------------------------
+ * check for comparable TYPE and SPACE
+ *-------------------------------------------------------------------------
+ */
- if ((mtype1_id=h5tools_get_native_type(ftype1_id))<0)
- goto error;
+ if (diff_can_type(ftype1_id,
+ ftype2_id,
+ rank1,
+ rank2,
+ dims1,
+ dims2,
+ NULL,
+ NULL,
+ name1,
+ name2,
+ options)!=1)
+ {
+ cmp=0;
+ options->not_cmp=1;
+ }
- if ((mtype2_id=h5tools_get_native_type(ftype2_id))<0)
- goto error;
- if ((msize1=H5Tget_size(mtype1_id))==0)
- goto error;
- if ((msize2=H5Tget_size(mtype2_id))==0)
- goto error;
+/*-------------------------------------------------------------------------
+ * only attempt to compare if possible
+ *-------------------------------------------------------------------------
+ */
+ if (cmp)
+ {
- assert(msize1==msize2);
+/*-------------------------------------------------------------------------
+ * read to memory
+ *-------------------------------------------------------------------------
+ */
+ nelmts1=1;
+ for (j=0; j<rank1; j++)
+ nelmts1*=dims1[j];
- buf1=(void *) HDmalloc((unsigned)(nelmts1*msize1));
- buf2=(void *) HDmalloc((unsigned)(nelmts1*msize2));
- if ( buf1==NULL || buf2==NULL){
- parallel_print( "cannot read into memory\n" );
+ if ((mtype1_id=h5tools_get_native_type(ftype1_id))<0)
goto error;
- }
- if (H5Aread(attr1_id,mtype1_id,buf1)<0)
- goto error;
- if (H5Aread(attr2_id,mtype2_id,buf2)<0)
+
+ if ((mtype2_id=h5tools_get_native_type(ftype2_id))<0)
goto error;
- /* format output string */
- sprintf(np1,"%s of <%s>",name1,path1);
- sprintf(np2,"%s of <%s>",name2,path2);
+ if ((msize1=H5Tget_size(mtype1_id))==0)
+ goto error;
+ if ((msize2=H5Tget_size(mtype2_id))==0)
+ goto error;
- /*-------------------------------------------------------------------------
- * array compare
- *-------------------------------------------------------------------------
- */
+ assert(msize1==msize2);
- /* always print name */
- if (options->m_verbose)
- {
- parallel_print( "Attribute: <%s> and <%s>\n",np1,np2);
- nfound = diff_array(buf1,
- buf2,
- nelmts1,
- rank1,
- dims1,
- options,
- np1,
- np2,
- mtype1_id,
- attr1_id,
- attr2_id);
- print_found(nfound);
+ buf1=(void *) HDmalloc((unsigned)(nelmts1*msize1));
+ buf2=(void *) HDmalloc((unsigned)(nelmts1*msize2));
+ if ( buf1==NULL || buf2==NULL){
+ printf( "cannot read into memory\n" );
+ goto error;
+ }
+ if (H5Aread(attr1_id,mtype1_id,buf1)<0)
+ goto error;
+ if (H5Aread(attr2_id,mtype2_id,buf2)<0)
+ goto error;
- }
- /* check first if we have differences */
- else
+
+ /* format output string */
+ sprintf(np1,"%s of <%s>",name1,path1);
+ sprintf(np2,"%s of <%s>",name2,path2);
+
+/*-------------------------------------------------------------------------
+ * array compare
+ *-------------------------------------------------------------------------
+ */
+
+ /* always print name */
+ if (options->m_verbose)
+ {
+ printf( "Attribute: <%s> and <%s>\n",np1,np2);
+ found = diff_array(buf1,
+ buf2,
+ nelmts1,
+ rank1,
+ dims1,
+ options,
+ np1,
+ np2,
+ mtype1_id,
+ attr1_id,
+ attr2_id);
+ print_found(found);
+ nfound += found;
+
+ }
+ /* check first if we have differences */
+ else
+ {
+ if (options->m_quiet==0)
+ {
+ /* shut up temporarily */
+ options->m_quiet=1;
+ found = diff_array(buf1,
+ buf2,
+ nelmts1,
+ rank1,
+ dims1,
+ options,
+ np1,
+ np2,
+ mtype1_id,
+ attr1_id,
+ attr2_id);
+ /* print again */
+ options->m_quiet=0;
+ if (found)
{
- if (options->m_quiet==0)
- {
- /* shut up temporarily */
- options->m_quiet=1;
- nfound = diff_array(buf1,
- buf2,
- nelmts1,
- rank1,
- dims1,
- options,
- np1,
- np2,
- mtype1_id,
- attr1_id,
- attr2_id);
- /* print again */
- options->m_quiet=0;
- if (nfound)
- {
- parallel_print( "Attribute: <%s> and <%s>\n",np1,np2);
- nfound = diff_array(buf1,
- buf2,
- nelmts1,
- rank1,
- dims1,
- options,
- np1,
- np2,
- mtype1_id,
- attr1_id,
- attr2_id);
- print_found(nfound);
- } /*if*/
- } /*if*/
- /* in quiet mode, just count differences */
- else
- {
- nfound = diff_array(buf1,
- buf2,
- nelmts1,
- rank1,
- dims1,
- options,
- np1,
- np2,
- mtype1_id,
- attr1_id,
- attr2_id);
- } /*else quiet */
- } /*else verbose */
+ printf( "Attribute: <%s> and <%s>\n",np1,np2);
+ found = diff_array(buf1,
+ buf2,
+ nelmts1,
+ rank1,
+ dims1,
+ options,
+ np1,
+ np2,
+ mtype1_id,
+ attr1_id,
+ attr2_id);
+ print_found(found);
+ nfound += found;
+ } /*if*/
+ } /*if*/
+ /* in quiet mode, just count differences */
+ else
+ {
+ found = diff_array(buf1,
+ buf2,
+ nelmts1,
+ rank1,
+ dims1,
+ options,
+ np1,
+ np2,
+ mtype1_id,
+ attr1_id,
+ attr2_id);
+ nfound += found;
+ } /*else quiet */
+ } /*else verbose */
}/*cmp*/
- /*-------------------------------------------------------------------------
- * close
- *-------------------------------------------------------------------------
- */
- if (H5Tclose(ftype1_id)<0) goto error;
- if (H5Tclose(ftype2_id)<0) goto error;
- if (H5Tclose(mtype1_id)<0) goto error;
- if (H5Tclose(mtype2_id)<0) goto error;
- if (H5Sclose(space1_id)<0) goto error;
- if (H5Sclose(space2_id)<0) goto error;
- if (H5Aclose(attr1_id)<0) goto error;
- if (H5Aclose(attr2_id)<0) goto error;
- if (buf1)
- HDfree(buf1);
- if (buf2)
- HDfree(buf2);
+/*-------------------------------------------------------------------------
+ * close
+ *-------------------------------------------------------------------------
+ */
+
+ if (H5Tclose(ftype1_id)<0) goto error;
+ if (H5Tclose(ftype2_id)<0) goto error;
+ if (H5Tclose(mtype1_id)<0) goto error;
+ if (H5Tclose(mtype2_id)<0) goto error;
+ if (H5Sclose(space1_id)<0) goto error;
+ if (H5Sclose(space2_id)<0) goto error;
+ if (H5Aclose(attr1_id)<0) goto error;
+ if (H5Aclose(attr2_id)<0) goto error;
+ if (buf1)
+ HDfree(buf1);
+ if (buf2)
+ HDfree(buf2);
} /* i */
- return ret;
+ return nfound;
error:
H5E_BEGIN_TRY {
@@ -308,7 +317,7 @@ error:
} H5E_END_TRY;
options->err_stat=1;
- return 0;
+ return nfound;
}
diff --git a/tools/lib/h5diff_dset.c b/tools/lib/h5diff_dset.c
index 012552f..a11f06d 100644
--- a/tools/lib/h5diff_dset.c
+++ b/tools/lib/h5diff_dset.c
@@ -438,7 +438,7 @@ hsize_t diff_datasetid( hid_t did1,
*/
if (obj1_name)
- diff_attr(did1,did2,obj1_name,obj2_name,options);
+ nfound += diff_attr(did1,did2,obj1_name,obj2_name,options);
}/*cmp*/
diff --git a/tools/testfiles/h5diff_11.txt b/tools/testfiles/h5diff_11.txt
index 056e486..0a89121 100644
--- a/tools/testfiles/h5diff_11.txt
+++ b/tools/testfiles/h5diff_11.txt
@@ -3,3 +3,4 @@ Expected output for 'h5diff file1.h5 file2.h5'
#############################
Dataset: </g1/dset1> and </g1/dset1>
4 differences found
+4 differences found
diff --git a/tools/testfiles/h5diff_12.txt b/tools/testfiles/h5diff_12.txt
index d4605b2..b0c3aff 100644
--- a/tools/testfiles/h5diff_12.txt
+++ b/tools/testfiles/h5diff_12.txt
@@ -3,3 +3,4 @@ Expected output for 'h5diff file1.h5 file2.h5 g1/dset1 g1/dset2'
#############################
Dataset: </g1/dset1> and </g1/dset2>
4 differences found
+4 differences found
diff --git a/tools/testfiles/h5diff_13.txt b/tools/testfiles/h5diff_13.txt
index 53f44c1..1299512 100644
--- a/tools/testfiles/h5diff_13.txt
+++ b/tools/testfiles/h5diff_13.txt
@@ -9,3 +9,4 @@ position dset1 dset1 difference
[ 1 1 ] 1.000000 1.001000 0.001000
[ 2 0 ] 1.000000 1.000100 0.000100
4 differences found
+4 differences found
diff --git a/tools/testfiles/h5diff_14.txt b/tools/testfiles/h5diff_14.txt
index 15e4dee..95d0896 100644
--- a/tools/testfiles/h5diff_14.txt
+++ b/tools/testfiles/h5diff_14.txt
@@ -9,3 +9,4 @@ position dset1 dset2 difference
[ 1 1 ] 1.000000 1.001000 0.001000
[ 2 0 ] 1.000000 1.000100 0.000100
4 differences found
+4 differences found
diff --git a/tools/testfiles/h5diff_15.txt b/tools/testfiles/h5diff_15.txt
index 47789c4..d4394fa 100644
--- a/tools/testfiles/h5diff_15.txt
+++ b/tools/testfiles/h5diff_15.txt
@@ -11,3 +11,4 @@ position dset3 dset4 difference
[ 2 0 ] 100.000000 140.000000 40.000000
[ 2 1 ] 100.000000 200.000000 100.000000
6 differences found
+6 differences found
diff --git a/tools/testfiles/h5diff_16.txt b/tools/testfiles/h5diff_16.txt
index 5bff6fb..62d065f 100644
--- a/tools/testfiles/h5diff_16.txt
+++ b/tools/testfiles/h5diff_16.txt
@@ -11,3 +11,4 @@ position dset3 dset4 difference relative
[ 2 0 ] 100 140 40 0.4
[ 2 1 ] 100 200 100 1
6 differences found
+6 differences found
diff --git a/tools/testfiles/h5diff_17.txt b/tools/testfiles/h5diff_17.txt
index 5445e97..68106b3 100644
--- a/tools/testfiles/h5diff_17.txt
+++ b/tools/testfiles/h5diff_17.txt
@@ -27,3 +27,4 @@ position dset1 dset1 difference
4 differences found
Group: </> and </>
0 differences found
+4 differences found
diff --git a/tools/testfiles/h5diff_191.txt b/tools/testfiles/h5diff_191.txt
index cc349dc..d121265 100644
--- a/tools/testfiles/h5diff_191.txt
+++ b/tools/testfiles/h5diff_191.txt
@@ -9,3 +9,4 @@ position dset5 dset6 difference relative
[ 2 0 ] 100 150 50 0.500000
[ 2 1 ] 100 200 100 1.000000
4 differences found
+4 differences found
diff --git a/tools/testfiles/h5diff_192.txt b/tools/testfiles/h5diff_192.txt
index 9e44bd0..82403bd 100644
--- a/tools/testfiles/h5diff_192.txt
+++ b/tools/testfiles/h5diff_192.txt
@@ -9,3 +9,4 @@ position dset7 dset8 difference relative
[ 2 0 ] 100 150 50 0.500000
[ 2 1 ] 100 200 100 1.000000
4 differences found
+4 differences found
diff --git a/tools/testfiles/h5diff_20.txt b/tools/testfiles/h5diff_20.txt
index fbc5774..714f1ca 100644
--- a/tools/testfiles/h5diff_20.txt
+++ b/tools/testfiles/h5diff_20.txt
@@ -5,3 +5,4 @@ Comparison not possible: </dset> is of type H5G_DATASET and </g1> is of type H5G
--------------------------------
Some objects are not comparable
--------------------------------
+0 differences found
diff --git a/tools/testfiles/h5diff_21.txt b/tools/testfiles/h5diff_21.txt
index a6bb3c8..8d8c07f 100644
--- a/tools/testfiles/h5diff_21.txt
+++ b/tools/testfiles/h5diff_21.txt
@@ -5,3 +5,4 @@ Comparison not possible: </dset> is of type H5G_DATASET and </l1> is of type H5G
--------------------------------
Some objects are not comparable
--------------------------------
+0 differences found
diff --git a/tools/testfiles/h5diff_22.txt b/tools/testfiles/h5diff_22.txt
index 3fea287..c5c9408 100644
--- a/tools/testfiles/h5diff_22.txt
+++ b/tools/testfiles/h5diff_22.txt
@@ -5,3 +5,4 @@ Comparison not possible: </dset> is of type H5G_DATASET and </t1> is of type H5G
--------------------------------
Some objects are not comparable
--------------------------------
+0 differences found
diff --git a/tools/testfiles/h5diff_23.txt b/tools/testfiles/h5diff_23.txt
index 684b8fd..ae659f6 100644
--- a/tools/testfiles/h5diff_23.txt
+++ b/tools/testfiles/h5diff_23.txt
@@ -3,3 +3,4 @@ Expected output for 'h5diff file3.h5 file3.h5 -v g1 g1'
#############################
Group: </g1> and </g1>
0 differences found
+0 differences found
diff --git a/tools/testfiles/h5diff_24.txt b/tools/testfiles/h5diff_24.txt
index 228d2a0..b6bdd01 100644
--- a/tools/testfiles/h5diff_24.txt
+++ b/tools/testfiles/h5diff_24.txt
@@ -3,3 +3,4 @@ Expected output for 'h5diff file3.h5 file3.h5 -v t1 t1'
#############################
Datatype: </t1> and </t1>
0 differences found
+0 differences found
diff --git a/tools/testfiles/h5diff_25.txt b/tools/testfiles/h5diff_25.txt
index a2e31a3..ec1001c 100644
--- a/tools/testfiles/h5diff_25.txt
+++ b/tools/testfiles/h5diff_25.txt
@@ -3,3 +3,4 @@ Expected output for 'h5diff file3.h5 file3.h5 -v l1 l1'
#############################
Soft Link: </l1> and </l1>
0 differences found
+0 differences found
diff --git a/tools/testfiles/h5diff_26.txt b/tools/testfiles/h5diff_26.txt
index 318f057..1c6a154 100644
--- a/tools/testfiles/h5diff_26.txt
+++ b/tools/testfiles/h5diff_26.txt
@@ -3,3 +3,4 @@ Expected output for 'h5diff file3.h5 file3.h5 -v g1 g2'
#############################
Group: </g1> and </g2>
1 differences found
+1 differences found
diff --git a/tools/testfiles/h5diff_27.txt b/tools/testfiles/h5diff_27.txt
index 8243396..9fa2d20 100644
--- a/tools/testfiles/h5diff_27.txt
+++ b/tools/testfiles/h5diff_27.txt
@@ -3,3 +3,4 @@ Expected output for 'h5diff file3.h5 file3.h5 -v t1 t2'
#############################
Datatype: </t1> and </t2>
1 differences found
+1 differences found
diff --git a/tools/testfiles/h5diff_28.txt b/tools/testfiles/h5diff_28.txt
index e662b52..c530e04 100644
--- a/tools/testfiles/h5diff_28.txt
+++ b/tools/testfiles/h5diff_28.txt
@@ -3,3 +3,4 @@ Expected output for 'h5diff file3.h5 file3.h5 -v l1 l2'
#############################
Soft Link: </l1> and </l2>
1 differences found
+1 differences found
diff --git a/tools/testfiles/h5diff_50.txt b/tools/testfiles/h5diff_50.txt
index 045f795..d21a800 100644
--- a/tools/testfiles/h5diff_50.txt
+++ b/tools/testfiles/h5diff_50.txt
@@ -12,3 +12,4 @@ position dset0a dset0b difference
[ 2 0 ] 1 5 4
[ 2 1 ] 1 6 5
4 differences found
+4 differences found
diff --git a/tools/testfiles/h5diff_51.txt b/tools/testfiles/h5diff_51.txt
index d63f7da..8e3b972 100644
--- a/tools/testfiles/h5diff_51.txt
+++ b/tools/testfiles/h5diff_51.txt
@@ -9,3 +9,4 @@ position dset1a dset1b difference
[ 2 0 ] 1 5 4
[ 2 1 ] 1 6 5
4 differences found
+4 differences found
diff --git a/tools/testfiles/h5diff_52.txt b/tools/testfiles/h5diff_52.txt
index 2742164..4024b64 100644
--- a/tools/testfiles/h5diff_52.txt
+++ b/tools/testfiles/h5diff_52.txt
@@ -9,3 +9,4 @@ position dset2a dset2b difference
[ 2 0 ] 1 5 4
[ 2 1 ] 1 6 5
4 differences found
+4 differences found
diff --git a/tools/testfiles/h5diff_53.txt b/tools/testfiles/h5diff_53.txt
index 814ae9a..b2a9262 100644
--- a/tools/testfiles/h5diff_53.txt
+++ b/tools/testfiles/h5diff_53.txt
@@ -9,3 +9,4 @@ position dset3a dset4b difference
[ 2 0 ] 1 5 4
[ 2 1 ] 1 6 5
4 differences found
+4 differences found
diff --git a/tools/testfiles/h5diff_54.txt b/tools/testfiles/h5diff_54.txt
index 65074cf..965d17b 100644
--- a/tools/testfiles/h5diff_54.txt
+++ b/tools/testfiles/h5diff_54.txt
@@ -9,3 +9,4 @@ position dset4a dset4b difference
[ 2 0 ] 1 5 4
[ 2 1 ] 1 6 5
4 differences found
+4 differences found
diff --git a/tools/testfiles/h5diff_55.txt b/tools/testfiles/h5diff_55.txt
index ba97356..7630854 100644
--- a/tools/testfiles/h5diff_55.txt
+++ b/tools/testfiles/h5diff_55.txt
@@ -9,3 +9,4 @@ position dset5a dset5b difference
[ 2 0 ] 1.000000 5.000000 4.000000
[ 2 1 ] 1.000000 6.000000 5.000000
4 differences found
+4 differences found
diff --git a/tools/testfiles/h5diff_56.txt b/tools/testfiles/h5diff_56.txt
index 1a00da1..1c77123 100644
--- a/tools/testfiles/h5diff_56.txt
+++ b/tools/testfiles/h5diff_56.txt
@@ -9,3 +9,4 @@ position dset6a dset6b difference
[ 2 0 ] 1.000000 5.000000 4.000000
[ 2 1 ] 1.000000 6.000000 5.000000
4 differences found
+4 differences found
diff --git a/tools/testfiles/h5diff_57.txt b/tools/testfiles/h5diff_57.txt
index 0fd7843..e571a77 100644
--- a/tools/testfiles/h5diff_57.txt
+++ b/tools/testfiles/h5diff_57.txt
@@ -10,3 +10,4 @@ Comparison not supported: </dset7a> has sign H5T_SGN_2 and </dset7b> has sign H5
--------------------------------
Some objects are not comparable
--------------------------------
+0 differences found
diff --git a/tools/testfiles/h5diff_58.txt b/tools/testfiles/h5diff_58.txt
index 2ef832a..ae36b08 100644
--- a/tools/testfiles/h5diff_58.txt
+++ b/tools/testfiles/h5diff_58.txt
@@ -11,3 +11,4 @@ point #1 (2,2) (3,3)
point #3 (1,6) (2,5)
point #4 (2,8) (1,7)
4 differences found
+4 differences found
diff --git a/tools/testfiles/h5diff_607.txt b/tools/testfiles/h5diff_607.txt
index fa296f7..0f88a19 100644
--- a/tools/testfiles/h5diff_607.txt
+++ b/tools/testfiles/h5diff_607.txt
@@ -3,3 +3,4 @@ Expected output for 'h5diff file1.h5 file2.h5 -d 1 g1/dset3 g1/dset4'
#############################
Dataset: </g1/dset3> and </g1/dset4>
6 differences found
+6 differences found
diff --git a/tools/testfiles/h5diff_608.txt b/tools/testfiles/h5diff_608.txt
index 073322f..3aadded 100644
--- a/tools/testfiles/h5diff_608.txt
+++ b/tools/testfiles/h5diff_608.txt
@@ -3,3 +3,4 @@ Expected output for 'h5diff file1.h5 file2.h5 -d 1 -d 2 g1/dset3 g1/dset4'
#############################
Dataset: </g1/dset3> and </g1/dset4>
6 differences found
+6 differences found
diff --git a/tools/testfiles/h5diff_609.txt b/tools/testfiles/h5diff_609.txt
index 279122f..1312380 100644
--- a/tools/testfiles/h5diff_609.txt
+++ b/tools/testfiles/h5diff_609.txt
@@ -1,3 +1,4 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -d 200 g1/dset3 g1/dset4'
#############################
+0 differences found
diff --git a/tools/testfiles/h5diff_610.txt b/tools/testfiles/h5diff_610.txt
index fa296f7..0f88a19 100644
--- a/tools/testfiles/h5diff_610.txt
+++ b/tools/testfiles/h5diff_610.txt
@@ -3,3 +3,4 @@ Expected output for 'h5diff file1.h5 file2.h5 -d 1 g1/dset3 g1/dset4'
#############################
Dataset: </g1/dset3> and </g1/dset4>
6 differences found
+6 differences found
diff --git a/tools/testfiles/h5diff_616.txt b/tools/testfiles/h5diff_616.txt
index 0f71910..754c514 100644
--- a/tools/testfiles/h5diff_616.txt
+++ b/tools/testfiles/h5diff_616.txt
@@ -3,3 +3,4 @@ Expected output for 'h5diff file1.h5 file2.h5 -p 0.21 g1/dset3 g1/dset4'
#############################
Dataset: </g1/dset3> and </g1/dset4>
2 differences found
+2 differences found
diff --git a/tools/testfiles/h5diff_617.txt b/tools/testfiles/h5diff_617.txt
index ef74c72..3ef536a 100644
--- a/tools/testfiles/h5diff_617.txt
+++ b/tools/testfiles/h5diff_617.txt
@@ -3,3 +3,4 @@ Expected output for 'h5diff file1.h5 file2.h5 -p 0.21 -p 0.22 g1/dset3 g1/dset4'
#############################
Dataset: </g1/dset3> and </g1/dset4>
2 differences found
+2 differences found
diff --git a/tools/testfiles/h5diff_618.txt b/tools/testfiles/h5diff_618.txt
index 78d3ca2..d436346 100644
--- a/tools/testfiles/h5diff_618.txt
+++ b/tools/testfiles/h5diff_618.txt
@@ -1,3 +1,4 @@
#############################
Expected output for 'h5diff file1.h5 file2.h5 -p 2 g1/dset3 g1/dset4'
#############################
+0 differences found
diff --git a/tools/testfiles/h5diff_619.txt b/tools/testfiles/h5diff_619.txt
index 18d1efb..02886d7 100644
--- a/tools/testfiles/h5diff_619.txt
+++ b/tools/testfiles/h5diff_619.txt
@@ -3,3 +3,4 @@ Expected output for 'h5diff file1.h5 file2.h5 -p 0.005 g1/dset3 g1/dset4'
#############################
Dataset: </g1/dset3> and </g1/dset4>
6 differences found
+6 differences found
diff --git a/tools/testfiles/h5diff_625.txt b/tools/testfiles/h5diff_625.txt
index 74477c8..96f4e23 100644
--- a/tools/testfiles/h5diff_625.txt
+++ b/tools/testfiles/h5diff_625.txt
@@ -3,3 +3,4 @@ Expected output for 'h5diff file1.h5 file2.h5 -n 2 g1/dset3 g1/dset4'
#############################
Dataset: </g1/dset3> and </g1/dset4>
2 differences found
+2 differences found
diff --git a/tools/testfiles/h5diff_626.txt b/tools/testfiles/h5diff_626.txt
index 85eb7dc..448fa17 100644
--- a/tools/testfiles/h5diff_626.txt
+++ b/tools/testfiles/h5diff_626.txt
@@ -3,3 +3,4 @@ Expected output for 'h5diff file1.h5 file2.h5 -n 2 -n 3 g1/dset3 g1/dset4'
#############################
Dataset: </g1/dset3> and </g1/dset4>
3 differences found
+3 differences found
diff --git a/tools/testfiles/h5diff_627.txt b/tools/testfiles/h5diff_627.txt
index 999bbc3..09a1c91 100644
--- a/tools/testfiles/h5diff_627.txt
+++ b/tools/testfiles/h5diff_627.txt
@@ -3,3 +3,4 @@ Expected output for 'h5diff file1.h5 file2.h5 -n 200 g1/dset3 g1/dset4'
#############################
Dataset: </g1/dset3> and </g1/dset4>
6 differences found
+6 differences found
diff --git a/tools/testfiles/h5diff_628.txt b/tools/testfiles/h5diff_628.txt
index 604df64..1d0f7da 100644
--- a/tools/testfiles/h5diff_628.txt
+++ b/tools/testfiles/h5diff_628.txt
@@ -3,3 +3,4 @@ Expected output for 'h5diff file1.h5 file2.h5 -n 1 g1/dset3 g1/dset4'
#############################
Dataset: </g1/dset3> and </g1/dset4>
1 differences found
+1 differences found
diff --git a/tools/testfiles/h5diff_70.txt b/tools/testfiles/h5diff_70.txt
index 534ff1a..3f4d3de 100644
--- a/tools/testfiles/h5diff_70.txt
+++ b/tools/testfiles/h5diff_70.txt
@@ -1145,3 +1145,4 @@ position float3D of </> float3D of </> difference
--------------------------------
Some objects are not comparable
--------------------------------
+912 differences found
diff --git a/tools/testfiles/h5diff_80.txt b/tools/testfiles/h5diff_80.txt
index d856c73..2d17f2c 100644
--- a/tools/testfiles/h5diff_80.txt
+++ b/tools/testfiles/h5diff_80.txt
@@ -729,3 +729,4 @@ Group: </> and </>
--------------------------------
Some objects are not comparable
--------------------------------
+495 differences found
diff --git a/tools/testfiles/h5diff_90.txt b/tools/testfiles/h5diff_90.txt
index 000a23d..273f6f6 100644
--- a/tools/testfiles/h5diff_90.txt
+++ b/tools/testfiles/h5diff_90.txt
@@ -1,3 +1,4 @@
#############################
Expected output for 'h5diff file1.h5 file1.h5'
#############################
+0 differences found