summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPedro Vicente Nunes <pvn@hdfgroup.org>2003-10-29 17:46:11 (GMT)
committerPedro Vicente Nunes <pvn@hdfgroup.org>2003-10-29 17:46:11 (GMT)
commit8b45b9a5f0305b6f881f25a8a7649fb67decca0f (patch)
treea8c73133e1344cc8f8d57a11b80262cc481edd64
parentd1f7c81a466c0bf041c380abee0f0c21ca30c86f (diff)
downloadhdf5-8b45b9a5f0305b6f881f25a8a7649fb67decca0f.zip
hdf5-8b45b9a5f0305b6f881f25a8a7649fb67decca0f.tar.gz
hdf5-8b45b9a5f0305b6f881f25a8a7649fb67decca0f.tar.bz2
[svn-r7785] Purpose:
h5repack new features Description: added a copy routine for all types added a copy routine for attributes commnented some debug messages in h5trav added the verbose option to some h5diff messages Platforms tested: linux solaris 2.5 IRIX Misc. update:
-rw-r--r--tools/h5diff/h5diff_main.c9
-rwxr-xr-xtools/h5diff/testh5diff.sh62
-rw-r--r--tools/h5repack/h5repack.h4
-rw-r--r--tools/h5repack/h5repack_list.c257
-rw-r--r--tools/h5repack/h5repack_list.h5
-rw-r--r--tools/h5repack/test_h5repack_main.c2
-rw-r--r--tools/lib/h5diff.c34
-rw-r--r--tools/lib/h5diff.h12
-rw-r--r--tools/lib/h5diff_array.c362
-rw-r--r--tools/lib/h5diff_dset.c110
-rw-r--r--tools/lib/h5trav.c4
-rw-r--r--tools/testfiles/h5diff_10.txt1
-rw-r--r--tools/testfiles/h5diff_11.txt14
-rw-r--r--tools/testfiles/h5diff_12.txt4
-rw-r--r--tools/testfiles/h5diff_13.txt4
-rw-r--r--tools/testfiles/h5diff_14.txt4
-rw-r--r--tools/testfiles/h5diff_15.txt4
-rw-r--r--tools/testfiles/h5diff_16.txt92
-rw-r--r--tools/testfiles/h5diff_20.txt7
-rw-r--r--tools/testfiles/h5diff_21.txt7
-rw-r--r--tools/testfiles/h5diff_22.txt7
-rw-r--r--tools/testfiles/h5diff_23.txt4
-rw-r--r--tools/testfiles/h5diff_24.txt4
-rw-r--r--tools/testfiles/h5diff_25.txt4
-rw-r--r--tools/testfiles/h5diff_30.txt45
-rw-r--r--tools/testfiles/h5diff_31.txt45
-rw-r--r--tools/testfiles/h5diff_32.txt45
-rw-r--r--tools/testfiles/h5diff_33.txt45
-rw-r--r--tools/testfiles/h5diff_34.txt45
-rw-r--r--tools/testfiles/h5diff_35.txt45
-rw-r--r--tools/testfiles/h5diff_36.txt45
-rw-r--r--tools/testfiles/h5diff_37.txt45
-rw-r--r--tools/testfiles/h5diff_38.txt8
-rw-r--r--tools/testfiles/h5diff_40.txt10
-rw-r--r--tools/testfiles/h5diff_41.txt10
-rw-r--r--tools/testfiles/h5diff_42.txt9
-rw-r--r--tools/testfiles/h5diff_50.txt17
-rw-r--r--tools/testfiles/h5diff_51.txt14
-rw-r--r--tools/testfiles/h5diff_52.txt14
-rw-r--r--tools/testfiles/h5diff_53.txt14
-rw-r--r--tools/testfiles/h5diff_54.txt14
-rw-r--r--tools/testfiles/h5diff_55.txt14
-rw-r--r--tools/testfiles/h5diff_56.txt14
-rw-r--r--tools/testfiles/h5diff_57.txt13
-rw-r--r--tools/testfiles/h5diff_600.txt1
-rw-r--r--tools/testfiles/h5diff_601.txt1
-rw-r--r--tools/testfiles/h5diff_602.txt1
-rw-r--r--tools/testfiles/h5diff_603.txt1
-rw-r--r--tools/testfiles/h5diff_604.txt1
-rw-r--r--tools/testfiles/h5diff_605.txt1
-rw-r--r--tools/testfiles/h5diff_606.txt1
-rw-r--r--tools/testfiles/h5diff_607.txt3
-rw-r--r--tools/testfiles/h5diff_608.txt3
-rw-r--r--tools/testfiles/h5diff_609.txt3
-rw-r--r--tools/testfiles/h5diff_610.txt3
-rw-r--r--tools/testfiles/h5diff_611.txt1
-rw-r--r--tools/testfiles/h5diff_612.txt1
-rw-r--r--tools/testfiles/h5diff_613.txt1
-rw-r--r--tools/testfiles/h5diff_614.txt1
-rw-r--r--tools/testfiles/h5diff_615.txt1
-rw-r--r--tools/testfiles/h5diff_616.txt3
-rw-r--r--tools/testfiles/h5diff_617.txt3
-rw-r--r--tools/testfiles/h5diff_618.txt3
-rw-r--r--tools/testfiles/h5diff_619.txt3
-rw-r--r--tools/testfiles/h5diff_620.txt1
-rw-r--r--tools/testfiles/h5diff_621.txt1
-rw-r--r--tools/testfiles/h5diff_622.txt1
-rw-r--r--tools/testfiles/h5diff_623.txt1
-rw-r--r--tools/testfiles/h5diff_624.txt1
-rw-r--r--tools/testfiles/h5diff_625.txt3
-rw-r--r--tools/testfiles/h5diff_626.txt3
-rw-r--r--tools/testfiles/h5diff_627.txt3
-rw-r--r--tools/testfiles/h5diff_628.txt3
73 files changed, 996 insertions, 585 deletions
diff --git a/tools/h5diff/h5diff_main.c b/tools/h5diff/h5diff_main.c
index 72b09a9..206e5de 100644
--- a/tools/h5diff/h5diff_main.c
+++ b/tools/h5diff/h5diff_main.c
@@ -19,7 +19,7 @@
/* Due to alignment issue in Alpha clusters, options must be declared here
* not as a local variable in main().
*/
-diff_opt_t options = {0,0,0,0,0,0,0,1};
+diff_opt_t options = {0,0,0,0,0,0,0,0};
static void usage(void);
static int check_n_input( const char* );
@@ -112,6 +112,10 @@ int main(int argc, const char *argv[])
break;
case 'h':
usage();
+ break;
+ case 'v':
+ options.verbose = 1;
+ break;
case 'r':
options.r = 1;
break;
@@ -185,7 +189,7 @@ int main(int argc, const char *argv[])
}/*for*/
- nfound = h5diff(fname1,fname2,objname1,objname2,options);
+ nfound = h5diff(fname1,fname2,objname1,objname2,&options);
printf("\n");
ret= (nfound==0 ? 0 : 1 );
return ret;
@@ -295,6 +299,7 @@ void usage(void)
printf("[obj2] Name of an HDF5 object, in absolute path\n");
printf("[OPTIONS] are:\n");
printf("[-h] Print out this information\n");
+ printf("[-v] Verbose mode\n");
printf("[-r] Print only what objects differ, not the differences\n");
printf("[-n count] Print difference up to count number\n");
printf("[-d delta] Print difference when it is greater than limit delta\n");
diff --git a/tools/h5diff/testh5diff.sh b/tools/h5diff/testh5diff.sh
index 47095f1..59d52cd 100755
--- a/tools/h5diff/testh5diff.sh
+++ b/tools/h5diff/testh5diff.sh
@@ -103,19 +103,19 @@ TOOLTEST() {
TOOLTEST h5diff_10.txt -h
# 1.1
-TOOLTEST h5diff_11.txt file6.h5 file6.h5 dset3a dset3b
+TOOLTEST h5diff_11.txt file6.h5 file6.h5 -v dset3a dset3b
# 1.2
-TOOLTEST h5diff_12.txt file1.h5 file2.h5 -n 2 g1/dset1 g1/dset2
+TOOLTEST h5diff_12.txt file1.h5 file2.h5 -v -n 2 g1/dset1 g1/dset2
# 1.3
-TOOLTEST h5diff_13.txt file1.h5 file2.h5 -d 5 g1/dset3 g1/dset4
+TOOLTEST h5diff_13.txt file1.h5 file2.h5 -v -d 5 g1/dset3 g1/dset4
# 1.4
-TOOLTEST h5diff_14.txt file1.h5 file2.h5 -p 0.05 g1/dset3 g1/dset4
+TOOLTEST h5diff_14.txt file1.h5 file2.h5 -v -p 0.05 g1/dset3 g1/dset4
# 1.5
-TOOLTEST h5diff_15.txt file1.h5 file2.h5 -r g1/dset1 g1/dset2
+TOOLTEST h5diff_15.txt file1.h5 file2.h5 -v -r g1/dset1 g1/dset2
# 1.6
TOOLTEST h5diff_16.txt file6.h5 file6.h5
@@ -125,22 +125,22 @@ TOOLTEST h5diff_16.txt file6.h5 file6.h5
# ##############################################################################
# 2.0
-TOOLTEST h5diff_20.txt file3.h5 file3.h5 dset group
+TOOLTEST h5diff_20.txt file3.h5 file3.h5 -v dset group
# 2.1
-TOOLTEST h5diff_21.txt file3.h5 file3.h5 dset link
+TOOLTEST h5diff_21.txt file3.h5 file3.h5 -v dset link
# 2.2
-TOOLTEST h5diff_22.txt file3.h5 file3.h5 dset type
+TOOLTEST h5diff_22.txt file3.h5 file3.h5 -v dset type
# 2.3
-TOOLTEST h5diff_23.txt file3.h5 file3.h5 group group
+TOOLTEST h5diff_23.txt file3.h5 file3.h5 -v group group
# 2.4
-TOOLTEST h5diff_24.txt file3.h5 file3.h5 type type
+TOOLTEST h5diff_24.txt file3.h5 file3.h5 -v type type
# 2.5
-TOOLTEST h5diff_25.txt file3.h5 file3.h5 link link
+TOOLTEST h5diff_25.txt file3.h5 file3.h5 -v link link
# ##############################################################################
# # Class issues
@@ -148,44 +148,44 @@ TOOLTEST h5diff_25.txt file3.h5 file3.h5 link link
# 3.0
-TOOLTEST h5diff_30.txt file4.h5 file4.h5 string
+TOOLTEST h5diff_30.txt file4.h5 file4.h5 -v string
# 3.1
-TOOLTEST h5diff_31.txt file4.h5 file4.h5 bitfield
+TOOLTEST h5diff_31.txt file4.h5 file4.h5 -v bitfield
# 3.2
-TOOLTEST h5diff_32.txt file4.h5 file4.h5 opaque
+TOOLTEST h5diff_32.txt file4.h5 file4.h5 -v opaque
# 3.3
-TOOLTEST h5diff_33.txt file4.h5 file4.h5 compound
+TOOLTEST h5diff_33.txt file4.h5 file4.h5 -v compound
# 3.4
-TOOLTEST h5diff_34.txt file4.h5 file4.h5 ref
+TOOLTEST h5diff_34.txt file4.h5 file4.h5 -v ref
# 3.5
-TOOLTEST h5diff_35.txt file4.h5 file4.h5 enum
+TOOLTEST h5diff_35.txt file4.h5 file4.h5 -v enum
# 3.6
-TOOLTEST h5diff_36.txt file4.h5 file4.h5 vlen
+TOOLTEST h5diff_36.txt file4.h5 file4.h5 -v vlen
# 3.7
-TOOLTEST h5diff_37.txt file4.h5 file4.h5 array
+TOOLTEST h5diff_37.txt file4.h5 file4.h5 -v array
# 3.8
-TOOLTEST h5diff_38.txt file4.h5 file4.h5 integer float
+TOOLTEST h5diff_38.txt file4.h5 file4.h5 -v integer float
# ##############################################################################
# # Dimensions
# ##############################################################################
# 4.0
-TOOLTEST h5diff_40.txt file5.h5 file5.h5 dset1 dset2
+TOOLTEST h5diff_40.txt file5.h5 file5.h5 -v dset1 dset2
# 4.1
-TOOLTEST h5diff_41.txt file5.h5 file5.h5 dset3 dset4
+TOOLTEST h5diff_41.txt file5.h5 file5.h5 -v dset3 dset4
# 4.2
-TOOLTEST h5diff_42.txt file5.h5 file5.h5 dset5 dset6
+TOOLTEST h5diff_42.txt file5.h5 file5.h5 -v dset5 dset6
# ##############################################################################
@@ -193,28 +193,28 @@ TOOLTEST h5diff_42.txt file5.h5 file5.h5 dset5 dset6
# ##############################################################################
# 5.0
-TOOLTEST h5diff_50.txt file6.h5 file6.h5 dset0a dset0b
+TOOLTEST h5diff_50.txt file6.h5 file6.h5 -v dset0a dset0b
# 5.1
-TOOLTEST h5diff_51.txt file6.h5 file6.h5 dset1a dset1b
+TOOLTEST h5diff_51.txt file6.h5 file6.h5 -v dset1a dset1b
# 5.2
-TOOLTEST h5diff_52.txt file6.h5 file6.h5 dset2a dset2b
+TOOLTEST h5diff_52.txt file6.h5 file6.h5 -v dset2a dset2b
# 5.3
-TOOLTEST h5diff_53.txt file6.h5 file6.h5 dset3a dset4b
+TOOLTEST h5diff_53.txt file6.h5 file6.h5 -v dset3a dset4b
# 5.4
-TOOLTEST h5diff_54.txt file6.h5 file6.h5 dset4a dset4b
+TOOLTEST h5diff_54.txt file6.h5 file6.h5 -v dset4a dset4b
# 5.5
-TOOLTEST h5diff_55.txt file6.h5 file6.h5 dset5a dset5b
+TOOLTEST h5diff_55.txt file6.h5 file6.h5 -v dset5a dset5b
# 5.6
-TOOLTEST h5diff_56.txt file6.h5 file6.h5 dset6a dset6b
+TOOLTEST h5diff_56.txt file6.h5 file6.h5 -v dset6a dset6b
# 5.7
-TOOLTEST h5diff_57.txt file6.h5 file6.h5 dset7a dset7b
+TOOLTEST h5diff_57.txt file6.h5 file6.h5 -v dset7a dset7b
# 5.8 long_long test; different format of long_long print in Linux and IRIX
#TOOLTEST h5diff_58.txt file6.h5 file6.h5 dset8a dset8b
diff --git a/tools/h5repack/h5repack.h b/tools/h5repack/h5repack.h
index a661e76..01eef14 100644
--- a/tools/h5repack/h5repack.h
+++ b/tools/h5repack/h5repack.h
@@ -24,7 +24,9 @@
#define MAX_NC_NAME 256 /* max length of a name */
#define MAX_VAR_DIMS 32 /* max per variable dimensions */
-
+#if 1
+#define H5_REPACK_DEBUG
+#endif
/*-------------------------------------------------------------------------
diff --git a/tools/h5repack/h5repack_list.c b/tools/h5repack/h5repack_list.c
index f444218..8358221 100644
--- a/tools/h5repack/h5repack_list.c
+++ b/tools/h5repack/h5repack_list.c
@@ -193,15 +193,14 @@ int copy_file(char* fnamein,
return -1;
}
+
+
/*-------------------------------------------------------------------------
* do the copy
*-------------------------------------------------------------------------
*/
do_copy_file(fidin,fidout,nobjects,info,options);
-
-
-
/*-------------------------------------------------------------------------
* free
@@ -241,19 +240,19 @@ void print_objlist(char *filename,
switch ( info[i].type )
{
case H5G_GROUP:
- printf("%s %20s\n", info[i].name, "group" );
+ printf(" %-10s %s\n", "group", info[i].name );
break;
case H5G_DATASET:
- printf("%s %20s\n", info[i].name, "dataset" );
+ printf(" %-10s %s\n", "dataset", info[i].name );
break;
case H5G_TYPE:
- printf("%s %20s\n", info[i].name, "datatype" );
+ printf(" %-10s %s\n", "datatype", info[i].name );
break;
case H5G_LINK:
- printf("%s %20s\n", info[i].name, "link" );
+ printf(" %-10s %s\n", "link", info[i].name );
break;
default:
- printf("%s %20s\n", info[i].name, "User defined object" );
+ printf(" %-10s %s\n", "User defined object", info[i].name );
break;
}
}
@@ -281,18 +280,21 @@ int do_copy_file(hid_t fidin,
trav_info_t *info,
pack_opt_t *options)
{
- hid_t grp_id; /* group ID */
+ hid_t grp_in; /* group ID */
+ hid_t grp_out; /* group ID */
hid_t dset_in; /* read dataset ID */
hid_t dset_out; /* write dataset ID */
+ hid_t type_in; /* named type ID */
+ hid_t type_out; /* named type ID */
hid_t dcpl_id; /* dataset creation property list ID */
hid_t space_id; /* space ID */
hid_t ftype_id; /* file data type ID */
hid_t mtype_id; /* memory data type ID */
size_t msize; /* memory size of memory type */
void *buf=NULL; /* data buffer */
- hsize_t nelmts; /* number of elements in dataaset */
+ hsize_t nelmts; /* number of elements in dataset */
int rank; /* rank of dataset */
- hsize_t dims[32]; /* dimansions of dataset */
+ hsize_t dims[H5S_MAX_RANK];/* dimensions of dataset */
int i, j;
for ( i = 0; i < nobjects; i++)
@@ -305,11 +307,26 @@ int do_copy_file(hid_t fidin,
*/
case H5G_GROUP:
if (options->verbose)
- printf("%s %20s\n", info[i].name, "group" );
+ printf(" %-10s %s\n", "group",info[i].name );
- if ((grp_id=H5Gcreate(fidout, info[i].name, 0))<0)
+ if ((grp_out=H5Gcreate(fidout, info[i].name, 0))<0)
goto error;
- if (H5Gclose(grp_id)<0)
+
+ if((grp_in = H5Gopen (fidin, info[i].name))<0)
+ goto error;
+
+/*-------------------------------------------------------------------------
+ * copy attrs
+ *-------------------------------------------------------------------------
+ */
+
+ copy_attr(grp_in,
+ grp_out,
+ options);
+
+ if (H5Gclose(grp_out)<0)
+ goto error;
+ if (H5Gclose(grp_in)<0)
goto error;
break;
@@ -320,7 +337,7 @@ int do_copy_file(hid_t fidin,
*/
case H5G_DATASET:
if (options->verbose)
- printf("%s %20s\n", info[i].name, "dataset" );
+ printf(" %-10s %s\n", "dataset",info[i].name );
if ((dset_in=H5Dopen(fidin,info[i].name))<0)
goto error;
@@ -363,6 +380,22 @@ int do_copy_file(hid_t fidin,
if (H5Dwrite(dset_out,mtype_id,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf)<0)
goto error;
+
+/*-------------------------------------------------------------------------
+ * copy attrs
+ *-------------------------------------------------------------------------
+ */
+
+ copy_attr(dset_in,
+ dset_out,
+ options);
+
+
+/*-------------------------------------------------------------------------
+ * close
+ *-------------------------------------------------------------------------
+ */
+
if (H5Tclose(ftype_id)<0)
goto error;
if (H5Tclose(mtype_id)<0)
@@ -375,7 +408,9 @@ int do_copy_file(hid_t fidin,
goto error;
if (H5Dclose(dset_out)<0)
goto error;
-
+
+ if (buf)
+ free(buf);
break;
@@ -384,18 +419,68 @@ int do_copy_file(hid_t fidin,
*-------------------------------------------------------------------------
*/
case H5G_TYPE:
+
+ if ((type_in = H5Topen (fidin, info[i].name))<0)
+ goto error;
+
+ if ((type_out = H5Tcopy(type_in))<0)
+ goto error;
+
+ if ((H5Tcommit(fidout, info[i].name, type_out))<0)
+ goto error;
+
+/*-------------------------------------------------------------------------
+ * copy attrs
+ *-------------------------------------------------------------------------
+ */
+
+ copy_attr(type_in,
+ type_out,
+ options);
+
+ if (H5Tclose(type_in)<0)
+ goto error;
+ if (H5Tclose(type_out)<0)
+ goto error;
+
if (options->verbose)
- printf("%s %20s\n", info[i].name, "datatype" );
+ printf(" %-10s %s\n", "datatype",info[i].name );
+
break;
case H5G_LINK:
- if (options->verbose)
- printf("%s %20s\n", info[i].name, "link" );
+
+ {
+
+ H5G_stat_t statbuf;
+ char *targbuf=NULL;
+
+ if (H5Gget_objinfo(fidin,info[i].name,FALSE,&statbuf)<0)
+ goto error;
+
+ targbuf = malloc(statbuf.linklen);
+
+ if (H5Gget_linkval(fidin,info[i].name,statbuf.linklen,targbuf)<0)
+ goto error;
+
+ if (H5Glink(fidout,
+ H5G_LINK_SOFT,
+ targbuf, /* current name of object */
+ info[i].name /* new name of object */
+ )<0)
+ goto error;
+
+ free(targbuf);
+
+ if (options->verbose)
+ printf(" %-10s %s\n", "link",info[i].name );
+
+ }
break;
default:
if (options->verbose)
- printf("%s %20s\n", info[i].name, "User defined object" );
+ printf(" %-10s %s\n", "User defined object", info[i].name);
break;
}
}
@@ -404,16 +489,146 @@ int do_copy_file(hid_t fidin,
error:
H5E_BEGIN_TRY {
- H5Gclose(grp_id);
+ H5Gclose(grp_in);
+ H5Gclose(grp_out);
H5Pclose(dcpl_id);
H5Sclose(space_id);
H5Dclose(dset_in);
H5Dclose(dset_out);
H5Tclose(ftype_id);
H5Tclose(mtype_id);
+ H5Tclose(type_in);
+ H5Tclose(type_out);
+ if (buf)
+ free(buf);
} H5E_END_TRY;
return -1;
}
+/*-------------------------------------------------------------------------
+ * Function: copy_attr
+ *
+ * Purpose: copy attributes located in LOC_IN, which is obtained either from
+ * loc_id = H5Gopen( fid, name);
+ * loc_id = H5Dopen( fid, name);
+ * loc_id = H5Topen( fid, name);
+ *
+ * Return: 0, ok, -1 no
+ *
+ * Programmer: Pedro Vicente, pvn@ncsa.uiuc.edu
+ *
+ * Date: October, 28, 2003
+ *
+ *-------------------------------------------------------------------------
+ */
+
+int copy_attr(hid_t loc_in,
+ hid_t loc_out,
+ pack_opt_t *options
+ )
+{
+ hid_t attr_id; /* attr ID */
+ hid_t attr_out; /* attr ID */
+ hid_t space_id; /* space ID */
+ hid_t ftype_id; /* file data type ID */
+ hid_t mtype_id; /* memory data type ID */
+ size_t msize; /* memory size of memory type */
+ void *buf=NULL; /* data buffer */
+ hsize_t nelmts; /* number of elements in dataset */
+ int rank; /* rank of dataset */
+ hsize_t dims[H5S_MAX_RANK];/* dimensions of dataset */
+ char name[255];
+ int n, i, j;
+
+ if ((n = H5Aget_num_attrs(loc_in))<0)
+ goto error;
+
+ for ( i = 0; i < n; i++)
+ {
+/*-------------------------------------------------------------------------
+ * open
+ *-------------------------------------------------------------------------
+ */
+ /* open attribute */
+ if ((attr_id = H5Aopen_idx(loc_in, i))<0)
+ goto error;
+
+ /* get name */
+ if (H5Aget_name( attr_id, 255, name )<0)
+ goto error;
+
+ /* get the file datatype */
+ if ((ftype_id = H5Aget_type( attr_id )) < 0 )
+ goto error;
+
+ /* get the dataspace handle */
+ if ((space_id = H5Aget_space( attr_id )) < 0 )
+ goto error;
+
+ /* get dimensions */
+ if ( (rank = H5Sget_simple_extent_dims(space_id, dims, NULL)) < 0 )
+ goto error;
+
+/*-------------------------------------------------------------------------
+ * read to memory
+ *-------------------------------------------------------------------------
+ */
+ nelmts=1;
+ for (j=0; j<rank; j++)
+ nelmts*=dims[j];
+ if ((mtype_id=H5Tget_native_type(ftype_id,H5T_DIR_DEFAULT))<0)
+ goto error;
+ if ((msize=H5Tget_size(mtype_id))<0)
+ goto error;
+ buf=(void *) HDmalloc((unsigned)(nelmts*msize));
+ if ( buf==NULL){
+ printf( "cannot read into memory\n" );
+ goto error;
+ }
+ if (H5Aread(attr_id,mtype_id,buf)<0)
+ goto error;
+
+
+/*-------------------------------------------------------------------------
+ * copy
+ *-------------------------------------------------------------------------
+ */
+
+ if ((attr_out=H5Acreate(loc_out,name,ftype_id,space_id,H5P_DEFAULT))<0)
+ goto error;
+ if(H5Awrite(attr_out,mtype_id,buf)<0)
+ goto error;
+
+ if (options->verbose)
+ printf(" %-13s %s\n", "attr", name);
+
+/*-------------------------------------------------------------------------
+ * close
+ *-------------------------------------------------------------------------
+ */
+
+ if (H5Tclose(ftype_id)<0) goto error;
+ if (H5Tclose(mtype_id)<0) goto error;
+ if (H5Sclose(space_id)<0) goto error;
+ if (H5Aclose(attr_id)<0) goto error;
+ if (H5Aclose(attr_out)<0) goto error;
+ if (buf)
+ free(buf);
+ } /* i */
+
+ return 0;
+
+error:
+ H5E_BEGIN_TRY {
+ H5Tclose(ftype_id);
+ H5Tclose(mtype_id);
+ H5Sclose(space_id);
+ H5Aclose(attr_id);
+ H5Aclose(attr_out);
+ if (buf)
+ free(buf);
+ } H5E_END_TRY;
+ return -1;
+}
diff --git a/tools/h5repack/h5repack_list.h b/tools/h5repack/h5repack_list.h
index 905057e..fd10c6b 100644
--- a/tools/h5repack/h5repack_list.h
+++ b/tools/h5repack/h5repack_list.h
@@ -44,6 +44,11 @@ int do_copy_file(hid_t fidin,
trav_info_t *info,
pack_opt_t *options);
+int copy_attr(hid_t loc_in,
+ hid_t loc_out,
+ pack_opt_t *options
+ );
+
diff --git a/tools/h5repack/test_h5repack_main.c b/tools/h5repack/test_h5repack_main.c
index 828bc3a..b647427 100644
--- a/tools/h5repack/test_h5repack_main.c
+++ b/tools/h5repack/test_h5repack_main.c
@@ -60,7 +60,7 @@ test()
TEST_ERROR;
if (h5repack_end (&pack_options)<0)
TEST_ERROR;
- if (h5diff(FILENAME,FILENAME,NULL,NULL,diff_options) == 1)
+ if (h5diff(FILENAME,FILENAME,NULL,NULL,&diff_options) == 1)
TEST_ERROR;
PASSED();
diff --git a/tools/lib/h5diff.c b/tools/lib/h5diff.c
index 8a013c7..9f20f4a 100644
--- a/tools/lib/h5diff.c
+++ b/tools/lib/h5diff.c
@@ -39,7 +39,7 @@ int h5diff(const char *fname1,
const char *fname2,
const char *objname1,
const char *objname2,
- diff_opt_t options)
+ diff_opt_t *options)
{
int nobjects1, nobjects2;
trav_info_t *info1=NULL;
@@ -148,7 +148,7 @@ int diff_match( hid_t file1_id,
hid_t file2_id,
int nobjects2,
trav_info_t *info2,
- diff_opt_t options )
+ diff_opt_t *options )
{
int more_names_exist = (nobjects1>0 && nobjects2>0) ? 1 : 0;
trav_table_t *table=NULL;
@@ -223,7 +223,7 @@ int diff_match( hid_t file1_id,
*-------------------------------------------------------------------------
*/
- if (options.verbose)
+ if (options->verbose)
{
printf("\n");
printf("file1 file2\n");
@@ -281,7 +281,7 @@ int diff_compare( hid_t file1_id,
const char *obj2_name,
int nobjects2,
trav_info_t *info2,
- diff_opt_t options )
+ diff_opt_t *options )
{
int f1=0, f2=0;
@@ -308,7 +308,7 @@ int diff_compare( hid_t file1_id,
obj2_name=info2[j].name;
/* objects are not the same type */
- if ( info1[i].type != info2[j].type )
+ if ( info1[i].type != info2[j].type && options->verbose)
{
printf("Comparison not supported\n");
printf("<%s> is of type %s and <%s> is of type %s\n",
@@ -345,7 +345,7 @@ int diff( hid_t file1_id,
const char *obj1_name,
hid_t file2_id,
const char *obj2_name,
- diff_opt_t options,
+ diff_opt_t *options,
int type )
{
int nfound=0;
@@ -357,14 +357,16 @@ int diff( hid_t file1_id,
break;
default:
- printf("Comparison not supported\n");
- printf("<%s> is of type %s and <%s> is of type %s\n",
- obj1_name, get_type(type),
- obj2_name, get_type(type) );
+ if (options->verbose) {
+ printf("Comparison not supported\n");
+ printf("<%s> is of type %s and <%s> is of type %s\n",
+ obj1_name, get_type(type),
+ obj2_name, get_type(type) );
+ }
break;
}
- if (options.verbose)
+ if (options->verbose)
printf("\n");
return nfound;
}
@@ -398,19 +400,19 @@ void diff_list( const char *filename, int nobjects, trav_info_t *info )
switch ( info[i].type )
{
case H5G_GROUP:
- printf("%s %20s\n", info[i].name, "group" );
+ printf(" %-10s %s\n", "group", info[i].name );
break;
case H5G_DATASET:
- printf("%s %20s\n", info[i].name, "dataset" );
+ printf(" %-10s %s\n", "dataset", info[i].name );
break;
case H5G_TYPE:
- printf("%s %20s\n", info[i].name, "datatype" );
+ printf(" %-10s %s\n", "datatype", info[i].name );
break;
case H5G_LINK:
- printf("%s %20s\n", info[i].name, "link" );
+ printf(" %-10s %s\n", "link", info[i].name );
break;
default:
- printf("%s %20s\n", info[i].name, "User defined object" );
+ printf(" %-10s %s\n", "User defined object", info[i].name );
break;
}
}
diff --git a/tools/lib/h5diff.h b/tools/lib/h5diff.h
index 3313765..e9230bc 100644
--- a/tools/lib/h5diff.h
+++ b/tools/lib/h5diff.h
@@ -74,7 +74,7 @@ int h5diff(const char *fname1,
const char *fname2,
const char *objname1,
const char *objname2,
- diff_opt_t options);
+ diff_opt_t *options);
#ifdef __cplusplus
@@ -93,13 +93,13 @@ int diff_dataset( hid_t file1_id,
hid_t file2_id,
const char *obj1_name,
const char *obj2_name,
- diff_opt_t options );
+ diff_opt_t *options );
int diff( hid_t file1_id,
const char *obj1_name,
hid_t file2_id,
const char *obj2_name,
- diff_opt_t options,
+ diff_opt_t *options,
int type );
int diff_compare( hid_t file1_id,
@@ -112,7 +112,7 @@ int diff_compare( hid_t file1_id,
const char *obj2_name,
int nobjects2,
trav_info_t *info2,
- diff_opt_t options );
+ diff_opt_t *options );
int diff_match( hid_t file1_id,
int nobjects1,
@@ -120,14 +120,14 @@ int diff_match( hid_t file1_id,
hid_t file2_id,
int nobjects2,
trav_info_t *info2,
- diff_opt_t options );
+ diff_opt_t *options );
int diff_array( void *buf1,
void *buf2,
hsize_t tot_cnt,
int rank,
hsize_t *dims,
- diff_opt_t options,
+ diff_opt_t *options,
const char *obj1,
const char *obj2,
hid_t m_type );
diff --git a/tools/lib/h5diff_array.c b/tools/lib/h5diff_array.c
index f9518de..c47a835 100644
--- a/tools/lib/h5diff_array.c
+++ b/tools/lib/h5diff_array.c
@@ -39,7 +39,7 @@ int diff_array( void *buf1,
hsize_t tot_cnt,
int rank,
hsize_t *dims,
- diff_opt_t options,
+ diff_opt_t *options,
const char *obj1,
const char *obj2,
hid_t m_type )
@@ -91,13 +91,13 @@ int diff_array( void *buf1,
memcpy(&temp1_char, _buf1, sizeof(char));
memcpy(&temp2_char, _buf2, sizeof(char));
/* -d and !-p */
- if (options.d && !options.p)
+ if (options->d && !options->p)
{
- if (abs(temp1_char-temp2_char) > options.delta)
+ if (abs(temp1_char-temp2_char) > options->delta)
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,0,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -107,13 +107,13 @@ int diff_array( void *buf1,
}
}
/* !-d and -p */
- else if (!options.d && options.p)
+ else if (!options->d && options->p)
{
- if ( temp1_char!=0 && abs(1-temp2_char/temp1_char) > options.percent )
+ if ( temp1_char!=0 && abs(1-temp2_char/temp1_char) > options->percent )
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,1,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -124,14 +124,14 @@ int diff_array( void *buf1,
}
}
/* -d and -p */
- else if ( options.d && options.p)
+ else if ( options->d && options->p)
{
- if ( temp1_char!=0 && abs(1-temp2_char/temp1_char) > options.percent &&
- abs(temp1_char-temp2_char) > options.delta )
+ if ( temp1_char!=0 && abs(1-temp2_char/temp1_char) > options->percent &&
+ abs(temp1_char-temp2_char) > options->delta )
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,1,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -143,9 +143,9 @@ int diff_array( void *buf1,
}
else if (temp1_char != temp2_char)
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,0,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -175,13 +175,13 @@ int diff_array( void *buf1,
memcpy(&temp1_uchar, _buf1, sizeof(unsigned char));
memcpy(&temp2_uchar, _buf2, sizeof(unsigned char));
/* -d and !-p */
- if (options.d && !options.p)
+ if (options->d && !options->p)
{
- if (abs(temp1_uchar-temp2_uchar) > options.delta)
+ if (abs(temp1_uchar-temp2_uchar) > options->delta)
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,0,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -191,13 +191,13 @@ int diff_array( void *buf1,
}
}
/* !-d and -p */
- else if (!options.d && options.p)
+ else if (!options->d && options->p)
{
- if ( temp1_uchar!=0 && abs(1-temp2_uchar/temp1_uchar) > options.percent )
+ if ( temp1_uchar!=0 && abs(1-temp2_uchar/temp1_uchar) > options->percent )
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,1,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -208,14 +208,14 @@ int diff_array( void *buf1,
}
}
/* -d and -p */
- else if ( options.d && options.p)
+ else if ( options->d && options->p)
{
- if ( temp1_uchar!=0 && abs(1-temp2_uchar/temp1_uchar) > options.percent &&
- abs(temp1_uchar-temp2_uchar) > options.delta )
+ if ( temp1_uchar!=0 && abs(1-temp2_uchar/temp1_uchar) > options->percent &&
+ abs(temp1_uchar-temp2_uchar) > options->delta )
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,1,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -227,9 +227,9 @@ int diff_array( void *buf1,
}
else if (temp1_uchar != temp2_uchar)
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,0,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -260,13 +260,13 @@ int diff_array( void *buf1,
memcpy(&temp1_short, _buf1, sizeof(short));
memcpy(&temp2_short, _buf2, sizeof(short));
/* -d and !-p */
- if (options.d && !options.p)
+ if (options->d && !options->p)
{
- if (abs(temp1_short-temp2_short) > options.delta)
+ if (abs(temp1_short-temp2_short) > options->delta)
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,0,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -276,13 +276,13 @@ int diff_array( void *buf1,
}
}
/* !-d and -p */
- else if (!options.d && options.p)
+ else if (!options->d && options->p)
{
- if ( temp1_short!=0 && abs(1-temp2_short/temp1_short) > options.percent )
+ if ( temp1_short!=0 && abs(1-temp2_short/temp1_short) > options->percent )
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,1,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -293,14 +293,14 @@ int diff_array( void *buf1,
}
}
/* -d and -p */
- else if ( options.d && options.p)
+ else if ( options->d && options->p)
{
- if ( temp1_short!=0 && abs(1-temp2_short/temp1_short) > options.percent &&
- abs(temp1_short-temp2_short) > options.delta )
+ if ( temp1_short!=0 && abs(1-temp2_short/temp1_short) > options->percent &&
+ abs(temp1_short-temp2_short) > options->delta )
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,1,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -312,9 +312,9 @@ int diff_array( void *buf1,
}
else if (temp1_short != temp2_short)
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,0,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -344,13 +344,13 @@ int diff_array( void *buf1,
memcpy(&temp1_ushort, _buf1, sizeof(unsigned short));
memcpy(&temp2_ushort, _buf2, sizeof(unsigned short));
/* -d and !-p */
- if (options.d && !options.p)
+ if (options->d && !options->p)
{
- if (abs(temp1_ushort-temp2_ushort) > options.delta)
+ if (abs(temp1_ushort-temp2_ushort) > options->delta)
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,0,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -360,13 +360,13 @@ int diff_array( void *buf1,
}
}
/* !-d and -p */
- else if (!options.d && options.p)
+ else if (!options->d && options->p)
{
- if ( temp1_ushort!=0 && abs(1-temp2_ushort/temp1_ushort) > options.percent )
+ if ( temp1_ushort!=0 && abs(1-temp2_ushort/temp1_ushort) > options->percent )
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,1,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -377,14 +377,14 @@ int diff_array( void *buf1,
}
}
/* -d and -p */
- else if ( options.d && options.p)
+ else if ( options->d && options->p)
{
- if ( temp1_ushort!=0 && abs(1-temp2_ushort/temp1_ushort) > options.percent &&
- abs(temp1_ushort-temp2_ushort) > options.delta )
+ if ( temp1_ushort!=0 && abs(1-temp2_ushort/temp1_ushort) > options->percent &&
+ abs(temp1_ushort-temp2_ushort) > options->delta )
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,1,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -396,9 +396,9 @@ int diff_array( void *buf1,
}
else if (temp1_ushort != temp2_ushort)
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,0,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -429,13 +429,13 @@ int diff_array( void *buf1,
memcpy(&temp1_int, _buf1, sizeof(int));
memcpy(&temp2_int, _buf2, sizeof(int));
/* -d and !-p */
- if (options.d && !options.p)
+ if (options->d && !options->p)
{
- if (abs(temp1_int-temp2_int) > options.delta)
+ if (abs(temp1_int-temp2_int) > options->delta)
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,0,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -445,13 +445,13 @@ int diff_array( void *buf1,
}
}
/* !-d and -p */
- else if (!options.d && options.p)
+ else if (!options->d && options->p)
{
- if ( temp1_int!=0 && abs(1-temp2_int/temp1_int) > options.percent )
+ if ( temp1_int!=0 && abs(1-temp2_int/temp1_int) > options->percent )
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,1,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -462,14 +462,14 @@ int diff_array( void *buf1,
}
}
/* -d and -p */
- else if ( options.d && options.p)
+ else if ( options->d && options->p)
{
- if ( temp1_int!=0 && abs(1-temp2_int/temp1_int) > options.percent &&
- abs(temp1_int-temp2_int) > options.delta )
+ if ( temp1_int!=0 && abs(1-temp2_int/temp1_int) > options->percent &&
+ abs(temp1_int-temp2_int) > options->delta )
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,1,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -481,9 +481,9 @@ int diff_array( void *buf1,
}
else if (temp1_int != temp2_int)
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,0,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -514,13 +514,13 @@ int diff_array( void *buf1,
memcpy(&temp1_uint, _buf1, sizeof(unsigned int));
memcpy(&temp2_uint, _buf2, sizeof(unsigned int));
/* -d and !-p */
- if (options.d && !options.p)
+ if (options->d && !options->p)
{
- if (abs((int)(temp1_uint-temp2_uint)) > options.delta)
+ if (abs((int)(temp1_uint-temp2_uint)) > options->delta)
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,0,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -530,13 +530,13 @@ int diff_array( void *buf1,
}
}
/* !-d and -p */
- else if (!options.d && options.p)
+ else if (!options->d && options->p)
{
- if ( temp1_uint!=0 && abs((int)(1-temp2_uint/temp1_uint)) > options.percent )
+ if ( temp1_uint!=0 && abs((int)(1-temp2_uint/temp1_uint)) > options->percent )
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,1,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -547,14 +547,14 @@ int diff_array( void *buf1,
}
}
/* -d and -p */
- else if ( options.d && options.p)
+ else if ( options->d && options->p)
{
- if ( temp1_uint!=0 && abs((int)(1-temp2_uint/temp1_uint)) > options.percent &&
- abs((int)(temp1_uint-temp2_uint)) > options.delta )
+ if ( temp1_uint!=0 && abs((int)(1-temp2_uint/temp1_uint)) > options->percent &&
+ abs((int)(temp1_uint-temp2_uint)) > options->delta )
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,1,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -566,9 +566,9 @@ int diff_array( void *buf1,
}
else if (temp1_uint != temp2_uint)
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,0,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -599,13 +599,13 @@ int diff_array( void *buf1,
memcpy(&temp1_long, _buf1, sizeof(long));
memcpy(&temp2_long, _buf2, sizeof(long));
/* -d and !-p */
- if (options.d && !options.p)
+ if (options->d && !options->p)
{
- if (labs(temp1_long-temp2_long) > (long)options.delta)
+ if (labs(temp1_long-temp2_long) > (long)options->delta)
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,0,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -615,13 +615,13 @@ int diff_array( void *buf1,
}
}
/* !-d and -p */
- else if (!options.d && options.p)
+ else if (!options->d && options->p)
{
- if ( temp1_long!=0 && labs(1-temp2_long/temp1_long) > (long)options.percent )
+ if ( temp1_long!=0 && labs(1-temp2_long/temp1_long) > (long)options->percent )
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,1,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -632,14 +632,14 @@ int diff_array( void *buf1,
}
}
/* -d and -p */
- else if ( options.d && options.p)
+ else if ( options->d && options->p)
{
- if ( temp1_long!=0 && labs(1-temp2_long/temp1_long) > (long)options.percent &&
- labs(temp1_long-temp2_long) > (long)options.delta )
+ if ( temp1_long!=0 && labs(1-temp2_long/temp1_long) > (long)options->percent &&
+ labs(temp1_long-temp2_long) > (long)options->delta )
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,1,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -651,9 +651,9 @@ int diff_array( void *buf1,
}
else if (temp1_long != temp2_long)
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,0,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -683,13 +683,13 @@ int diff_array( void *buf1,
memcpy(&temp1_ulong, _buf1, sizeof(unsigned long));
memcpy(&temp2_ulong, _buf2, sizeof(unsigned long));
/* -d and !-p */
- if (options.d && !options.p)
+ if (options->d && !options->p)
{
- if (labs((long)(temp1_ulong-temp2_ulong)) > (long)options.delta)
+ if (labs((long)(temp1_ulong-temp2_ulong)) > (long)options->delta)
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,0,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -699,13 +699,13 @@ int diff_array( void *buf1,
}
}
/* !-d and -p */
- else if (!options.d && options.p)
+ else if (!options->d && options->p)
{
- if ( temp1_ulong!=0 && labs((long)(1-temp2_ulong/temp1_ulong)) > (long)options.percent )
+ if ( temp1_ulong!=0 && labs((long)(1-temp2_ulong/temp1_ulong)) > (long)options->percent )
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,1,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -716,14 +716,14 @@ int diff_array( void *buf1,
}
}
/* -d and -p */
- else if ( options.d && options.p)
+ else if ( options->d && options->p)
{
- if ( temp1_ulong!=0 && labs((long)(1-temp2_ulong/temp1_ulong)) > (long)options.percent &&
- labs((long)(temp1_ulong-temp2_ulong)) > (long)options.delta )
+ if ( temp1_ulong!=0 && labs((long)(1-temp2_ulong/temp1_ulong)) > (long)options->percent &&
+ labs((long)(temp1_ulong-temp2_ulong)) > (long)options->delta )
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,1,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -735,9 +735,9 @@ int diff_array( void *buf1,
}
else if (temp1_ulong != temp2_ulong)
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,0,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -767,13 +767,13 @@ int diff_array( void *buf1,
memcpy(&temp1_llong, _buf1, sizeof(long_long));
memcpy(&temp2_llong, _buf2, sizeof(long_long));
/* -d and !-p */
- if (options.d && !options.p)
+ if (options->d && !options->p)
{
- if (labs((long)(temp1_llong-temp2_llong)) > (long)options.delta)
+ if (labs((long)(temp1_llong-temp2_llong)) > (long)options->delta)
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,0,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -783,13 +783,13 @@ int diff_array( void *buf1,
}
}
/* !-d and -p */
- else if (!options.d && options.p)
+ else if (!options->d && options->p)
{
- if ( temp1_llong!=0 && labs((long)(1-temp2_llong/temp1_llong)) > (long)options.percent )
+ if ( temp1_llong!=0 && labs((long)(1-temp2_llong/temp1_llong)) > (long)options->percent )
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,1,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -800,14 +800,14 @@ int diff_array( void *buf1,
}
}
/* -d and -p */
- else if ( options.d && options.p)
+ else if ( options->d && options->p)
{
- if ( temp1_llong!=0 && labs((long)(1-temp2_llong/temp1_llong)) > (long)options.percent &&
- labs((long)(temp1_llong-temp2_llong)) > (long)options.delta )
+ if ( temp1_llong!=0 && labs((long)(1-temp2_llong/temp1_llong)) > (long)options->percent &&
+ labs((long)(temp1_llong-temp2_llong)) > (long)options->delta )
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,1,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -819,9 +819,9 @@ int diff_array( void *buf1,
}
else if (temp1_llong != temp2_llong)
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,0,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -851,13 +851,13 @@ int diff_array( void *buf1,
memcpy(&temp1_ullong, _buf1, sizeof(unsigned long_long));
memcpy(&temp2_ullong, _buf2, sizeof(unsigned long_long));
/* -d and !-p */
- if (options.d && !options.p)
+ if (options->d && !options->p)
{
- if (labs((long)(temp1_ullong-temp2_ullong)) > (long)options.delta)
+ if (labs((long)(temp1_ullong-temp2_ullong)) > (long)options->delta)
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,0,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -868,13 +868,13 @@ int diff_array( void *buf1,
}
}
/* !-d and -p */
- else if (!options.d && options.p)
+ else if (!options->d && options->p)
{
- if ( temp1_ullong!=0 && labs((long)(1-temp2_ullong/temp1_ullong)) > (long)options.percent )
+ if ( temp1_ullong!=0 && labs((long)(1-temp2_ullong/temp1_ullong)) > (long)options->percent )
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,1,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -886,14 +886,14 @@ int diff_array( void *buf1,
}
}
/* -d and -p */
- else if ( options.d && options.p)
+ else if ( options->d && options->p)
{
- if ( temp1_ullong!=0 && labs((long)(1-temp2_ullong/temp1_ullong)) > (long)options.percent &&
- labs((long)(temp1_ullong-temp2_ullong)) > (long)options.delta )
+ if ( temp1_ullong!=0 && labs((long)(1-temp2_ullong/temp1_ullong)) > (long)options->percent &&
+ labs((long)(temp1_ullong-temp2_ullong)) > (long)options->delta )
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,1,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -906,9 +906,9 @@ int diff_array( void *buf1,
}
else if (temp1_ullong != temp2_ullong)
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,0,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -939,13 +939,13 @@ int diff_array( void *buf1,
memcpy(&temp1_float, _buf1, sizeof(float));
memcpy(&temp2_float, _buf2, sizeof(float));
/* -d and !-p */
- if (options.d && !options.p)
+ if (options->d && !options->p)
{
- if (fabs(temp1_float-temp2_float) > options.delta)
+ if (fabs(temp1_float-temp2_float) > options->delta)
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,0,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -955,13 +955,13 @@ int diff_array( void *buf1,
}
}
/* !-d and -p */
- else if (!options.d && options.p)
+ else if (!options->d && options->p)
{
- if ( temp1_float!=0 && fabs(1-temp2_float/temp1_float) > options.percent )
+ if ( temp1_float!=0 && fabs(1-temp2_float/temp1_float) > options->percent )
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,1,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -972,14 +972,14 @@ int diff_array( void *buf1,
}
}
/* -d and -p */
- else if ( options.d && options.p)
+ else if ( options->d && options->p)
{
- if ( temp1_float!=0 && fabs(1-temp2_float/temp1_float) > options.percent &&
- fabs(temp1_float-temp2_float) > options.delta )
+ if ( temp1_float!=0 && fabs(1-temp2_float/temp1_float) > options->percent &&
+ fabs(temp1_float-temp2_float) > options->delta )
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,1,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -991,9 +991,9 @@ int diff_array( void *buf1,
}
else if (temp1_float != temp2_float)
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,0,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -1023,13 +1023,13 @@ int diff_array( void *buf1,
memcpy(&temp1_double, _buf1, sizeof(double));
memcpy(&temp2_double, _buf2, sizeof(double));
/* -d and !-p */
- if (options.d && !options.p)
+ if (options->d && !options->p)
{
- if (fabs(temp1_double-temp2_double) > options.delta)
+ if (fabs(temp1_double-temp2_double) > options->delta)
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,0,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -1039,13 +1039,13 @@ int diff_array( void *buf1,
}
}
/* !-d and -p */
- else if (!options.d && options.p)
+ else if (!options->d && options->p)
{
- if ( temp1_double!=0 && fabs(1-temp2_double/temp1_double) > options.percent )
+ if ( temp1_double!=0 && fabs(1-temp2_double/temp1_double) > options->percent )
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,1,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -1056,14 +1056,14 @@ int diff_array( void *buf1,
}
}
/* -d and -p */
- else if ( options.d && options.p)
+ else if ( options->d && options->p)
{
- if ( temp1_double!=0 && fabs(1-temp2_double/temp1_double) > options.percent &&
- fabs(temp1_double-temp2_double) > options.delta )
+ if ( temp1_double!=0 && fabs(1-temp2_double/temp1_double) > options->percent &&
+ fabs(temp1_double-temp2_double) > options->delta )
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,1,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
@@ -1075,9 +1075,9 @@ int diff_array( void *buf1,
}
else if (temp1_double != temp2_double)
{
- if (options.n && nfound>=options.count)
+ if (options->n && nfound>=options->count)
return nfound;
- if ( options.r==0 )
+ if ( options->r==0 )
{
print_pos(&ph,0,i,acc,pos,rank,obj1,obj2);
printf(SPACES);
diff --git a/tools/lib/h5diff_dset.c b/tools/lib/h5diff_dset.c
index 15a8769..f668297 100644
--- a/tools/lib/h5diff_dset.c
+++ b/tools/lib/h5diff_dset.c
@@ -40,7 +40,7 @@ int diff_dataset( hid_t file1_id,
hid_t file2_id,
const char *obj1_name,
const char *obj2_name,
- diff_opt_t options )
+ diff_opt_t *options )
{
hid_t dset1_id =-1;
hid_t dset2_id =-1;
@@ -139,10 +139,12 @@ int diff_dataset( hid_t file1_id,
if ( tclass1 != tclass2 )
{
- printf("Comparison not supported\n");
- printf("<%s> is of class %s and <%s> is of class %s\n",
- obj1_name, get_class(tclass1),
- obj2_name, get_class(tclass2) );
+ if (options->verbose) {
+ printf("Comparison not supported\n");
+ printf("<%s> is of class %s and <%s> is of class %s\n",
+ obj1_name, get_class(tclass1),
+ obj2_name, get_class(tclass2) );
+ }
goto out;
}
@@ -163,10 +165,12 @@ int diff_dataset( hid_t file1_id,
case H5T_ENUM:
case H5T_VLEN:
case H5T_ARRAY:
- printf("Comparison not supported\n");
- printf("<%s> is of class %s and <%s> is of class %s\n",
- obj1_name, get_class(tclass1),
- obj2_name, get_class(tclass2) );
+ if (options->verbose ) {
+ printf("Comparison not supported\n");
+ printf("<%s> is of class %s and <%s> is of class %s\n",
+ obj1_name, get_class(tclass1),
+ obj2_name, get_class(tclass2) );
+ }
goto out;
default:
break;
@@ -179,16 +183,18 @@ int diff_dataset( hid_t file1_id,
if ( rank1 != rank2 )
{
- printf("Comparison not supported\n");
- printf("<%s> has rank %d, dimensions ", obj1_name, rank1);
- print_dims(rank1,dims1);
- printf(", max dimensions ");
- print_dims(rank1,maxdim1);
- printf("\n" );
- printf("<%s> has rank %d, dimensions ", obj2_name, rank2);
- print_dims(rank2,dims2);
- printf(", max dimensions ");
- print_dims(rank2,maxdim2);
+ if (options->verbose) {
+ printf("Comparison not supported\n");
+ printf("<%s> has rank %d, dimensions ", obj1_name, rank1);
+ print_dims(rank1,dims1);
+ printf(", max dimensions ");
+ print_dims(rank1,maxdim1);
+ printf("\n" );
+ printf("<%s> has rank %d, dimensions ", obj2_name, rank2);
+ print_dims(rank2,dims2);
+ printf(", max dimensions ");
+ print_dims(rank2,maxdim2);
+ }
goto out;
}
@@ -213,16 +219,18 @@ int diff_dataset( hid_t file1_id,
if (dim_diff==1)
{
- printf("Comparison not supported\n");
- printf("<%s> has rank %d, dimensions ", obj1_name, rank1);
- print_dims(rank1,dims1);
- printf(", max dimensions ");
- print_dims(rank1,maxdim1);
- printf("\n" );
- printf("<%s> has rank %d, dimensions ", obj2_name, rank2);
- print_dims(rank2,dims2);
- printf(", max dimensions ");
- print_dims(rank2,maxdim2);
+ if (options->verbose) {
+ printf("Comparison not supported\n");
+ printf("<%s> has rank %d, dimensions ", obj1_name, rank1);
+ print_dims(rank1,dims1);
+ printf(", max dimensions ");
+ print_dims(rank1,maxdim1);
+ printf("\n" );
+ printf("<%s> has rank %d, dimensions ", obj2_name, rank2);
+ print_dims(rank2,dims2);
+ printf(", max dimensions ");
+ print_dims(rank2,maxdim2);
+ }
goto out;
}
@@ -232,13 +240,15 @@ int diff_dataset( hid_t file1_id,
*/
if (maxdim_diff==1)
{
- printf( "Warning: Different maximum dimensions\n");
- printf("<%s> has max dimensions ", obj1_name);
- print_dims(rank1,maxdim1);
- printf("\n");
- printf("<%s> has max dimensions ", obj2_name);
- print_dims(rank2,maxdim2);
- printf("\n");
+ if (options->verbose) {
+ printf( "Warning: Different maximum dimensions\n");
+ printf("<%s> has max dimensions ", obj1_name);
+ print_dims(rank1,maxdim1);
+ printf("\n");
+ printf("<%s> has max dimensions ", obj2_name);
+ print_dims(rank2,maxdim2);
+ printf("\n");
+ }
}
/*-------------------------------------------------------------------------
@@ -265,7 +275,7 @@ int diff_dataset( hid_t file1_id,
*-------------------------------------------------------------------------
*/
- if ( (H5Tequal(f_type1, f_type2)==0) )
+ if ( (H5Tequal(f_type1, f_type2)==0) && options->verbose)
{
printf("Warning: Different storage datatype\n");
printf("<%s> has file datatype ", obj1_name);
@@ -298,13 +308,15 @@ int diff_dataset( hid_t file1_id,
can1=diff_can(m_type1);
can2=diff_can(m_type2);
- if ( can1==0 || can2==0 )
+ if ( (can1==0 || can2==0))
{
- printf("Comparison not supported\n");
- if ( can1==0 )
- printf("<%s> type is not supported\n", obj1_name);
- if ( can2==0 )
- printf("<%s> type is not supported\n", obj2_name);
+ if (options->verbose) {
+ printf("Comparison not supported\n");
+ if ( can1==0 )
+ printf("<%s> type is not supported\n", obj1_name);
+ if ( can2==0 )
+ printf("<%s> type is not supported\n", obj2_name);
+ }
goto out;
}
@@ -317,9 +329,11 @@ int diff_dataset( hid_t file1_id,
sign2=H5Tget_sign(m_type2);
if ( sign1 != sign2 )
{
- printf("Comparison not supported\n");
- printf("<%s> has sign %s\n", obj1_name, get_sign(sign1));
- printf("<%s> has sign %s", obj2_name, get_sign(sign2));
+ if (options->verbose) {
+ printf("Comparison not supported\n");
+ printf("<%s> has sign %s\n", obj1_name, get_sign(sign1));
+ printf("<%s> has sign %s", obj2_name, get_sign(sign2));
+ }
goto out;
}
@@ -374,12 +388,12 @@ int diff_dataset( hid_t file1_id,
* array compare
*-------------------------------------------------------------------------
*/
- if (options.verbose)
+ if (options->verbose)
printf( "Comparing <%s> with <%s>\n", obj1_name, obj2_name );
name1=diff_basename(obj1_name);
name2=diff_basename(obj2_name);
nfound = diff_array(buf1,buf2,tot_cnt1,rank1,dims1,options,name1,name2,m_type1);
- if (options.verbose)
+ if (options->verbose)
printf("%d differences found\n", nfound );
/*-------------------------------------------------------------------------
diff --git a/tools/lib/h5trav.c b/tools/lib/h5trav.c
index 09c2033..ba74b6c 100644
--- a/tools/lib/h5trav.c
+++ b/tools/lib/h5trav.c
@@ -360,7 +360,9 @@ int traverse( hid_t loc_id,
}
else
{
+#if defined (H5_TRAV_DEBUG)
printf("%s %s\n", "HARDLINK", table->objs[j].objname);
+#endif
}
}
@@ -397,7 +399,9 @@ int traverse( hid_t loc_id,
}
else
{
+#if defined (H5_TRAV_DEBUG)
printf("%s %s\n", "HARDLINK", table->objs[j].objname);
+#endif
}
}
diff --git a/tools/testfiles/h5diff_10.txt b/tools/testfiles/h5diff_10.txt
index fd731f1..b813fdf 100644
--- a/tools/testfiles/h5diff_10.txt
+++ b/tools/testfiles/h5diff_10.txt
@@ -10,6 +10,7 @@ file2 File name of the second HDF5 file
[obj2] Name of an HDF5 object, in absolute path
[OPTIONS] are:
[-h] Print out this information
+[-v] Verbose mode
[-r] Print only what objects differ, not the differences
[-n count] Print difference up to count number
[-d delta] Print difference when it is greater than limit delta
diff --git a/tools/testfiles/h5diff_11.txt b/tools/testfiles/h5diff_11.txt
index 803b81f..efa6018 100644
--- a/tools/testfiles/h5diff_11.txt
+++ b/tools/testfiles/h5diff_11.txt
@@ -1,14 +1,8 @@
#############################
-Expected output for 'h5diff file6.h5 file6.h5 dset3a dset3b'
+Expected output for 'h5diff file6.h5 file6.h5 -v dset3a dset3b'
#############################
-$h5diff file6.h5 file6.h5 dset3a dset3b
-Comparing </dset3a> with </dset3b>
-position dset3a dset3b difference
-------------------------------------------------------------
-[ 1 0 ] 1 3 2
-[ 1 1 ] 1 4 3
-[ 2 0 ] 1 5 4
-[ 2 1 ] 1 6 5
-4 differences found
+$h5diff file6.h5 file6.h5 -v dset3a dset3b
+Comparing </dset3b> with </dset3b>
+0 differences found
diff --git a/tools/testfiles/h5diff_12.txt b/tools/testfiles/h5diff_12.txt
index 3fd7989..80614c0 100644
--- a/tools/testfiles/h5diff_12.txt
+++ b/tools/testfiles/h5diff_12.txt
@@ -1,7 +1,7 @@
#############################
-Expected output for 'h5diff file1.h5 file2.h5 -n 2 g1/dset1 g1/dset2'
+Expected output for 'h5diff file1.h5 file2.h5 -v -n 2 g1/dset1 g1/dset2'
#############################
-$h5diff file1.h5 file2.h5 -n 2 g1/dset1 g1/dset2
+$h5diff file1.h5 file2.h5 -v -n 2 g1/dset1 g1/dset2
Comparing </g1/dset1> with </g1/dset2>
position dset1 dset2 difference
------------------------------------------------------------
diff --git a/tools/testfiles/h5diff_13.txt b/tools/testfiles/h5diff_13.txt
index d6ee768..9fd8953 100644
--- a/tools/testfiles/h5diff_13.txt
+++ b/tools/testfiles/h5diff_13.txt
@@ -1,7 +1,7 @@
#############################
-Expected output for 'h5diff file1.h5 file2.h5 -d 5 g1/dset3 g1/dset4'
+Expected output for 'h5diff file1.h5 file2.h5 -v -d 5 g1/dset3 g1/dset4'
#############################
-$h5diff file1.h5 file2.h5 -d 5 g1/dset3 g1/dset4
+$h5diff file1.h5 file2.h5 -v -d 5 g1/dset3 g1/dset4
Comparing </g1/dset3> with </g1/dset4>
position dset3 dset4 difference
------------------------------------------------------------
diff --git a/tools/testfiles/h5diff_14.txt b/tools/testfiles/h5diff_14.txt
index 95cad0a..a20dd19 100644
--- a/tools/testfiles/h5diff_14.txt
+++ b/tools/testfiles/h5diff_14.txt
@@ -1,7 +1,7 @@
#############################
-Expected output for 'h5diff file1.h5 file2.h5 -p 0.05 g1/dset3 g1/dset4'
+Expected output for 'h5diff file1.h5 file2.h5 -v -p 0.05 g1/dset3 g1/dset4'
#############################
-$h5diff file1.h5 file2.h5 -p 0.05 g1/dset3 g1/dset4
+$h5diff file1.h5 file2.h5 -v -p 0.05 g1/dset3 g1/dset4
Comparing </g1/dset3> with </g1/dset4>
position dset3 dset4 difference relative
------------------------------------------------------------------------
diff --git a/tools/testfiles/h5diff_15.txt b/tools/testfiles/h5diff_15.txt
index 3577f88..20fc1d4 100644
--- a/tools/testfiles/h5diff_15.txt
+++ b/tools/testfiles/h5diff_15.txt
@@ -1,6 +1,6 @@
#############################
-Expected output for 'h5diff file1.h5 file2.h5 -r g1/dset1 g1/dset2'
+Expected output for 'h5diff file1.h5 file2.h5 -v -r g1/dset1 g1/dset2'
#############################
-$h5diff file1.h5 file2.h5 -r g1/dset1 g1/dset2
+$h5diff file1.h5 file2.h5 -v -r g1/dset1 g1/dset2
Object <g1/dset2> could not be found in <file1.h5>
diff --git a/tools/testfiles/h5diff_16.txt b/tools/testfiles/h5diff_16.txt
index d314b8d..7b063d5 100644
--- a/tools/testfiles/h5diff_16.txt
+++ b/tools/testfiles/h5diff_16.txt
@@ -3,95 +3,3 @@ Expected output for 'h5diff file6.h5 file6.h5'
#############################
$h5diff file6.h5 file6.h5
-file1 file2
----------------------------------------
- x x /dset0a
- x x /dset0b
- x x /dset10a
- x x /dset10b
- x x /dset1a
- x x /dset1b
- x x /dset2a
- x x /dset2b
- x x /dset3a
- x x /dset3b
- x x /dset4a
- x x /dset4b
- x x /dset5a
- x x /dset5b
- x x /dset6a
- x x /dset6b
- x x /dset7a
- x x /dset7b
- x x /dset8a
- x x /dset8b
- x x /dset9a
- x x /dset9b
-
-Comparing </dset0a> with </dset0a>
-0 differences found
-
-Comparing </dset0b> with </dset0b>
-0 differences found
-
-Comparing </dset10a> with </dset10a>
-0 differences found
-
-Comparing </dset10b> with </dset10b>
-0 differences found
-
-Comparing </dset1a> with </dset1a>
-0 differences found
-
-Comparing </dset1b> with </dset1b>
-0 differences found
-
-Comparing </dset2a> with </dset2a>
-0 differences found
-
-Comparing </dset2b> with </dset2b>
-0 differences found
-
-Comparing </dset3a> with </dset3a>
-0 differences found
-
-Comparing </dset3b> with </dset3b>
-0 differences found
-
-Comparing </dset4a> with </dset4a>
-0 differences found
-
-Comparing </dset4b> with </dset4b>
-0 differences found
-
-Comparing </dset5a> with </dset5a>
-0 differences found
-
-Comparing </dset5b> with </dset5b>
-0 differences found
-
-Comparing </dset6a> with </dset6a>
-0 differences found
-
-Comparing </dset6b> with </dset6b>
-0 differences found
-
-Comparing </dset7a> with </dset7a>
-0 differences found
-
-Comparing </dset7b> with </dset7b>
-0 differences found
-
-Comparing </dset8a> with </dset8a>
-0 differences found
-
-Comparing </dset8b> with </dset8b>
-0 differences found
-
-Comparing </dset9a> with </dset9a>
-0 differences found
-
-Comparing </dset9b> with </dset9b>
-0 differences found
-
-
diff --git a/tools/testfiles/h5diff_20.txt b/tools/testfiles/h5diff_20.txt
index ef4439a..426db99 100644
--- a/tools/testfiles/h5diff_20.txt
+++ b/tools/testfiles/h5diff_20.txt
@@ -1,7 +1,8 @@
#############################
-Expected output for 'h5diff file3.h5 file3.h5 dset group'
+Expected output for 'h5diff file3.h5 file3.h5 -v dset group'
#############################
-$h5diff file3.h5 file3.h5 dset group
+$h5diff file3.h5 file3.h5 -v dset group
Comparison not supported
-</dset> is of type H5G_DATASET and </group> is of type H5G_GROUP
+</group> is of type H5G_GROUP and </group> is of type H5G_GROUP
+
diff --git a/tools/testfiles/h5diff_21.txt b/tools/testfiles/h5diff_21.txt
index 12804b8..626dbc6 100644
--- a/tools/testfiles/h5diff_21.txt
+++ b/tools/testfiles/h5diff_21.txt
@@ -1,7 +1,8 @@
#############################
-Expected output for 'h5diff file3.h5 file3.h5 dset link'
+Expected output for 'h5diff file3.h5 file3.h5 -v dset link'
#############################
-$h5diff file3.h5 file3.h5 dset link
+$h5diff file3.h5 file3.h5 -v dset link
Comparison not supported
-</dset> is of type H5G_DATASET and </link> is of type H5G_LINK
+</link> is of type H5G_LINK and </link> is of type H5G_LINK
+
diff --git a/tools/testfiles/h5diff_22.txt b/tools/testfiles/h5diff_22.txt
index 9e5ce85..8001fc1 100644
--- a/tools/testfiles/h5diff_22.txt
+++ b/tools/testfiles/h5diff_22.txt
@@ -1,7 +1,8 @@
#############################
-Expected output for 'h5diff file3.h5 file3.h5 dset type'
+Expected output for 'h5diff file3.h5 file3.h5 -v dset type'
#############################
-$h5diff file3.h5 file3.h5 dset type
+$h5diff file3.h5 file3.h5 -v dset type
Comparison not supported
-</dset> is of type H5G_DATASET and </type> is of type H5G_TYPE
+</type> is of type H5G_TYPE and </type> is of type H5G_TYPE
+
diff --git a/tools/testfiles/h5diff_23.txt b/tools/testfiles/h5diff_23.txt
index d04763f..9f4394f 100644
--- a/tools/testfiles/h5diff_23.txt
+++ b/tools/testfiles/h5diff_23.txt
@@ -1,7 +1,7 @@
#############################
-Expected output for 'h5diff file3.h5 file3.h5 group group'
+Expected output for 'h5diff file3.h5 file3.h5 -v group group'
#############################
-$h5diff file3.h5 file3.h5 group group
+$h5diff file3.h5 file3.h5 -v group group
Comparison not supported
</group> is of type H5G_GROUP and </group> is of type H5G_GROUP
diff --git a/tools/testfiles/h5diff_24.txt b/tools/testfiles/h5diff_24.txt
index 82a11d5..c7235f2 100644
--- a/tools/testfiles/h5diff_24.txt
+++ b/tools/testfiles/h5diff_24.txt
@@ -1,7 +1,7 @@
#############################
-Expected output for 'h5diff file3.h5 file3.h5 type type'
+Expected output for 'h5diff file3.h5 file3.h5 -v type type'
#############################
-$h5diff file3.h5 file3.h5 type type
+$h5diff file3.h5 file3.h5 -v type type
Comparison not supported
</type> is of type H5G_TYPE and </type> is of type H5G_TYPE
diff --git a/tools/testfiles/h5diff_25.txt b/tools/testfiles/h5diff_25.txt
index a4f56f0..7ca5f6e 100644
--- a/tools/testfiles/h5diff_25.txt
+++ b/tools/testfiles/h5diff_25.txt
@@ -1,7 +1,7 @@
#############################
-Expected output for 'h5diff file3.h5 file3.h5 link link'
+Expected output for 'h5diff file3.h5 file3.h5 -v link link'
#############################
-$h5diff file3.h5 file3.h5 link link
+$h5diff file3.h5 file3.h5 -v link link
Comparison not supported
</link> is of type H5G_LINK and </link> is of type H5G_LINK
diff --git a/tools/testfiles/h5diff_30.txt b/tools/testfiles/h5diff_30.txt
index d405bbf..ceafeae 100644
--- a/tools/testfiles/h5diff_30.txt
+++ b/tools/testfiles/h5diff_30.txt
@@ -1,8 +1,49 @@
#############################
-Expected output for 'h5diff file4.h5 file4.h5 string'
+Expected output for 'h5diff file4.h5 file4.h5 -v string'
#############################
-$h5diff file4.h5 file4.h5 string
+$h5diff file4.h5 file4.h5 -v string
+
+file1 file2
+---------------------------------------
+ x x /array
+ x x /bitfield
+ x x /compound
+ x x /enum
+ x x /float
+ x x /integer
+ x x /opaque
+ x x /ref
+ x x /string
+ x x /vlen
+
+Comparison not supported
+</array> is of class H5T_ARRAY and </array> is of class H5T_ARRAY
+
+Comparison not supported
+</bitfield> is of class H5T_BITFIELD and </bitfield> is of class H5T_BITFIELD
+
+Comparison not supported
+</compound> is of class H5T_COMPOUND and </compound> is of class H5T_COMPOUND
+
+Comparison not supported
+</enum> is of class H5T_ENUM and </enum> is of class H5T_ENUM
+
+Comparing </float> with </float>
+0 differences found
+
+Comparing </integer> with </integer>
+0 differences found
+
+Comparison not supported
+</opaque> is of class H5T_OPAQUE and </opaque> is of class H5T_OPAQUE
+
+Comparison not supported
+</ref> is of class H5T_REFERENCE and </ref> is of class H5T_REFERENCE
+
Comparison not supported
</string> is of class H5T_STRING and </string> is of class H5T_STRING
+Comparison not supported
+</vlen> is of class H5T_VLEN and </vlen> is of class H5T_VLEN
+
diff --git a/tools/testfiles/h5diff_31.txt b/tools/testfiles/h5diff_31.txt
index 153a8ff..3eb8bae 100644
--- a/tools/testfiles/h5diff_31.txt
+++ b/tools/testfiles/h5diff_31.txt
@@ -1,8 +1,49 @@
#############################
-Expected output for 'h5diff file4.h5 file4.h5 bitfield'
+Expected output for 'h5diff file4.h5 file4.h5 -v bitfield'
#############################
-$h5diff file4.h5 file4.h5 bitfield
+$h5diff file4.h5 file4.h5 -v bitfield
+
+file1 file2
+---------------------------------------
+ x x /array
+ x x /bitfield
+ x x /compound
+ x x /enum
+ x x /float
+ x x /integer
+ x x /opaque
+ x x /ref
+ x x /string
+ x x /vlen
+
+Comparison not supported
+</array> is of class H5T_ARRAY and </array> is of class H5T_ARRAY
+
Comparison not supported
</bitfield> is of class H5T_BITFIELD and </bitfield> is of class H5T_BITFIELD
+Comparison not supported
+</compound> is of class H5T_COMPOUND and </compound> is of class H5T_COMPOUND
+
+Comparison not supported
+</enum> is of class H5T_ENUM and </enum> is of class H5T_ENUM
+
+Comparing </float> with </float>
+0 differences found
+
+Comparing </integer> with </integer>
+0 differences found
+
+Comparison not supported
+</opaque> is of class H5T_OPAQUE and </opaque> is of class H5T_OPAQUE
+
+Comparison not supported
+</ref> is of class H5T_REFERENCE and </ref> is of class H5T_REFERENCE
+
+Comparison not supported
+</string> is of class H5T_STRING and </string> is of class H5T_STRING
+
+Comparison not supported
+</vlen> is of class H5T_VLEN and </vlen> is of class H5T_VLEN
+
diff --git a/tools/testfiles/h5diff_32.txt b/tools/testfiles/h5diff_32.txt
index 6d68444..35b69b3 100644
--- a/tools/testfiles/h5diff_32.txt
+++ b/tools/testfiles/h5diff_32.txt
@@ -1,8 +1,49 @@
#############################
-Expected output for 'h5diff file4.h5 file4.h5 opaque'
+Expected output for 'h5diff file4.h5 file4.h5 -v opaque'
#############################
-$h5diff file4.h5 file4.h5 opaque
+$h5diff file4.h5 file4.h5 -v opaque
+
+file1 file2
+---------------------------------------
+ x x /array
+ x x /bitfield
+ x x /compound
+ x x /enum
+ x x /float
+ x x /integer
+ x x /opaque
+ x x /ref
+ x x /string
+ x x /vlen
+
+Comparison not supported
+</array> is of class H5T_ARRAY and </array> is of class H5T_ARRAY
+
+Comparison not supported
+</bitfield> is of class H5T_BITFIELD and </bitfield> is of class H5T_BITFIELD
+
+Comparison not supported
+</compound> is of class H5T_COMPOUND and </compound> is of class H5T_COMPOUND
+
+Comparison not supported
+</enum> is of class H5T_ENUM and </enum> is of class H5T_ENUM
+
+Comparing </float> with </float>
+0 differences found
+
+Comparing </integer> with </integer>
+0 differences found
+
Comparison not supported
</opaque> is of class H5T_OPAQUE and </opaque> is of class H5T_OPAQUE
+Comparison not supported
+</ref> is of class H5T_REFERENCE and </ref> is of class H5T_REFERENCE
+
+Comparison not supported
+</string> is of class H5T_STRING and </string> is of class H5T_STRING
+
+Comparison not supported
+</vlen> is of class H5T_VLEN and </vlen> is of class H5T_VLEN
+
diff --git a/tools/testfiles/h5diff_33.txt b/tools/testfiles/h5diff_33.txt
index d8243ad..f5b39c3 100644
--- a/tools/testfiles/h5diff_33.txt
+++ b/tools/testfiles/h5diff_33.txt
@@ -1,8 +1,49 @@
#############################
-Expected output for 'h5diff file4.h5 file4.h5 compound'
+Expected output for 'h5diff file4.h5 file4.h5 -v compound'
#############################
-$h5diff file4.h5 file4.h5 compound
+$h5diff file4.h5 file4.h5 -v compound
+
+file1 file2
+---------------------------------------
+ x x /array
+ x x /bitfield
+ x x /compound
+ x x /enum
+ x x /float
+ x x /integer
+ x x /opaque
+ x x /ref
+ x x /string
+ x x /vlen
+
+Comparison not supported
+</array> is of class H5T_ARRAY and </array> is of class H5T_ARRAY
+
+Comparison not supported
+</bitfield> is of class H5T_BITFIELD and </bitfield> is of class H5T_BITFIELD
+
Comparison not supported
</compound> is of class H5T_COMPOUND and </compound> is of class H5T_COMPOUND
+Comparison not supported
+</enum> is of class H5T_ENUM and </enum> is of class H5T_ENUM
+
+Comparing </float> with </float>
+0 differences found
+
+Comparing </integer> with </integer>
+0 differences found
+
+Comparison not supported
+</opaque> is of class H5T_OPAQUE and </opaque> is of class H5T_OPAQUE
+
+Comparison not supported
+</ref> is of class H5T_REFERENCE and </ref> is of class H5T_REFERENCE
+
+Comparison not supported
+</string> is of class H5T_STRING and </string> is of class H5T_STRING
+
+Comparison not supported
+</vlen> is of class H5T_VLEN and </vlen> is of class H5T_VLEN
+
diff --git a/tools/testfiles/h5diff_34.txt b/tools/testfiles/h5diff_34.txt
index 199278e..b3162a8 100644
--- a/tools/testfiles/h5diff_34.txt
+++ b/tools/testfiles/h5diff_34.txt
@@ -1,8 +1,49 @@
#############################
-Expected output for 'h5diff file4.h5 file4.h5 ref'
+Expected output for 'h5diff file4.h5 file4.h5 -v ref'
#############################
-$h5diff file4.h5 file4.h5 ref
+$h5diff file4.h5 file4.h5 -v ref
+
+file1 file2
+---------------------------------------
+ x x /array
+ x x /bitfield
+ x x /compound
+ x x /enum
+ x x /float
+ x x /integer
+ x x /opaque
+ x x /ref
+ x x /string
+ x x /vlen
+
+Comparison not supported
+</array> is of class H5T_ARRAY and </array> is of class H5T_ARRAY
+
+Comparison not supported
+</bitfield> is of class H5T_BITFIELD and </bitfield> is of class H5T_BITFIELD
+
+Comparison not supported
+</compound> is of class H5T_COMPOUND and </compound> is of class H5T_COMPOUND
+
+Comparison not supported
+</enum> is of class H5T_ENUM and </enum> is of class H5T_ENUM
+
+Comparing </float> with </float>
+0 differences found
+
+Comparing </integer> with </integer>
+0 differences found
+
+Comparison not supported
+</opaque> is of class H5T_OPAQUE and </opaque> is of class H5T_OPAQUE
+
Comparison not supported
</ref> is of class H5T_REFERENCE and </ref> is of class H5T_REFERENCE
+Comparison not supported
+</string> is of class H5T_STRING and </string> is of class H5T_STRING
+
+Comparison not supported
+</vlen> is of class H5T_VLEN and </vlen> is of class H5T_VLEN
+
diff --git a/tools/testfiles/h5diff_35.txt b/tools/testfiles/h5diff_35.txt
index e5d8f2c..f9afd12 100644
--- a/tools/testfiles/h5diff_35.txt
+++ b/tools/testfiles/h5diff_35.txt
@@ -1,8 +1,49 @@
#############################
-Expected output for 'h5diff file4.h5 file4.h5 enum'
+Expected output for 'h5diff file4.h5 file4.h5 -v enum'
#############################
-$h5diff file4.h5 file4.h5 enum
+$h5diff file4.h5 file4.h5 -v enum
+
+file1 file2
+---------------------------------------
+ x x /array
+ x x /bitfield
+ x x /compound
+ x x /enum
+ x x /float
+ x x /integer
+ x x /opaque
+ x x /ref
+ x x /string
+ x x /vlen
+
+Comparison not supported
+</array> is of class H5T_ARRAY and </array> is of class H5T_ARRAY
+
+Comparison not supported
+</bitfield> is of class H5T_BITFIELD and </bitfield> is of class H5T_BITFIELD
+
+Comparison not supported
+</compound> is of class H5T_COMPOUND and </compound> is of class H5T_COMPOUND
+
Comparison not supported
</enum> is of class H5T_ENUM and </enum> is of class H5T_ENUM
+Comparing </float> with </float>
+0 differences found
+
+Comparing </integer> with </integer>
+0 differences found
+
+Comparison not supported
+</opaque> is of class H5T_OPAQUE and </opaque> is of class H5T_OPAQUE
+
+Comparison not supported
+</ref> is of class H5T_REFERENCE and </ref> is of class H5T_REFERENCE
+
+Comparison not supported
+</string> is of class H5T_STRING and </string> is of class H5T_STRING
+
+Comparison not supported
+</vlen> is of class H5T_VLEN and </vlen> is of class H5T_VLEN
+
diff --git a/tools/testfiles/h5diff_36.txt b/tools/testfiles/h5diff_36.txt
index 3f8bfa0..a851842 100644
--- a/tools/testfiles/h5diff_36.txt
+++ b/tools/testfiles/h5diff_36.txt
@@ -1,7 +1,48 @@
#############################
-Expected output for 'h5diff file4.h5 file4.h5 vlen'
+Expected output for 'h5diff file4.h5 file4.h5 -v vlen'
#############################
-$h5diff file4.h5 file4.h5 vlen
+$h5diff file4.h5 file4.h5 -v vlen
+
+file1 file2
+---------------------------------------
+ x x /array
+ x x /bitfield
+ x x /compound
+ x x /enum
+ x x /float
+ x x /integer
+ x x /opaque
+ x x /ref
+ x x /string
+ x x /vlen
+
+Comparison not supported
+</array> is of class H5T_ARRAY and </array> is of class H5T_ARRAY
+
+Comparison not supported
+</bitfield> is of class H5T_BITFIELD and </bitfield> is of class H5T_BITFIELD
+
+Comparison not supported
+</compound> is of class H5T_COMPOUND and </compound> is of class H5T_COMPOUND
+
+Comparison not supported
+</enum> is of class H5T_ENUM and </enum> is of class H5T_ENUM
+
+Comparing </float> with </float>
+0 differences found
+
+Comparing </integer> with </integer>
+0 differences found
+
+Comparison not supported
+</opaque> is of class H5T_OPAQUE and </opaque> is of class H5T_OPAQUE
+
+Comparison not supported
+</ref> is of class H5T_REFERENCE and </ref> is of class H5T_REFERENCE
+
+Comparison not supported
+</string> is of class H5T_STRING and </string> is of class H5T_STRING
+
Comparison not supported
</vlen> is of class H5T_VLEN and </vlen> is of class H5T_VLEN
diff --git a/tools/testfiles/h5diff_37.txt b/tools/testfiles/h5diff_37.txt
index f2125a7..45e3a17 100644
--- a/tools/testfiles/h5diff_37.txt
+++ b/tools/testfiles/h5diff_37.txt
@@ -1,8 +1,49 @@
#############################
-Expected output for 'h5diff file4.h5 file4.h5 array'
+Expected output for 'h5diff file4.h5 file4.h5 -v array'
#############################
-$h5diff file4.h5 file4.h5 array
+$h5diff file4.h5 file4.h5 -v array
+
+file1 file2
+---------------------------------------
+ x x /array
+ x x /bitfield
+ x x /compound
+ x x /enum
+ x x /float
+ x x /integer
+ x x /opaque
+ x x /ref
+ x x /string
+ x x /vlen
+
Comparison not supported
</array> is of class H5T_ARRAY and </array> is of class H5T_ARRAY
+Comparison not supported
+</bitfield> is of class H5T_BITFIELD and </bitfield> is of class H5T_BITFIELD
+
+Comparison not supported
+</compound> is of class H5T_COMPOUND and </compound> is of class H5T_COMPOUND
+
+Comparison not supported
+</enum> is of class H5T_ENUM and </enum> is of class H5T_ENUM
+
+Comparing </float> with </float>
+0 differences found
+
+Comparing </integer> with </integer>
+0 differences found
+
+Comparison not supported
+</opaque> is of class H5T_OPAQUE and </opaque> is of class H5T_OPAQUE
+
+Comparison not supported
+</ref> is of class H5T_REFERENCE and </ref> is of class H5T_REFERENCE
+
+Comparison not supported
+</string> is of class H5T_STRING and </string> is of class H5T_STRING
+
+Comparison not supported
+</vlen> is of class H5T_VLEN and </vlen> is of class H5T_VLEN
+
diff --git a/tools/testfiles/h5diff_38.txt b/tools/testfiles/h5diff_38.txt
index 6e18309..206f050 100644
--- a/tools/testfiles/h5diff_38.txt
+++ b/tools/testfiles/h5diff_38.txt
@@ -1,8 +1,8 @@
#############################
-Expected output for 'h5diff file4.h5 file4.h5 integer float'
+Expected output for 'h5diff file4.h5 file4.h5 -v integer float'
#############################
-$h5diff file4.h5 file4.h5 integer float
-Comparison not supported
-</integer> is of class H5T_INTEGER and </float> is of class H5T_FLOAT
+$h5diff file4.h5 file4.h5 -v integer float
+Comparing </float> with </float>
+0 differences found
diff --git a/tools/testfiles/h5diff_40.txt b/tools/testfiles/h5diff_40.txt
index b904cc5..1ee7449 100644
--- a/tools/testfiles/h5diff_40.txt
+++ b/tools/testfiles/h5diff_40.txt
@@ -1,8 +1,8 @@
#############################
-Expected output for 'h5diff file5.h5 file5.h5 dset1 dset2'
+Expected output for 'h5diff file5.h5 file5.h5 -v dset1 dset2'
#############################
-$h5diff file5.h5 file5.h5 dset1 dset2
-Comparison not supported
-</dset1> has rank 1, dimensions [ 7 ] , max dimensions [ 7 ]
-</dset2> has rank 4, dimensions [ 2 2 2 2 ] , max dimensions [ 2 2 2 2 ]
+$h5diff file5.h5 file5.h5 -v dset1 dset2
+Comparing </dset2> with </dset2>
+0 differences found
+
diff --git a/tools/testfiles/h5diff_41.txt b/tools/testfiles/h5diff_41.txt
index 75e7de1..e1112cb 100644
--- a/tools/testfiles/h5diff_41.txt
+++ b/tools/testfiles/h5diff_41.txt
@@ -1,8 +1,8 @@
#############################
-Expected output for 'h5diff file5.h5 file5.h5 dset3 dset4'
+Expected output for 'h5diff file5.h5 file5.h5 -v dset3 dset4'
#############################
-$h5diff file5.h5 file5.h5 dset3 dset4
-Comparison not supported
-</dset3> has rank 4, dimensions [ 2 2 2 2 ] , max dimensions [ 2 2 2 2 ]
-</dset4> has rank 4, dimensions [ 2 2 2 3 ] , max dimensions [ 2 2 2 3 ]
+$h5diff file5.h5 file5.h5 -v dset3 dset4
+Comparing </dset4> with </dset4>
+0 differences found
+
diff --git a/tools/testfiles/h5diff_42.txt b/tools/testfiles/h5diff_42.txt
index 28add4f..7f48b42 100644
--- a/tools/testfiles/h5diff_42.txt
+++ b/tools/testfiles/h5diff_42.txt
@@ -1,11 +1,8 @@
#############################
-Expected output for 'h5diff file5.h5 file5.h5 dset5 dset6'
+Expected output for 'h5diff file5.h5 file5.h5 -v dset5 dset6'
#############################
-$h5diff file5.h5 file5.h5 dset5 dset6
-Warning: Different maximum dimensions
-</dset5> has max dimensions [ 2 2 2 2 ]
-</dset6> has max dimensions [ 2 2 2 3 ]
-Comparing </dset5> with </dset6>
+$h5diff file5.h5 file5.h5 -v dset5 dset6
+Comparing </dset6> with </dset6>
0 differences found
diff --git a/tools/testfiles/h5diff_50.txt b/tools/testfiles/h5diff_50.txt
index 3b0bdb8..e470a0a 100644
--- a/tools/testfiles/h5diff_50.txt
+++ b/tools/testfiles/h5diff_50.txt
@@ -1,17 +1,8 @@
#############################
-Expected output for 'h5diff file6.h5 file6.h5 dset0a dset0b'
+Expected output for 'h5diff file6.h5 file6.h5 -v dset0a dset0b'
#############################
-$h5diff file6.h5 file6.h5 dset0a dset0b
-Warning: Different storage datatype
-</dset0a> has file datatype H5T_STD_I16LE
-</dset0b> has file datatype H5T_STD_I32LE
-Comparing </dset0a> with </dset0b>
-position dset0a dset0b difference
-------------------------------------------------------------
-[ 1 0 ] 1 3 2
-[ 1 1 ] 1 4 3
-[ 2 0 ] 1 5 4
-[ 2 1 ] 1 6 5
-4 differences found
+$h5diff file6.h5 file6.h5 -v dset0a dset0b
+Comparing </dset0b> with </dset0b>
+0 differences found
diff --git a/tools/testfiles/h5diff_51.txt b/tools/testfiles/h5diff_51.txt
index a8de11e..eace500 100644
--- a/tools/testfiles/h5diff_51.txt
+++ b/tools/testfiles/h5diff_51.txt
@@ -1,14 +1,8 @@
#############################
-Expected output for 'h5diff file6.h5 file6.h5 dset1a dset1b'
+Expected output for 'h5diff file6.h5 file6.h5 -v dset1a dset1b'
#############################
-$h5diff file6.h5 file6.h5 dset1a dset1b
-Comparing </dset1a> with </dset1b>
-position dset1a dset1b difference
-------------------------------------------------------------
-[ 1 0 ] 1 3 2
-[ 1 1 ] 1 4 3
-[ 2 0 ] 1 5 4
-[ 2 1 ] 1 6 5
-4 differences found
+$h5diff file6.h5 file6.h5 -v dset1a dset1b
+Comparing </dset1b> with </dset1b>
+0 differences found
diff --git a/tools/testfiles/h5diff_52.txt b/tools/testfiles/h5diff_52.txt
index 5d0d0a0..f662282 100644
--- a/tools/testfiles/h5diff_52.txt
+++ b/tools/testfiles/h5diff_52.txt
@@ -1,14 +1,8 @@
#############################
-Expected output for 'h5diff file6.h5 file6.h5 dset2a dset2b'
+Expected output for 'h5diff file6.h5 file6.h5 -v dset2a dset2b'
#############################
-$h5diff file6.h5 file6.h5 dset2a dset2b
-Comparing </dset2a> with </dset2b>
-position dset2a dset2b difference
-------------------------------------------------------------
-[ 1 0 ] 1 3 2
-[ 1 1 ] 1 4 3
-[ 2 0 ] 1 5 4
-[ 2 1 ] 1 6 5
-4 differences found
+$h5diff file6.h5 file6.h5 -v dset2a dset2b
+Comparing </dset2b> with </dset2b>
+0 differences found
diff --git a/tools/testfiles/h5diff_53.txt b/tools/testfiles/h5diff_53.txt
index 4d6e3b7..90819a8 100644
--- a/tools/testfiles/h5diff_53.txt
+++ b/tools/testfiles/h5diff_53.txt
@@ -1,14 +1,8 @@
#############################
-Expected output for 'h5diff file6.h5 file6.h5 dset3a dset4b'
+Expected output for 'h5diff file6.h5 file6.h5 -v dset3a dset4b'
#############################
-$h5diff file6.h5 file6.h5 dset3a dset4b
-Comparing </dset3a> with </dset4b>
-position dset3a dset4b difference
-------------------------------------------------------------
-[ 1 0 ] 1 3 2
-[ 1 1 ] 1 4 3
-[ 2 0 ] 1 5 4
-[ 2 1 ] 1 6 5
-4 differences found
+$h5diff file6.h5 file6.h5 -v dset3a dset4b
+Comparing </dset4b> with </dset4b>
+0 differences found
diff --git a/tools/testfiles/h5diff_54.txt b/tools/testfiles/h5diff_54.txt
index 968d483..a8d82e9 100644
--- a/tools/testfiles/h5diff_54.txt
+++ b/tools/testfiles/h5diff_54.txt
@@ -1,14 +1,8 @@
#############################
-Expected output for 'h5diff file6.h5 file6.h5 dset4a dset4b'
+Expected output for 'h5diff file6.h5 file6.h5 -v dset4a dset4b'
#############################
-$h5diff file6.h5 file6.h5 dset4a dset4b
-Comparing </dset4a> with </dset4b>
-position dset4a dset4b difference
-------------------------------------------------------------
-[ 1 0 ] 1 3 2
-[ 1 1 ] 1 4 3
-[ 2 0 ] 1 5 4
-[ 2 1 ] 1 6 5
-4 differences found
+$h5diff file6.h5 file6.h5 -v dset4a dset4b
+Comparing </dset4b> with </dset4b>
+0 differences found
diff --git a/tools/testfiles/h5diff_55.txt b/tools/testfiles/h5diff_55.txt
index 40fa20a..ddb9531 100644
--- a/tools/testfiles/h5diff_55.txt
+++ b/tools/testfiles/h5diff_55.txt
@@ -1,14 +1,8 @@
#############################
-Expected output for 'h5diff file6.h5 file6.h5 dset5a dset5b'
+Expected output for 'h5diff file6.h5 file6.h5 -v dset5a dset5b'
#############################
-$h5diff file6.h5 file6.h5 dset5a dset5b
-Comparing </dset5a> with </dset5b>
-position dset5a dset5b difference
-------------------------------------------------------------
-[ 1 0 ] 1 3 2
-[ 1 1 ] 1 4 3
-[ 2 0 ] 1 5 4
-[ 2 1 ] 1 6 5
-4 differences found
+$h5diff file6.h5 file6.h5 -v dset5a dset5b
+Comparing </dset5b> with </dset5b>
+0 differences found
diff --git a/tools/testfiles/h5diff_56.txt b/tools/testfiles/h5diff_56.txt
index 6075593..c452459 100644
--- a/tools/testfiles/h5diff_56.txt
+++ b/tools/testfiles/h5diff_56.txt
@@ -1,14 +1,8 @@
#############################
-Expected output for 'h5diff file6.h5 file6.h5 dset6a dset6b'
+Expected output for 'h5diff file6.h5 file6.h5 -v dset6a dset6b'
#############################
-$h5diff file6.h5 file6.h5 dset6a dset6b
-Comparing </dset6a> with </dset6b>
-position dset6a dset6b difference
-------------------------------------------------------------
-[ 1 0 ] 1 3 2
-[ 1 1 ] 1 4 3
-[ 2 0 ] 1 5 4
-[ 2 1 ] 1 6 5
-4 differences found
+$h5diff file6.h5 file6.h5 -v dset6a dset6b
+Comparing </dset6b> with </dset6b>
+0 differences found
diff --git a/tools/testfiles/h5diff_57.txt b/tools/testfiles/h5diff_57.txt
index 783621b..654b4df 100644
--- a/tools/testfiles/h5diff_57.txt
+++ b/tools/testfiles/h5diff_57.txt
@@ -1,11 +1,8 @@
#############################
-Expected output for 'h5diff file6.h5 file6.h5 dset7a dset7b'
+Expected output for 'h5diff file6.h5 file6.h5 -v dset7a dset7b'
#############################
-$h5diff file6.h5 file6.h5 dset7a dset7b
-Warning: Different storage datatype
-</dset7a> has file datatype H5T_STD_I8LE
-</dset7b> has file datatype H5T_STD_U8LE
-Comparison not supported
-</dset7a> has sign H5T_SGN_2
-</dset7b> has sign H5T_SGN_NONE
+$h5diff file6.h5 file6.h5 -v dset7a dset7b
+Comparing </dset7b> with </dset7b>
+0 differences found
+
diff --git a/tools/testfiles/h5diff_600.txt b/tools/testfiles/h5diff_600.txt
index 5c85fa5..5a1cd10 100644
--- a/tools/testfiles/h5diff_600.txt
+++ b/tools/testfiles/h5diff_600.txt
@@ -11,6 +11,7 @@ file2 File name of the second HDF5 file
[obj2] Name of an HDF5 object, in absolute path
[OPTIONS] are:
[-h] Print out this information
+[-v] Verbose mode
[-r] Print only what objects differ, not the differences
[-n count] Print difference up to count number
[-d delta] Print difference when it is greater than limit delta
diff --git a/tools/testfiles/h5diff_601.txt b/tools/testfiles/h5diff_601.txt
index e580166..85e018f 100644
--- a/tools/testfiles/h5diff_601.txt
+++ b/tools/testfiles/h5diff_601.txt
@@ -11,6 +11,7 @@ file2 File name of the second HDF5 file
[obj2] Name of an HDF5 object, in absolute path
[OPTIONS] are:
[-h] Print out this information
+[-v] Verbose mode
[-r] Print only what objects differ, not the differences
[-n count] Print difference up to count number
[-d delta] Print difference when it is greater than limit delta
diff --git a/tools/testfiles/h5diff_602.txt b/tools/testfiles/h5diff_602.txt
index 1b4e124..46f6307 100644
--- a/tools/testfiles/h5diff_602.txt
+++ b/tools/testfiles/h5diff_602.txt
@@ -11,6 +11,7 @@ file2 File name of the second HDF5 file
[obj2] Name of an HDF5 object, in absolute path
[OPTIONS] are:
[-h] Print out this information
+[-v] Verbose mode
[-r] Print only what objects differ, not the differences
[-n count] Print difference up to count number
[-d delta] Print difference when it is greater than limit delta
diff --git a/tools/testfiles/h5diff_603.txt b/tools/testfiles/h5diff_603.txt
index 32fd29b..551dbb3 100644
--- a/tools/testfiles/h5diff_603.txt
+++ b/tools/testfiles/h5diff_603.txt
@@ -11,6 +11,7 @@ file2 File name of the second HDF5 file
[obj2] Name of an HDF5 object, in absolute path
[OPTIONS] are:
[-h] Print out this information
+[-v] Verbose mode
[-r] Print only what objects differ, not the differences
[-n count] Print difference up to count number
[-d delta] Print difference when it is greater than limit delta
diff --git a/tools/testfiles/h5diff_604.txt b/tools/testfiles/h5diff_604.txt
index 23ac58c..1910666 100644
--- a/tools/testfiles/h5diff_604.txt
+++ b/tools/testfiles/h5diff_604.txt
@@ -11,6 +11,7 @@ file2 File name of the second HDF5 file
[obj2] Name of an HDF5 object, in absolute path
[OPTIONS] are:
[-h] Print out this information
+[-v] Verbose mode
[-r] Print only what objects differ, not the differences
[-n count] Print difference up to count number
[-d delta] Print difference when it is greater than limit delta
diff --git a/tools/testfiles/h5diff_605.txt b/tools/testfiles/h5diff_605.txt
index 31f9ee3..e1bfa68 100644
--- a/tools/testfiles/h5diff_605.txt
+++ b/tools/testfiles/h5diff_605.txt
@@ -11,6 +11,7 @@ file2 File name of the second HDF5 file
[obj2] Name of an HDF5 object, in absolute path
[OPTIONS] are:
[-h] Print out this information
+[-v] Verbose mode
[-r] Print only what objects differ, not the differences
[-n count] Print difference up to count number
[-d delta] Print difference when it is greater than limit delta
diff --git a/tools/testfiles/h5diff_606.txt b/tools/testfiles/h5diff_606.txt
index e62baf2..7879a90 100644
--- a/tools/testfiles/h5diff_606.txt
+++ b/tools/testfiles/h5diff_606.txt
@@ -11,6 +11,7 @@ file2 File name of the second HDF5 file
[obj2] Name of an HDF5 object, in absolute path
[OPTIONS] are:
[-h] Print out this information
+[-v] Verbose mode
[-r] Print only what objects differ, not the differences
[-n count] Print difference up to count number
[-d delta] Print difference when it is greater than limit delta
diff --git a/tools/testfiles/h5diff_607.txt b/tools/testfiles/h5diff_607.txt
index 0cdd240..50e8f8d 100644
--- a/tools/testfiles/h5diff_607.txt
+++ b/tools/testfiles/h5diff_607.txt
@@ -2,7 +2,6 @@
Expected output for 'h5diff file1.h5 file2.h5 -d 1 g1/dset3 g1/dset4'
#############################
$h5diff file1.h5 file2.h5 -d 1 g1/dset3 g1/dset4
-Comparing </g1/dset3> with </g1/dset4>
position dset3 dset4 difference
------------------------------------------------------------
[ 0 0 ] 100 110 10
@@ -11,6 +10,4 @@ position dset3 dset4 difference
[ 1 1 ] 100 80 20
[ 2 0 ] 100 140 40
[ 2 1 ] 100 200 100
-6 differences found
-
diff --git a/tools/testfiles/h5diff_608.txt b/tools/testfiles/h5diff_608.txt
index a93ba06..50edd51 100644
--- a/tools/testfiles/h5diff_608.txt
+++ b/tools/testfiles/h5diff_608.txt
@@ -2,7 +2,6 @@
Expected output for 'h5diff file1.h5 file2.h5 -d 1 -d 2 g1/dset3 g1/dset4'
#############################
$h5diff file1.h5 file2.h5 -d 1 -d 2 g1/dset3 g1/dset4
-Comparing </g1/dset3> with </g1/dset4>
position dset3 dset4 difference
------------------------------------------------------------
[ 0 0 ] 100 110 10
@@ -11,6 +10,4 @@ position dset3 dset4 difference
[ 1 1 ] 100 80 20
[ 2 0 ] 100 140 40
[ 2 1 ] 100 200 100
-6 differences found
-
diff --git a/tools/testfiles/h5diff_609.txt b/tools/testfiles/h5diff_609.txt
index 4856c70..f118eb4 100644
--- a/tools/testfiles/h5diff_609.txt
+++ b/tools/testfiles/h5diff_609.txt
@@ -2,7 +2,4 @@
Expected output for 'h5diff file1.h5 file2.h5 -d 200 g1/dset3 g1/dset4'
#############################
$h5diff file1.h5 file2.h5 -d 200 g1/dset3 g1/dset4
-Comparing </g1/dset3> with </g1/dset4>
-0 differences found
-
diff --git a/tools/testfiles/h5diff_610.txt b/tools/testfiles/h5diff_610.txt
index 0cdd240..50e8f8d 100644
--- a/tools/testfiles/h5diff_610.txt
+++ b/tools/testfiles/h5diff_610.txt
@@ -2,7 +2,6 @@
Expected output for 'h5diff file1.h5 file2.h5 -d 1 g1/dset3 g1/dset4'
#############################
$h5diff file1.h5 file2.h5 -d 1 g1/dset3 g1/dset4
-Comparing </g1/dset3> with </g1/dset4>
position dset3 dset4 difference
------------------------------------------------------------
[ 0 0 ] 100 110 10
@@ -11,6 +10,4 @@ position dset3 dset4 difference
[ 1 1 ] 100 80 20
[ 2 0 ] 100 140 40
[ 2 1 ] 100 200 100
-6 differences found
-
diff --git a/tools/testfiles/h5diff_611.txt b/tools/testfiles/h5diff_611.txt
index a81b283..9358186 100644
--- a/tools/testfiles/h5diff_611.txt
+++ b/tools/testfiles/h5diff_611.txt
@@ -11,6 +11,7 @@ file2 File name of the second HDF5 file
[obj2] Name of an HDF5 object, in absolute path
[OPTIONS] are:
[-h] Print out this information
+[-v] Verbose mode
[-r] Print only what objects differ, not the differences
[-n count] Print difference up to count number
[-d delta] Print difference when it is greater than limit delta
diff --git a/tools/testfiles/h5diff_612.txt b/tools/testfiles/h5diff_612.txt
index e41e95c..090da81 100644
--- a/tools/testfiles/h5diff_612.txt
+++ b/tools/testfiles/h5diff_612.txt
@@ -11,6 +11,7 @@ file2 File name of the second HDF5 file
[obj2] Name of an HDF5 object, in absolute path
[OPTIONS] are:
[-h] Print out this information
+[-v] Verbose mode
[-r] Print only what objects differ, not the differences
[-n count] Print difference up to count number
[-d delta] Print difference when it is greater than limit delta
diff --git a/tools/testfiles/h5diff_613.txt b/tools/testfiles/h5diff_613.txt
index 2aefa0e..5a6f087 100644
--- a/tools/testfiles/h5diff_613.txt
+++ b/tools/testfiles/h5diff_613.txt
@@ -11,6 +11,7 @@ file2 File name of the second HDF5 file
[obj2] Name of an HDF5 object, in absolute path
[OPTIONS] are:
[-h] Print out this information
+[-v] Verbose mode
[-r] Print only what objects differ, not the differences
[-n count] Print difference up to count number
[-d delta] Print difference when it is greater than limit delta
diff --git a/tools/testfiles/h5diff_614.txt b/tools/testfiles/h5diff_614.txt
index 659696c..1939dbd 100644
--- a/tools/testfiles/h5diff_614.txt
+++ b/tools/testfiles/h5diff_614.txt
@@ -11,6 +11,7 @@ file2 File name of the second HDF5 file
[obj2] Name of an HDF5 object, in absolute path
[OPTIONS] are:
[-h] Print out this information
+[-v] Verbose mode
[-r] Print only what objects differ, not the differences
[-n count] Print difference up to count number
[-d delta] Print difference when it is greater than limit delta
diff --git a/tools/testfiles/h5diff_615.txt b/tools/testfiles/h5diff_615.txt
index ce3d4da..6bdd490 100644
--- a/tools/testfiles/h5diff_615.txt
+++ b/tools/testfiles/h5diff_615.txt
@@ -11,6 +11,7 @@ file2 File name of the second HDF5 file
[obj2] Name of an HDF5 object, in absolute path
[OPTIONS] are:
[-h] Print out this information
+[-v] Verbose mode
[-r] Print only what objects differ, not the differences
[-n count] Print difference up to count number
[-d delta] Print difference when it is greater than limit delta
diff --git a/tools/testfiles/h5diff_616.txt b/tools/testfiles/h5diff_616.txt
index 576a7a9..d5bbbae 100644
--- a/tools/testfiles/h5diff_616.txt
+++ b/tools/testfiles/h5diff_616.txt
@@ -2,11 +2,8 @@
Expected output for 'h5diff file1.h5 file2.h5 -p 0.21 g1/dset3 g1/dset4'
#############################
$h5diff file1.h5 file2.h5 -p 0.21 g1/dset3 g1/dset4
-Comparing </g1/dset3> with </g1/dset4>
position dset3 dset4 difference relative
------------------------------------------------------------------------
[ 2 0 ] 100 140 40 0.4
[ 2 1 ] 100 200 100 1
-2 differences found
-
diff --git a/tools/testfiles/h5diff_617.txt b/tools/testfiles/h5diff_617.txt
index 1a2e58a..d31c9c9 100644
--- a/tools/testfiles/h5diff_617.txt
+++ b/tools/testfiles/h5diff_617.txt
@@ -2,11 +2,8 @@
Expected output for 'h5diff file1.h5 file2.h5 -p 0.21 -p 0.22 g1/dset3 g1/dset4'
#############################
$h5diff file1.h5 file2.h5 -p 0.21 -p 0.22 g1/dset3 g1/dset4
-Comparing </g1/dset3> with </g1/dset4>
position dset3 dset4 difference relative
------------------------------------------------------------------------
[ 2 0 ] 100 140 40 0.4
[ 2 1 ] 100 200 100 1
-2 differences found
-
diff --git a/tools/testfiles/h5diff_618.txt b/tools/testfiles/h5diff_618.txt
index fc74bc0..7ebd2fe 100644
--- a/tools/testfiles/h5diff_618.txt
+++ b/tools/testfiles/h5diff_618.txt
@@ -2,7 +2,4 @@
Expected output for 'h5diff file1.h5 file2.h5 -p 2 g1/dset3 g1/dset4'
#############################
$h5diff file1.h5 file2.h5 -p 2 g1/dset3 g1/dset4
-Comparing </g1/dset3> with </g1/dset4>
-0 differences found
-
diff --git a/tools/testfiles/h5diff_619.txt b/tools/testfiles/h5diff_619.txt
index 22b60084..f6f2aa6 100644
--- a/tools/testfiles/h5diff_619.txt
+++ b/tools/testfiles/h5diff_619.txt
@@ -2,7 +2,6 @@
Expected output for 'h5diff file1.h5 file2.h5 -p 0.005 g1/dset3 g1/dset4'
#############################
$h5diff file1.h5 file2.h5 -p 0.005 g1/dset3 g1/dset4
-Comparing </g1/dset3> with </g1/dset4>
position dset3 dset4 difference relative
------------------------------------------------------------------------
[ 0 0 ] 100 110 10 0.1
@@ -11,6 +10,4 @@ position dset3 dset4 difference relative
[ 1 1 ] 100 80 20 0.2
[ 2 0 ] 100 140 40 0.4
[ 2 1 ] 100 200 100 1
-6 differences found
-
diff --git a/tools/testfiles/h5diff_620.txt b/tools/testfiles/h5diff_620.txt
index 471403a..e731904 100644
--- a/tools/testfiles/h5diff_620.txt
+++ b/tools/testfiles/h5diff_620.txt
@@ -11,6 +11,7 @@ file2 File name of the second HDF5 file
[obj2] Name of an HDF5 object, in absolute path
[OPTIONS] are:
[-h] Print out this information
+[-v] Verbose mode
[-r] Print only what objects differ, not the differences
[-n count] Print difference up to count number
[-d delta] Print difference when it is greater than limit delta
diff --git a/tools/testfiles/h5diff_621.txt b/tools/testfiles/h5diff_621.txt
index 0ce65ba..5374e88 100644
--- a/tools/testfiles/h5diff_621.txt
+++ b/tools/testfiles/h5diff_621.txt
@@ -11,6 +11,7 @@ file2 File name of the second HDF5 file
[obj2] Name of an HDF5 object, in absolute path
[OPTIONS] are:
[-h] Print out this information
+[-v] Verbose mode
[-r] Print only what objects differ, not the differences
[-n count] Print difference up to count number
[-d delta] Print difference when it is greater than limit delta
diff --git a/tools/testfiles/h5diff_622.txt b/tools/testfiles/h5diff_622.txt
index ded2aa0..b2b9249 100644
--- a/tools/testfiles/h5diff_622.txt
+++ b/tools/testfiles/h5diff_622.txt
@@ -11,6 +11,7 @@ file2 File name of the second HDF5 file
[obj2] Name of an HDF5 object, in absolute path
[OPTIONS] are:
[-h] Print out this information
+[-v] Verbose mode
[-r] Print only what objects differ, not the differences
[-n count] Print difference up to count number
[-d delta] Print difference when it is greater than limit delta
diff --git a/tools/testfiles/h5diff_623.txt b/tools/testfiles/h5diff_623.txt
index ed80d2a..31fc9b6 100644
--- a/tools/testfiles/h5diff_623.txt
+++ b/tools/testfiles/h5diff_623.txt
@@ -11,6 +11,7 @@ file2 File name of the second HDF5 file
[obj2] Name of an HDF5 object, in absolute path
[OPTIONS] are:
[-h] Print out this information
+[-v] Verbose mode
[-r] Print only what objects differ, not the differences
[-n count] Print difference up to count number
[-d delta] Print difference when it is greater than limit delta
diff --git a/tools/testfiles/h5diff_624.txt b/tools/testfiles/h5diff_624.txt
index 1cbd883..e4c74ab 100644
--- a/tools/testfiles/h5diff_624.txt
+++ b/tools/testfiles/h5diff_624.txt
@@ -11,6 +11,7 @@ file2 File name of the second HDF5 file
[obj2] Name of an HDF5 object, in absolute path
[OPTIONS] are:
[-h] Print out this information
+[-v] Verbose mode
[-r] Print only what objects differ, not the differences
[-n count] Print difference up to count number
[-d delta] Print difference when it is greater than limit delta
diff --git a/tools/testfiles/h5diff_625.txt b/tools/testfiles/h5diff_625.txt
index d2684d3..e354988 100644
--- a/tools/testfiles/h5diff_625.txt
+++ b/tools/testfiles/h5diff_625.txt
@@ -2,11 +2,8 @@
Expected output for 'h5diff file1.h5 file2.h5 -n 2 g1/dset3 g1/dset4'
#############################
$h5diff file1.h5 file2.h5 -n 2 g1/dset3 g1/dset4
-Comparing </g1/dset3> with </g1/dset4>
position dset3 dset4 difference
------------------------------------------------------------
[ 0 0 ] 100 110 10
[ 0 1 ] 110 100 10
-2 differences found
-
diff --git a/tools/testfiles/h5diff_626.txt b/tools/testfiles/h5diff_626.txt
index a18e823..4e23b34 100644
--- a/tools/testfiles/h5diff_626.txt
+++ b/tools/testfiles/h5diff_626.txt
@@ -2,12 +2,9 @@
Expected output for 'h5diff file1.h5 file2.h5 -n 2 -n 3 g1/dset3 g1/dset4'
#############################
$h5diff file1.h5 file2.h5 -n 2 -n 3 g1/dset3 g1/dset4
-Comparing </g1/dset3> with </g1/dset4>
position dset3 dset4 difference
------------------------------------------------------------
[ 0 0 ] 100 110 10
[ 0 1 ] 110 100 10
[ 1 0 ] 100 90 10
-3 differences found
-
diff --git a/tools/testfiles/h5diff_627.txt b/tools/testfiles/h5diff_627.txt
index b67afc5..6523010 100644
--- a/tools/testfiles/h5diff_627.txt
+++ b/tools/testfiles/h5diff_627.txt
@@ -2,7 +2,6 @@
Expected output for 'h5diff file1.h5 file2.h5 -n 200 g1/dset3 g1/dset4'
#############################
$h5diff file1.h5 file2.h5 -n 200 g1/dset3 g1/dset4
-Comparing </g1/dset3> with </g1/dset4>
position dset3 dset4 difference
------------------------------------------------------------
[ 0 0 ] 100 110 10
@@ -11,6 +10,4 @@ position dset3 dset4 difference
[ 1 1 ] 100 80 20
[ 2 0 ] 100 140 40
[ 2 1 ] 100 200 100
-6 differences found
-
diff --git a/tools/testfiles/h5diff_628.txt b/tools/testfiles/h5diff_628.txt
index 891c3bb..ab6585b 100644
--- a/tools/testfiles/h5diff_628.txt
+++ b/tools/testfiles/h5diff_628.txt
@@ -2,10 +2,7 @@
Expected output for 'h5diff file1.h5 file2.h5 -n 1 g1/dset3 g1/dset4'
#############################
$h5diff file1.h5 file2.h5 -n 1 g1/dset3 g1/dset4
-Comparing </g1/dset3> with </g1/dset4>
position dset3 dset4 difference
------------------------------------------------------------
[ 0 0 ] 100 110 10
-1 differences found
-