From 401c1bc31813f5b44d575823a2c28175bb4e86a0 Mon Sep 17 00:00:00 2001
From: Pedro Vicente Nunes <pvn@hdfgroup.org>
Date: Wed, 7 May 2003 17:28:09 -0500
Subject: [svn-r6827] Purpose: added new test files for h5diff bug fix

Description:
the criteria for determining the correct switch case cast to void* to type* was the data size read from disk.
this was causing problems on Cray T3E, where all integer except char are 8 bytes long

Solution:
changed the criteria for using the memory size instead, which is determined by the same function
that reads the data into memory

the messages " using memory NATIVE_TYPE_X" were  removed, because they might not coincid on different
platforms.

Platforms tested:
Linux 2.4 (rockaway)
SunOS 5.7 (arabica)
IRIX 6.5 (modi4)


Misc. update:
---
 tools/h5diff/h5diff.c           |  46 ++++++++++------
 tools/h5diff/h5difftst.c        | 113 +++++++++++++++++++++++++++++++++++-----
 tools/h5diff/testh5diff.sh      |  42 +++++++++++++--
 tools/testfiles/h5diff_01.txt   |   2 +-
 tools/testfiles/h5diff_02.txt   |   2 +-
 tools/testfiles/h5diff_031.txt  |   2 +-
 tools/testfiles/h5diff_041.txt  |   2 +-
 tools/testfiles/h5diff_0410.txt |   1 -
 tools/testfiles/h5diff_042.txt  |   2 +-
 tools/testfiles/h5diff_043.txt  |   2 +-
 tools/testfiles/h5diff_044.txt  |   2 +-
 tools/testfiles/h5diff_045.txt  |   2 +-
 tools/testfiles/h5diff_048.txt  |   1 -
 tools/testfiles/h5diff_049.txt  |   1 -
 tools/testfiles/h5diff_051.txt  |   2 +-
 tools/testfiles/h5diff_0510.txt |   1 -
 tools/testfiles/h5diff_052.txt  |   2 +-
 tools/testfiles/h5diff_053.txt  |   2 +-
 tools/testfiles/h5diff_054.txt  |   2 +-
 tools/testfiles/h5diff_055.txt  |   2 +-
 tools/testfiles/h5diff_058.txt  |   1 -
 tools/testfiles/h5diff_059.txt  |   1 -
 tools/testfiles/h5diff_061.txt  |   2 +-
 tools/testfiles/h5diff_0610.txt |   2 +-
 tools/testfiles/h5diff_062.txt  |   2 +-
 tools/testfiles/h5diff_063.txt  |   2 +-
 tools/testfiles/h5diff_064.txt  |   2 +-
 tools/testfiles/h5diff_065.txt  |   2 +-
 tools/testfiles/h5diff_068.txt  |   1 -
 tools/testfiles/h5diff_069.txt  |   1 -
 tools/testfiles/h5diff_17.txt   |   1 -
 tools/testfiles/h5diff_18.txt   |   1 -
 tools/testfiles/h5diff_213.txt  |   1 -
 tools/testfiles/h5diff_220.txt  |   1 -
 tools/testfiles/h5diff_221.txt  |   1 -
 tools/testfiles/h5diff_222.txt  |   1 -
 tools/testfiles/h5diff_223.txt  |   1 -
 tools/testfiles/h5diff_230.txt  |   1 -
 tools/testfiles/h5diff_231.txt  |   1 -
 tools/testfiles/h5diff_232.txt  |   1 -
 tools/testfiles/h5diff_233.txt  |   1 -
 tools/testfiles/h5diff_240.txt  |   1 -
 tools/testfiles/h5diff_241.txt  |   1 -
 tools/testfiles/h5diff_242.txt  |   1 -
 tools/testfiles/h5diff_243.txt  |   1 -
 tools/testfiles/h5diff_250.txt  |   1 -
 tools/testfiles/h5diff_251.txt  |   1 -
 tools/testfiles/h5diff_252.txt  |   1 -
 tools/testfiles/h5diff_253.txt  |   1 -
 tools/testfiles/h5diff_260.txt  |   1 -
 tools/testfiles/h5diff_261.txt  |   1 -
 tools/testfiles/h5diff_262.txt  |   1 -
 tools/testfiles/h5diff_263.txt  |   1 -
 tools/testfiles/h5diff_30.txt   |   6 +--
 tools/testfiles/h5diff_31.txt   |   7 ++-
 tools/testfiles/h5diff_32.txt   |   6 +--
 tools/testfiles/h5diff_33.txt   |   6 +--
 tools/testfiles/h5diff_34.txt   |   7 ++-
 tools/testfiles/h5diff_35.txt   |   8 +++
 tools/testfiles/h5diff_40.txt   |   7 +++
 tools/testfiles/h5diff_411.txt  |   7 +++
 tools/testfiles/h5diff_412.txt  |   6 +++
 tools/testfiles/h5diff_413.txt  |   6 +++
 tools/testfiles/h5diff_421.txt  |   7 +++
 tools/testfiles/h5diff_422.txt  |   7 +++
 tools/testfiles/h5diff_test1.h5 | Bin 10392 -> 10392 bytes
 tools/testfiles/h5diff_test2.h5 | Bin 8104 -> 8104 bytes
 tools/testfiles/h5diff_test3.h5 | Bin 1848 -> 1848 bytes
 tools/testfiles/h5diff_test4.h5 | Bin 1848 -> 1848 bytes
 tools/testfiles/h5diff_test5.h5 | Bin 0 -> 9048 bytes
 tools/testfiles/h5diff_test6.h5 | Bin 0 -> 6824 bytes
 71 files changed, 250 insertions(+), 100 deletions(-)
 create mode 100644 tools/testfiles/h5diff_35.txt
 create mode 100644 tools/testfiles/h5diff_40.txt
 create mode 100644 tools/testfiles/h5diff_411.txt
 create mode 100644 tools/testfiles/h5diff_412.txt
 create mode 100644 tools/testfiles/h5diff_413.txt
 create mode 100644 tools/testfiles/h5diff_421.txt
 create mode 100644 tools/testfiles/h5diff_422.txt
 create mode 100644 tools/testfiles/h5diff_test5.h5
 create mode 100644 tools/testfiles/h5diff_test6.h5

diff --git a/tools/h5diff/h5diff.c b/tools/h5diff/h5diff.c
index eb848d6..374f2c3 100644
--- a/tools/h5diff/h5diff.c
+++ b/tools/h5diff/h5diff.c
@@ -46,7 +46,8 @@ typedef struct options_t
 int diff_dataset( hid_t file1_id, hid_t file2_id, const char *obj1_name, 
                   const char *obj2_name, options_t options );
 int array_diff( void *buf1, void *buf2, hsize_t tot_cnt, hid_t type_id, int rank,
-                 hsize_t *dims, options_t options, const char *obj1, const char *obj2 );
+                 hsize_t *dims, options_t options, const char *obj1, const char *obj2,
+																	size_t size_mem);
 void print_class( H5T_class_t tclass, char *sclass );
 void list( const char *filename, int nobjects, info_t *info );
 void diff( hid_t file1_id, const char *obj1_name, hid_t file2_id, const char *obj2_name, 
@@ -104,7 +105,7 @@ void usage(void)
  printf("[-n count]        Print difference up to count number for each variable\n");
  printf("[-d delta]        Print difference when it is greater than limit delta\n");
  printf("[-p relative]     Print differences which are within a relative error value\n");
- printf("[-m ]             Print differences on a sequencial match iteration\n");
+ printf("[-m ]             Print differences on a sequential match iteration\n");
 }
 
 
@@ -158,7 +159,6 @@ int main(int argc, const char *argv[])
  const char *obj1_name  = NULL;
  const char *obj2_name  = NULL;
  
-
 /*-------------------------------------------------------------------------
  * print the command line options
  *-------------------------------------------------------------------------
@@ -797,6 +797,7 @@ int diff_dataset( hid_t file1_id, hid_t file2_id, const char *obj1_name,
  char    sclass2[20];
  int     nfound;
  hid_t   type_mem =-1; /* read to memory type */
+	size_t  size_mem;     /* size of type in memory */
  void    *edata;
  hid_t   (*func)(void*);
  htri_t  is1, is2;
@@ -1043,6 +1044,9 @@ int diff_dataset( hid_t file1_id, hid_t file2_id, const char *obj1_name,
  */
 
  type_mem = fixtype( type1_id );
+	/* Get the size. */
+ size_mem = H5Tget_size( type_mem );
+
 
 /*-------------------------------------------------------------------------
  * read
@@ -1060,7 +1064,8 @@ int diff_dataset( hid_t file1_id, hid_t file2_id, const char *obj1_name,
  else
   tot_cnt = tot_cnt1; 
 
- nfound = array_diff(buf1,buf2,tot_cnt,type1_id,rank1,dims1,options,obj1_name,obj2_name);
+ nfound = array_diff(buf1,buf2,tot_cnt,type1_id,rank1,dims1,options,
+		        obj1_name,obj2_name,size_mem);
  printf("%d differences found\n", nfound );
 
 
@@ -1105,7 +1110,8 @@ out:
  */
  
 int array_diff( void *buf1, void *buf2, hsize_t tot_cnt, hid_t type_id, int rank,
-                 hsize_t *dims, options_t options, const char *obj1, const char *obj2 )
+                 hsize_t *dims, options_t options, const char *obj1, const char *obj2,
+																	size_t size_mem )
 {
  char   *i1ptr1, *i1ptr2;
  short  *i2ptr1, *i2ptr2;
@@ -1116,6 +1122,7 @@ int array_diff( void *buf1, void *buf2, hsize_t tot_cnt, hid_t type_id, int rank
  int    nfound=0; /* number of differences found */
  int    ph=1;     /* print header  */
  int    i8diff; 
+	int    v=0;
 
  /* accumulator and matrix position */
  int          acc[32];
@@ -1137,6 +1144,12 @@ int array_diff( void *buf1, void *buf2, hsize_t tot_cnt, hid_t type_id, int rank
  /* Get the size. */
  type_size = H5Tget_size( type_id );
 
+	if (v && size_mem!=type_size)
+	{
+  printf("memory type size is %d\n", size_mem);
+		printf("disk type size is %d\n", type_size);
+	}
+
  
  switch(type_class)
  {
@@ -1146,7 +1159,7 @@ int array_diff( void *buf1, void *buf2, hsize_t tot_cnt, hid_t type_id, int rank
   case H5T_INTEGER:
 
 
-   switch(type_size)
+   switch(size_mem)
    {
 
   /*-------------------------------------------------------------------------
@@ -1515,7 +1528,7 @@ int array_diff( void *buf1, void *buf2, hsize_t tot_cnt, hid_t type_id, int rank
 
    case H5T_FLOAT:
 
-   switch(type_size)
+   switch(size_mem)
    {
 
   /*-------------------------------------------------------------------------
@@ -1841,6 +1854,7 @@ hid_t fixtype(hid_t f_type)
 {
  hid_t   m_type = -1;
  size_t  size;
+	int     v=0;
  
  size = H5Tget_size(f_type);
  
@@ -1857,19 +1871,19 @@ hid_t fixtype(hid_t f_type)
  */
   if (size <= sizeof(char)) {
    m_type = H5Tcopy(H5T_NATIVE_SCHAR);
-   printf("using memory type H5T_NATIVE_SCHAR\n");
+			if (v) printf("using memory type H5T_NATIVE_SCHAR\n");
   } else if (size <= sizeof(short)) {
    m_type = H5Tcopy(H5T_NATIVE_SHORT);
-   printf("using memory type H5T_NATIVE_SHORT\n");
+   if (v) printf("using memory type H5T_NATIVE_SHORT\n");
   } else if (size <= sizeof(int)) {
    m_type = H5Tcopy(H5T_NATIVE_INT);
-   printf("using memory type H5T_NATIVE_INT\n");
+   if (v) printf("using memory type H5T_NATIVE_INT\n");
   } else if (size <= sizeof(long)) {
    m_type = H5Tcopy(H5T_NATIVE_LONG);
-   printf("using memory type H5T_NATIVE_LONG\n");
+   if (v) printf("using memory type H5T_NATIVE_LONG\n");
   } else {
    m_type = H5Tcopy(H5T_NATIVE_LLONG);
-   printf("using memory type H5T_NATIVE_LLONG\n");
+   if (v) printf("using memory type H5T_NATIVE_LLONG\n");
   }
   
   H5Tset_sign(m_type, H5Tget_sign(f_type));
@@ -1883,13 +1897,13 @@ hid_t fixtype(hid_t f_type)
  */
   if (size <= sizeof(float)) {
    m_type = H5Tcopy(H5T_NATIVE_FLOAT);
-   printf("using memory type H5T_NATIVE_FLOAT\n");
+   if (v) printf("using memory type H5T_NATIVE_FLOAT\n");
   } else if (size <= sizeof(double)) {
    m_type = H5Tcopy(H5T_NATIVE_DOUBLE);
-   printf("using memory type H5T_NATIVE_DOUBLE\n");
+   if (v) printf("using memory type H5T_NATIVE_DOUBLE\n");
   } else {
    m_type = H5Tcopy(H5T_NATIVE_LDOUBLE);
-   printf("using memory type H5T_NATIVE_LDOUBLE\n");
+   if (v) printf("using memory type H5T_NATIVE_LDOUBLE\n");
   }
   break;
   
@@ -2006,3 +2020,5 @@ void print_datatype(hid_t type)
 
 
 
+
+
diff --git a/tools/h5diff/h5difftst.c b/tools/h5diff/h5difftst.c
index c795b55..714055e 100644
--- a/tools/h5diff/h5difftst.c
+++ b/tools/h5diff/h5difftst.c
@@ -20,7 +20,7 @@
 
 /* diff tst*/
 int do_test_files(void);
-int write_dataset( hid_t file_id, int rank, hsize_t *dims, const char *dset_name,
+int write_dataset( hid_t loc_id, int rank, hsize_t *dims, const char *dset_name,
                    hid_t type_id, void *data );
 
 
@@ -54,9 +54,6 @@ h5diff_test1.h5
 # test 0.3.1: Check for -h option
 -h h5diff_test1.h5 h5diff_test2.h5
 
-# test 0.3.2: Check for -l option
--l h5diff_test1.h5 h5diff_test2.h5
-
 # test 0.3.3: Check for -r option
 -r h5diff_test1.h5 h5diff_test2.h5
 
@@ -340,16 +337,49 @@ dset2.6a dset2.6b -p 3 h5diff_test1.h5 h5diff_test2.h5
 h5diff_test3.h5 h5diff_test4.h5
 
 # test 3.1
-dset3 dset3 h5diff_test3.h5 h5diff_test4.h5
+dset_A dset_A h5diff_test3.h5 h5diff_test4.h5
 
 # test 3.2
-dset3 dset4 h5diff_test3.h5 h5diff_test4.h5
+dset_A dset_B h5diff_test3.h5 h5diff_test4.h5
 
 # test 3.3
-dset6 dset3 h5diff_test3.h5 h5diff_test4.h5
+dset_C dset_A h5diff_test3.h5 h5diff_test4.h5
 
 # test 3.4
-dset6 dset6 h5diff_test3.h5 h5diff_test4.h5
+dset_C dset_C h5diff_test3.h5 h5diff_test4.h5
+
+#######################################################
+# reverse direction
+#######################################################
+
+# test 3.5
+h5diff_test4.h5 h5diff_test3.h5
+
+#######################################################
+# Different paths
+#######################################################
+
+# test 4.0: should find
+g1/dset1 g2/dset1 h5diff_test5.h5 h5diff_test6.h5
+
+# test 4.1.1: should NOT find
+dset1 dset1 h5diff_test5.h5 h5diff_test6.h5
+
+# test 4.1.2: should NOT find
+/g1/dset1 dset1 h5diff_test5.h5 h5diff_test6.h5
+
+# test 4.1.3: should NOT find
+/g1/dset1 /g1/dset1 h5diff_test5.h5 h5diff_test6.h5
+
+#######################################################
+# paths with several components
+#######################################################
+
+# test 4.2.1: 
+/a/b/c /a/b/c h5diff_test5.h5 h5diff_test6.h5
+
+# test 4.2.2: 
+/x/a/c /a/b/c h5diff_test5.h5 h5diff_test6.h5
 
 */
 
@@ -358,9 +388,10 @@ int do_test_files(void)
 {
 
  hid_t   file1_id, file2_id, file3_id, file4_id; 
+	hid_t   file5_id, file6_id; 
  hid_t   dataset_id;
  hid_t   space_id;  
- hid_t   group_id;
+ hid_t   group_id, group2_id;
  hid_t   plist_id;
  hid_t   type_id, type2_id;  
  herr_t  status;
@@ -744,6 +775,61 @@ int do_test_files(void)
  write_dataset(file4_id,1,dims1_1,"dset_C",H5T_NATIVE_INT,0);
 
 
+/*-------------------------------------------------------------------------
+ * Create two files for path tests
+ *-------------------------------------------------------------------------
+ */
+  
+ /* Create a file */
+ file5_id = H5Fcreate ("h5diff_test5.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); 
+
+ /* Create a file */
+ file6_id = H5Fcreate ("h5diff_test6.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); 
+
+/*-------------------------------------------------------------------------
+ * Test 4.1.x
+ * Check for different paths
+ *-------------------------------------------------------------------------
+ */
+
+	/* Create "g1/dset1" */
+ group_id = H5Gcreate(file5_id, "g1", 0);
+ write_dataset(group_id,1,dims1_1,"dset1",H5T_NATIVE_INT,0);
+	status = H5Gclose(group_id);
+
+	/* Create "g2/dset1" */
+ group_id = H5Gcreate(file6_id, "g2", 0);
+ write_dataset(group_id,1,dims1_1,"dset1",H5T_NATIVE_INT,0);
+	status = H5Gclose(group_id);
+
+/*-------------------------------------------------------------------------
+ * Test 4.2.x
+ * paths with several components
+ *-------------------------------------------------------------------------
+ */
+
+	/* Create "/a/b/c" */
+ group_id = H5Gcreate(file5_id, "a", 0);
+	group2_id = H5Gcreate(group_id, "b", 0);
+ write_dataset(group2_id,1,dims1_1,"c",H5T_NATIVE_INT,0);
+	status = H5Gclose(group_id);
+	status = H5Gclose(group2_id);
+
+	/* Create "/a/b/c" */
+ group_id = H5Gcreate(file6_id, "a", 0);
+	group2_id = H5Gcreate(group_id, "b", 0);
+ write_dataset(group2_id,1,dims1_1,"c",H5T_NATIVE_INT,0);
+	status = H5Gclose(group_id);
+	status = H5Gclose(group2_id);
+
+	/* Create "/x/a/c" */
+ group_id = H5Gcreate(file5_id, "x", 0);
+	group2_id = H5Gcreate(group_id, "a", 0);
+ write_dataset(group2_id,1,dims1_1,"c",H5T_NATIVE_INT,0);
+	status = H5Gclose(group_id);
+	status = H5Gclose(group2_id);
+
+
 
  
 /*-------------------------------------------------------------------------
@@ -754,6 +840,8 @@ int do_test_files(void)
  status = H5Fclose(file2_id);
  status = H5Fclose(file3_id);
  status = H5Fclose(file4_id);
+	status = H5Fclose(file5_id);
+ status = H5Fclose(file6_id);
 
 
  return 0;
@@ -775,7 +863,7 @@ int do_test_files(void)
  *-------------------------------------------------------------------------
  */
 
-int write_dataset( hid_t file_id, int rank, hsize_t *dims, const char *dset_name,
+int write_dataset( hid_t loc_id, int rank, hsize_t *dims, const char *dset_name,
                    hid_t type_id, void *data )
 {
  hid_t   dataset_id;
@@ -786,7 +874,7 @@ int write_dataset( hid_t file_id, int rank, hsize_t *dims, const char *dset_name
  space_id = H5Screate_simple(rank,dims,NULL);
 
  /* Create a dataset */
- dataset_id = H5Dcreate(file_id,dset_name,type_id,space_id,H5P_DEFAULT);
+ dataset_id = H5Dcreate(loc_id,dset_name,type_id,space_id,H5P_DEFAULT);
   
  /* Write the data */
  if ( data )
@@ -805,6 +893,3 @@ int write_dataset( hid_t file_id, int rank, hsize_t *dims, const char *dset_name
 
 
 
-
-
-
diff --git a/tools/h5diff/testh5diff.sh b/tools/h5diff/testh5diff.sh
index 97025d5..4761595 100755
--- a/tools/h5diff/testh5diff.sh
+++ b/tools/h5diff/testh5diff.sh
@@ -389,16 +389,50 @@ TOOLTEST h5diff_263.txt dset2.6a dset2.6b -p 3 h5diff_test1.h5 h5diff_test2.h5
 TOOLTEST h5diff_30.txt h5diff_test3.h5 h5diff_test4.h5
 
 # test 3.1
-TOOLTEST h5diff_31.txt dset3 dset3 h5diff_test3.h5 h5diff_test4.h5
+TOOLTEST h5diff_31.txt dset_A dset_A h5diff_test3.h5 h5diff_test4.h5
 
 # test 3.2
-TOOLTEST h5diff_32.txt dset3 dset4 h5diff_test3.h5 h5diff_test4.h5
+TOOLTEST h5diff_32.txt dset_A dset_B h5diff_test3.h5 h5diff_test4.h5
 
 # test 3.3
-TOOLTEST h5diff_33.txt dset6 dset3 h5diff_test3.h5 h5diff_test4.h5
+TOOLTEST h5diff_33.txt dset_C dset_A h5diff_test3.h5 h5diff_test4.h5
 
 # test 3.4
-TOOLTEST h5diff_34.txt dset6 dset6 h5diff_test3.h5 h5diff_test4.h5
+TOOLTEST h5diff_34.txt dset_C dset_C h5diff_test3.h5 h5diff_test4.h5
+
+#######################################################
+# reverse direction
+#######################################################
+
+# test 3.5
+TOOLTEST h5diff_35.txt h5diff_test4.h5 h5diff_test3.h5
+
+#######################################################
+# Different paths
+#######################################################
+
+# test 4.0: should find
+TOOLTEST h5diff_40.txt g1/dset1 g2/dset1 h5diff_test5.h5 h5diff_test6.h5
+
+# test 4.1.1: should NOT find
+TOOLTEST h5diff_411.txt dset1 dset1 h5diff_test5.h5 h5diff_test6.h5
+
+# test 4.1.2: should NOT find
+TOOLTEST h5diff_412.txt /g1/dset1 dset1 h5diff_test5.h5 h5diff_test6.h5
+
+# test 4.1.3: should NOT find
+TOOLTEST h5diff_413.txt /g1/dset1 /g1/dset1 h5diff_test5.h5 h5diff_test6.h5
+
+#######################################################
+# paths with several components
+#######################################################
+
+# test 4.2.1: 
+TOOLTEST h5diff_421.txt /a/b/c /a/b/c h5diff_test5.h5 h5diff_test6.h5
+
+# test 4.2.2: 
+TOOLTEST h5diff_422.txt /x/a/c /a/b/c h5diff_test5.h5 h5diff_test6.h5
+
 
 
 
diff --git a/tools/testfiles/h5diff_01.txt b/tools/testfiles/h5diff_01.txt
index 84dce54..919a6f1 100644
--- a/tools/testfiles/h5diff_01.txt
+++ b/tools/testfiles/h5diff_01.txt
@@ -15,4 +15,4 @@ file2_name        File name of the second HDF5 file
 [-n count]        Print difference up to count number for each variable
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print differences which are within a relative error value
-[-m ]             Print differences on a sequencial match iteration
+[-m ]             Print differences on a sequential match iteration
diff --git a/tools/testfiles/h5diff_02.txt b/tools/testfiles/h5diff_02.txt
index 3dab1ef..738c8b9 100644
--- a/tools/testfiles/h5diff_02.txt
+++ b/tools/testfiles/h5diff_02.txt
@@ -15,4 +15,4 @@ file2_name        File name of the second HDF5 file
 [-n count]        Print difference up to count number for each variable
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print differences which are within a relative error value
-[-m ]             Print differences on a sequencial match iteration
+[-m ]             Print differences on a sequential match iteration
diff --git a/tools/testfiles/h5diff_031.txt b/tools/testfiles/h5diff_031.txt
index 789fe25..348bfbb 100644
--- a/tools/testfiles/h5diff_031.txt
+++ b/tools/testfiles/h5diff_031.txt
@@ -14,4 +14,4 @@ file2_name        File name of the second HDF5 file
 [-n count]        Print difference up to count number for each variable
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print differences which are within a relative error value
-[-m ]             Print differences on a sequencial match iteration
+[-m ]             Print differences on a sequential match iteration
diff --git a/tools/testfiles/h5diff_041.txt b/tools/testfiles/h5diff_041.txt
index 806f9c5..2e0203e 100644
--- a/tools/testfiles/h5diff_041.txt
+++ b/tools/testfiles/h5diff_041.txt
@@ -15,4 +15,4 @@ file2_name        File name of the second HDF5 file
 [-n count]        Print difference up to count number for each variable
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print differences which are within a relative error value
-[-m ]             Print differences on a sequencial match iteration
+[-m ]             Print differences on a sequential match iteration
diff --git a/tools/testfiles/h5diff_0410.txt b/tools/testfiles/h5diff_0410.txt
index ff1059a..aa828f3 100644
--- a/tools/testfiles/h5diff_0410.txt
+++ b/tools/testfiles/h5diff_0410.txt
@@ -3,7 +3,6 @@ Expected output for 'h5diff dset2.1a dset2.1b -d 2.3 h5diff_test1.h5 h5diff_test
 #############################
 $h5diff dset2.1a dset2.1b -d 2.3 h5diff_test1.h5 h5diff_test2.h5
 Comparing <dset2.1a> with <dset2.1b>
-using memory type H5T_NATIVE_SCHAR
 position        dset2.1a        dset2.1b        difference          
 ------------------------------------------------------------
 [ 1 1 ]          1               4               3              
diff --git a/tools/testfiles/h5diff_042.txt b/tools/testfiles/h5diff_042.txt
index de5e713..8e9fa42 100644
--- a/tools/testfiles/h5diff_042.txt
+++ b/tools/testfiles/h5diff_042.txt
@@ -15,4 +15,4 @@ file2_name        File name of the second HDF5 file
 [-n count]        Print difference up to count number for each variable
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print differences which are within a relative error value
-[-m ]             Print differences on a sequencial match iteration
+[-m ]             Print differences on a sequential match iteration
diff --git a/tools/testfiles/h5diff_043.txt b/tools/testfiles/h5diff_043.txt
index 748f7a0..59ab375 100644
--- a/tools/testfiles/h5diff_043.txt
+++ b/tools/testfiles/h5diff_043.txt
@@ -15,4 +15,4 @@ file2_name        File name of the second HDF5 file
 [-n count]        Print difference up to count number for each variable
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print differences which are within a relative error value
-[-m ]             Print differences on a sequencial match iteration
+[-m ]             Print differences on a sequential match iteration
diff --git a/tools/testfiles/h5diff_044.txt b/tools/testfiles/h5diff_044.txt
index b034418..0ac488b 100644
--- a/tools/testfiles/h5diff_044.txt
+++ b/tools/testfiles/h5diff_044.txt
@@ -15,4 +15,4 @@ file2_name        File name of the second HDF5 file
 [-n count]        Print difference up to count number for each variable
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print differences which are within a relative error value
-[-m ]             Print differences on a sequencial match iteration
+[-m ]             Print differences on a sequential match iteration
diff --git a/tools/testfiles/h5diff_045.txt b/tools/testfiles/h5diff_045.txt
index 169a908..1452776 100644
--- a/tools/testfiles/h5diff_045.txt
+++ b/tools/testfiles/h5diff_045.txt
@@ -15,4 +15,4 @@ file2_name        File name of the second HDF5 file
 [-n count]        Print difference up to count number for each variable
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print differences which are within a relative error value
-[-m ]             Print differences on a sequencial match iteration
+[-m ]             Print differences on a sequential match iteration
diff --git a/tools/testfiles/h5diff_048.txt b/tools/testfiles/h5diff_048.txt
index 649f9d9..4d656db 100644
--- a/tools/testfiles/h5diff_048.txt
+++ b/tools/testfiles/h5diff_048.txt
@@ -3,6 +3,5 @@ Expected output for 'h5diff dset2.1a dset2.1b -d 7 h5diff_test1.h5 h5diff_test2.
 #############################
 $h5diff dset2.1a dset2.1b -d 7 h5diff_test1.h5 h5diff_test2.h5
 Comparing <dset2.1a> with <dset2.1b>
-using memory type H5T_NATIVE_SCHAR
 0 differences found
 
diff --git a/tools/testfiles/h5diff_049.txt b/tools/testfiles/h5diff_049.txt
index a5ecf15..02f729f 100644
--- a/tools/testfiles/h5diff_049.txt
+++ b/tools/testfiles/h5diff_049.txt
@@ -3,7 +3,6 @@ Expected output for 'h5diff dset2.1a dset2.1b -d 1 h5diff_test1.h5 h5diff_test2.
 #############################
 $h5diff dset2.1a dset2.1b -d 1 h5diff_test1.h5 h5diff_test2.h5
 Comparing <dset2.1a> with <dset2.1b>
-using memory type H5T_NATIVE_SCHAR
 position        dset2.1a        dset2.1b        difference          
 ------------------------------------------------------------
 [ 1 0 ]          1               3               2              
diff --git a/tools/testfiles/h5diff_051.txt b/tools/testfiles/h5diff_051.txt
index 3bba57b..2c7ee52 100644
--- a/tools/testfiles/h5diff_051.txt
+++ b/tools/testfiles/h5diff_051.txt
@@ -15,4 +15,4 @@ file2_name        File name of the second HDF5 file
 [-n count]        Print difference up to count number for each variable
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print differences which are within a relative error value
-[-m ]             Print differences on a sequencial match iteration
+[-m ]             Print differences on a sequential match iteration
diff --git a/tools/testfiles/h5diff_0510.txt b/tools/testfiles/h5diff_0510.txt
index 0a69cb9..26ca338 100644
--- a/tools/testfiles/h5diff_0510.txt
+++ b/tools/testfiles/h5diff_0510.txt
@@ -3,7 +3,6 @@ Expected output for 'h5diff dset2.1a dset2.1b -p 2.3 h5diff_test1.h5 h5diff_test
 #############################
 $h5diff dset2.1a dset2.1b -p 2.3 h5diff_test1.h5 h5diff_test2.h5
 Comparing <dset2.1a> with <dset2.1b>
-using memory type H5T_NATIVE_SCHAR
 position        dset2.1a        dset2.1b        difference          
 ------------------------------------------------------------
 [ 1 1 ]          1               4               3              
diff --git a/tools/testfiles/h5diff_052.txt b/tools/testfiles/h5diff_052.txt
index 5b44166..98e6f66 100644
--- a/tools/testfiles/h5diff_052.txt
+++ b/tools/testfiles/h5diff_052.txt
@@ -15,4 +15,4 @@ file2_name        File name of the second HDF5 file
 [-n count]        Print difference up to count number for each variable
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print differences which are within a relative error value
-[-m ]             Print differences on a sequencial match iteration
+[-m ]             Print differences on a sequential match iteration
diff --git a/tools/testfiles/h5diff_053.txt b/tools/testfiles/h5diff_053.txt
index a51d0b3..07b10f6 100644
--- a/tools/testfiles/h5diff_053.txt
+++ b/tools/testfiles/h5diff_053.txt
@@ -15,4 +15,4 @@ file2_name        File name of the second HDF5 file
 [-n count]        Print difference up to count number for each variable
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print differences which are within a relative error value
-[-m ]             Print differences on a sequencial match iteration
+[-m ]             Print differences on a sequential match iteration
diff --git a/tools/testfiles/h5diff_054.txt b/tools/testfiles/h5diff_054.txt
index 96129ce..44ef2c1 100644
--- a/tools/testfiles/h5diff_054.txt
+++ b/tools/testfiles/h5diff_054.txt
@@ -15,4 +15,4 @@ file2_name        File name of the second HDF5 file
 [-n count]        Print difference up to count number for each variable
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print differences which are within a relative error value
-[-m ]             Print differences on a sequencial match iteration
+[-m ]             Print differences on a sequential match iteration
diff --git a/tools/testfiles/h5diff_055.txt b/tools/testfiles/h5diff_055.txt
index 18e3890..6ba293f 100644
--- a/tools/testfiles/h5diff_055.txt
+++ b/tools/testfiles/h5diff_055.txt
@@ -15,4 +15,4 @@ file2_name        File name of the second HDF5 file
 [-n count]        Print difference up to count number for each variable
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print differences which are within a relative error value
-[-m ]             Print differences on a sequencial match iteration
+[-m ]             Print differences on a sequential match iteration
diff --git a/tools/testfiles/h5diff_058.txt b/tools/testfiles/h5diff_058.txt
index 0d29875..be2dc79 100644
--- a/tools/testfiles/h5diff_058.txt
+++ b/tools/testfiles/h5diff_058.txt
@@ -3,6 +3,5 @@ Expected output for 'h5diff dset2.1a dset2.1b -p 7 h5diff_test1.h5 h5diff_test2.
 #############################
 $h5diff dset2.1a dset2.1b -p 7 h5diff_test1.h5 h5diff_test2.h5
 Comparing <dset2.1a> with <dset2.1b>
-using memory type H5T_NATIVE_SCHAR
 0 differences found
 
diff --git a/tools/testfiles/h5diff_059.txt b/tools/testfiles/h5diff_059.txt
index 7f4c6de..2117daf 100644
--- a/tools/testfiles/h5diff_059.txt
+++ b/tools/testfiles/h5diff_059.txt
@@ -3,7 +3,6 @@ Expected output for 'h5diff dset2.1a dset2.1b -p 1 h5diff_test1.h5 h5diff_test2.
 #############################
 $h5diff dset2.1a dset2.1b -p 1 h5diff_test1.h5 h5diff_test2.h5
 Comparing <dset2.1a> with <dset2.1b>
-using memory type H5T_NATIVE_SCHAR
 position        dset2.1a        dset2.1b        difference          
 ------------------------------------------------------------
 [ 1 0 ]          1               3               2              
diff --git a/tools/testfiles/h5diff_061.txt b/tools/testfiles/h5diff_061.txt
index a8ed80a..30d5fc0 100644
--- a/tools/testfiles/h5diff_061.txt
+++ b/tools/testfiles/h5diff_061.txt
@@ -15,4 +15,4 @@ file2_name        File name of the second HDF5 file
 [-n count]        Print difference up to count number for each variable
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print differences which are within a relative error value
-[-m ]             Print differences on a sequencial match iteration
+[-m ]             Print differences on a sequential match iteration
diff --git a/tools/testfiles/h5diff_0610.txt b/tools/testfiles/h5diff_0610.txt
index 43ac12e..0cde0ff 100644
--- a/tools/testfiles/h5diff_0610.txt
+++ b/tools/testfiles/h5diff_0610.txt
@@ -15,4 +15,4 @@ file2_name        File name of the second HDF5 file
 [-n count]        Print difference up to count number for each variable
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print differences which are within a relative error value
-[-m ]             Print differences on a sequencial match iteration
+[-m ]             Print differences on a sequential match iteration
diff --git a/tools/testfiles/h5diff_062.txt b/tools/testfiles/h5diff_062.txt
index 5d49586..30b7af7 100644
--- a/tools/testfiles/h5diff_062.txt
+++ b/tools/testfiles/h5diff_062.txt
@@ -15,4 +15,4 @@ file2_name        File name of the second HDF5 file
 [-n count]        Print difference up to count number for each variable
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print differences which are within a relative error value
-[-m ]             Print differences on a sequencial match iteration
+[-m ]             Print differences on a sequential match iteration
diff --git a/tools/testfiles/h5diff_063.txt b/tools/testfiles/h5diff_063.txt
index e9cd333..cbeb3ae 100644
--- a/tools/testfiles/h5diff_063.txt
+++ b/tools/testfiles/h5diff_063.txt
@@ -15,4 +15,4 @@ file2_name        File name of the second HDF5 file
 [-n count]        Print difference up to count number for each variable
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print differences which are within a relative error value
-[-m ]             Print differences on a sequencial match iteration
+[-m ]             Print differences on a sequential match iteration
diff --git a/tools/testfiles/h5diff_064.txt b/tools/testfiles/h5diff_064.txt
index 0386311..22bf824 100644
--- a/tools/testfiles/h5diff_064.txt
+++ b/tools/testfiles/h5diff_064.txt
@@ -15,4 +15,4 @@ file2_name        File name of the second HDF5 file
 [-n count]        Print difference up to count number for each variable
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print differences which are within a relative error value
-[-m ]             Print differences on a sequencial match iteration
+[-m ]             Print differences on a sequential match iteration
diff --git a/tools/testfiles/h5diff_065.txt b/tools/testfiles/h5diff_065.txt
index 2f0eb34..b9d01d1 100644
--- a/tools/testfiles/h5diff_065.txt
+++ b/tools/testfiles/h5diff_065.txt
@@ -15,4 +15,4 @@ file2_name        File name of the second HDF5 file
 [-n count]        Print difference up to count number for each variable
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print differences which are within a relative error value
-[-m ]             Print differences on a sequencial match iteration
+[-m ]             Print differences on a sequential match iteration
diff --git a/tools/testfiles/h5diff_068.txt b/tools/testfiles/h5diff_068.txt
index 031ce8a..5066e46 100644
--- a/tools/testfiles/h5diff_068.txt
+++ b/tools/testfiles/h5diff_068.txt
@@ -3,7 +3,6 @@ Expected output for 'h5diff dset2.1a dset2.1b -n 7 h5diff_test1.h5 h5diff_test2.
 #############################
 $h5diff dset2.1a dset2.1b -n 7 h5diff_test1.h5 h5diff_test2.h5
 Comparing <dset2.1a> with <dset2.1b>
-using memory type H5T_NATIVE_SCHAR
 position        dset2.1a        dset2.1b        difference          
 ------------------------------------------------------------
 [ 1 0 ]          1               3               2              
diff --git a/tools/testfiles/h5diff_069.txt b/tools/testfiles/h5diff_069.txt
index c12bc41..2e8c61d 100644
--- a/tools/testfiles/h5diff_069.txt
+++ b/tools/testfiles/h5diff_069.txt
@@ -3,7 +3,6 @@ Expected output for 'h5diff dset2.1a dset2.1b -n 1 h5diff_test1.h5 h5diff_test2.
 #############################
 $h5diff dset2.1a dset2.1b -n 1 h5diff_test1.h5 h5diff_test2.h5
 Comparing <dset2.1a> with <dset2.1b>
-using memory type H5T_NATIVE_SCHAR
 position        dset2.1a        dset2.1b        difference          
 ------------------------------------------------------------
 [ 1 0 ]          1               3               2              
diff --git a/tools/testfiles/h5diff_17.txt b/tools/testfiles/h5diff_17.txt
index 7295ef6..301ebb6 100644
--- a/tools/testfiles/h5diff_17.txt
+++ b/tools/testfiles/h5diff_17.txt
@@ -6,6 +6,5 @@ Comparing <dset1.7> with <dset1.7>
 Warning: <dset1.7> has different maximum dimensions than <dset1.7>
 <dset1.7>: [ 7 ]
 <dset1.7>: [ 8 ]
-using memory type H5T_NATIVE_INT
 0 differences found
 
diff --git a/tools/testfiles/h5diff_18.txt b/tools/testfiles/h5diff_18.txt
index e6c625b..d5f583a 100644
--- a/tools/testfiles/h5diff_18.txt
+++ b/tools/testfiles/h5diff_18.txt
@@ -5,6 +5,5 @@ $h5diff dset1.8 dset1.8 h5diff_test1.h5 h5diff_test2.h5
 Comparing <dset1.8> with <dset1.8>
 Warning: <dset1.8> has different storage datatype than <dset1.8>
 <dset1.8> has datatype H5T_STD_I32BE and <dset1.8> has datatype H5T_STD_I32LE
-using memory type H5T_NATIVE_INT
 0 differences found
 
diff --git a/tools/testfiles/h5diff_213.txt b/tools/testfiles/h5diff_213.txt
index 312ee87..ae8dc09 100644
--- a/tools/testfiles/h5diff_213.txt
+++ b/tools/testfiles/h5diff_213.txt
@@ -3,7 +3,6 @@ Expected output for 'h5diff dset2.1a dset2.1b -p 3 h5diff_test1.h5 h5diff_test2.
 #############################
 $h5diff dset2.1a dset2.1b -p 3 h5diff_test1.h5 h5diff_test2.h5
 Comparing <dset2.1a> with <dset2.1b>
-using memory type H5T_NATIVE_SCHAR
 position        dset2.1a        dset2.1b        difference          
 ------------------------------------------------------------
 [ 2 0 ]          1               5               4              
diff --git a/tools/testfiles/h5diff_220.txt b/tools/testfiles/h5diff_220.txt
index 688fcee..7ceddec 100644
--- a/tools/testfiles/h5diff_220.txt
+++ b/tools/testfiles/h5diff_220.txt
@@ -3,7 +3,6 @@ Expected output for 'h5diff dset2.2a dset2.2b h5diff_test1.h5 h5diff_test2.h5'
 #############################
 $h5diff dset2.2a dset2.2b h5diff_test1.h5 h5diff_test2.h5
 Comparing <dset2.2a> with <dset2.2b>
-using memory type H5T_NATIVE_SHORT
 position        dset2.2a        dset2.2b        difference          
 ------------------------------------------------------------
 [ 1 0 ]          1               3               2              
diff --git a/tools/testfiles/h5diff_221.txt b/tools/testfiles/h5diff_221.txt
index 9ca4b5c..e1a569c 100644
--- a/tools/testfiles/h5diff_221.txt
+++ b/tools/testfiles/h5diff_221.txt
@@ -3,7 +3,6 @@ Expected output for 'h5diff dset2.2a dset2.2b -n 2 h5diff_test1.h5 h5diff_test2.
 #############################
 $h5diff dset2.2a dset2.2b -n 2 h5diff_test1.h5 h5diff_test2.h5
 Comparing <dset2.2a> with <dset2.2b>
-using memory type H5T_NATIVE_SHORT
 position        dset2.2a        dset2.2b        difference          
 ------------------------------------------------------------
 [ 1 0 ]          1               3               2              
diff --git a/tools/testfiles/h5diff_222.txt b/tools/testfiles/h5diff_222.txt
index 91992c8..cd16fb1 100644
--- a/tools/testfiles/h5diff_222.txt
+++ b/tools/testfiles/h5diff_222.txt
@@ -3,7 +3,6 @@ Expected output for 'h5diff dset2.2a dset2.2b -d 3 h5diff_test1.h5 h5diff_test2.
 #############################
 $h5diff dset2.2a dset2.2b -d 3 h5diff_test1.h5 h5diff_test2.h5
 Comparing <dset2.2a> with <dset2.2b>
-using memory type H5T_NATIVE_SHORT
 position        dset2.2a        dset2.2b        difference          
 ------------------------------------------------------------
 [ 2 0 ]          1               5               4              
diff --git a/tools/testfiles/h5diff_223.txt b/tools/testfiles/h5diff_223.txt
index 17514f4..d25e995 100644
--- a/tools/testfiles/h5diff_223.txt
+++ b/tools/testfiles/h5diff_223.txt
@@ -3,7 +3,6 @@ Expected output for 'h5diff dset2.2a dset2.2b -p 3 h5diff_test1.h5 h5diff_test2.
 #############################
 $h5diff dset2.2a dset2.2b -p 3 h5diff_test1.h5 h5diff_test2.h5
 Comparing <dset2.2a> with <dset2.2b>
-using memory type H5T_NATIVE_SHORT
 position        dset2.2a        dset2.2b        difference          
 ------------------------------------------------------------
 [ 2 0 ]          1               5               4              
diff --git a/tools/testfiles/h5diff_230.txt b/tools/testfiles/h5diff_230.txt
index bdfc40e..ba72590 100644
--- a/tools/testfiles/h5diff_230.txt
+++ b/tools/testfiles/h5diff_230.txt
@@ -3,7 +3,6 @@ Expected output for 'h5diff dset2.3a dset2.3b h5diff_test1.h5 h5diff_test2.h5'
 #############################
 $h5diff dset2.3a dset2.3b h5diff_test1.h5 h5diff_test2.h5
 Comparing <dset2.3a> with <dset2.3b>
-using memory type H5T_NATIVE_INT
 position        dset2.3a        dset2.3b        difference          
 ------------------------------------------------------------
 [ 1 0 ]          1               3               2              
diff --git a/tools/testfiles/h5diff_231.txt b/tools/testfiles/h5diff_231.txt
index 5bc4a08..e6684f3 100644
--- a/tools/testfiles/h5diff_231.txt
+++ b/tools/testfiles/h5diff_231.txt
@@ -3,7 +3,6 @@ Expected output for 'h5diff dset2.3a dset2.3b -n 2 h5diff_test1.h5 h5diff_test2.
 #############################
 $h5diff dset2.3a dset2.3b -n 2 h5diff_test1.h5 h5diff_test2.h5
 Comparing <dset2.3a> with <dset2.3b>
-using memory type H5T_NATIVE_INT
 position        dset2.3a        dset2.3b        difference          
 ------------------------------------------------------------
 [ 1 0 ]          1               3               2              
diff --git a/tools/testfiles/h5diff_232.txt b/tools/testfiles/h5diff_232.txt
index c6222c4..c3474ea 100644
--- a/tools/testfiles/h5diff_232.txt
+++ b/tools/testfiles/h5diff_232.txt
@@ -3,7 +3,6 @@ Expected output for 'h5diff dset2.3a dset2.3b -d 3 h5diff_test1.h5 h5diff_test2.
 #############################
 $h5diff dset2.3a dset2.3b -d 3 h5diff_test1.h5 h5diff_test2.h5
 Comparing <dset2.3a> with <dset2.3b>
-using memory type H5T_NATIVE_INT
 position        dset2.3a        dset2.3b        difference          
 ------------------------------------------------------------
 [ 2 0 ]          1               5               4              
diff --git a/tools/testfiles/h5diff_233.txt b/tools/testfiles/h5diff_233.txt
index e580cb5..89ee3d9 100644
--- a/tools/testfiles/h5diff_233.txt
+++ b/tools/testfiles/h5diff_233.txt
@@ -3,7 +3,6 @@ Expected output for 'h5diff dset2.3a dset2.3b -p 3 h5diff_test1.h5 h5diff_test2.
 #############################
 $h5diff dset2.3a dset2.3b -p 3 h5diff_test1.h5 h5diff_test2.h5
 Comparing <dset2.3a> with <dset2.3b>
-using memory type H5T_NATIVE_INT
 position        dset2.3a        dset2.3b        difference          
 ------------------------------------------------------------
 [ 2 0 ]          1               5               4              
diff --git a/tools/testfiles/h5diff_240.txt b/tools/testfiles/h5diff_240.txt
index c86aee7..db12b4b 100644
--- a/tools/testfiles/h5diff_240.txt
+++ b/tools/testfiles/h5diff_240.txt
@@ -3,7 +3,6 @@ Expected output for 'h5diff dset2.4a dset2.4b h5diff_test1.h5 h5diff_test2.h5'
 #############################
 $h5diff dset2.4a dset2.4b h5diff_test1.h5 h5diff_test2.h5
 Comparing <dset2.4a> with <dset2.4b>
-using memory type H5T_NATIVE_INT
 position        dset2.4a        dset2.4b        difference          
 ------------------------------------------------------------
 [ 1 0 ]          1               3               2              
diff --git a/tools/testfiles/h5diff_241.txt b/tools/testfiles/h5diff_241.txt
index f95fb81..4d21e96 100644
--- a/tools/testfiles/h5diff_241.txt
+++ b/tools/testfiles/h5diff_241.txt
@@ -3,7 +3,6 @@ Expected output for 'h5diff dset2.4a dset2.4b -n 2 h5diff_test1.h5 h5diff_test2.
 #############################
 $h5diff dset2.4a dset2.4b -n 2 h5diff_test1.h5 h5diff_test2.h5
 Comparing <dset2.4a> with <dset2.4b>
-using memory type H5T_NATIVE_INT
 position        dset2.4a        dset2.4b        difference          
 ------------------------------------------------------------
 [ 1 0 ]          1               3               2              
diff --git a/tools/testfiles/h5diff_242.txt b/tools/testfiles/h5diff_242.txt
index 32da751..42da6c5 100644
--- a/tools/testfiles/h5diff_242.txt
+++ b/tools/testfiles/h5diff_242.txt
@@ -3,7 +3,6 @@ Expected output for 'h5diff dset2.4a dset2.4b -d 3 h5diff_test1.h5 h5diff_test2.
 #############################
 $h5diff dset2.4a dset2.4b -d 3 h5diff_test1.h5 h5diff_test2.h5
 Comparing <dset2.4a> with <dset2.4b>
-using memory type H5T_NATIVE_INT
 position        dset2.4a        dset2.4b        difference          
 ------------------------------------------------------------
 [ 2 0 ]          1               5               4              
diff --git a/tools/testfiles/h5diff_243.txt b/tools/testfiles/h5diff_243.txt
index 03a583d..9fc2f6c 100644
--- a/tools/testfiles/h5diff_243.txt
+++ b/tools/testfiles/h5diff_243.txt
@@ -3,7 +3,6 @@ Expected output for 'h5diff dset2.4a dset2.4b -p 3 h5diff_test1.h5 h5diff_test2.
 #############################
 $h5diff dset2.4a dset2.4b -p 3 h5diff_test1.h5 h5diff_test2.h5
 Comparing <dset2.4a> with <dset2.4b>
-using memory type H5T_NATIVE_INT
 position        dset2.4a        dset2.4b        difference          
 ------------------------------------------------------------
 [ 2 0 ]          1               5               4              
diff --git a/tools/testfiles/h5diff_250.txt b/tools/testfiles/h5diff_250.txt
index 67efcac..16eda07 100644
--- a/tools/testfiles/h5diff_250.txt
+++ b/tools/testfiles/h5diff_250.txt
@@ -3,7 +3,6 @@ Expected output for 'h5diff dset2.5a dset2.5b h5diff_test1.h5 h5diff_test2.h5'
 #############################
 $h5diff dset2.5a dset2.5b h5diff_test1.h5 h5diff_test2.h5
 Comparing <dset2.5a> with <dset2.5b>
-using memory type H5T_NATIVE_FLOAT
 position        dset2.5a        dset2.5b        difference          
 ------------------------------------------------------------
 [ 1 0 ]          1               3               2              
diff --git a/tools/testfiles/h5diff_251.txt b/tools/testfiles/h5diff_251.txt
index 35a75ed..6e26192 100644
--- a/tools/testfiles/h5diff_251.txt
+++ b/tools/testfiles/h5diff_251.txt
@@ -3,7 +3,6 @@ Expected output for 'h5diff dset2.5a dset2.5b -n 2 h5diff_test1.h5 h5diff_test2.
 #############################
 $h5diff dset2.5a dset2.5b -n 2 h5diff_test1.h5 h5diff_test2.h5
 Comparing <dset2.5a> with <dset2.5b>
-using memory type H5T_NATIVE_FLOAT
 position        dset2.5a        dset2.5b        difference          
 ------------------------------------------------------------
 [ 1 0 ]          1               3               2              
diff --git a/tools/testfiles/h5diff_252.txt b/tools/testfiles/h5diff_252.txt
index 2fd68b2..7d76fc2 100644
--- a/tools/testfiles/h5diff_252.txt
+++ b/tools/testfiles/h5diff_252.txt
@@ -3,7 +3,6 @@ Expected output for 'h5diff dset2.5a dset2.5b -d 3 h5diff_test1.h5 h5diff_test2.
 #############################
 $h5diff dset2.5a dset2.5b -d 3 h5diff_test1.h5 h5diff_test2.h5
 Comparing <dset2.5a> with <dset2.5b>
-using memory type H5T_NATIVE_FLOAT
 position        dset2.5a        dset2.5b        difference          
 ------------------------------------------------------------
 [ 2 0 ]          1               5               4              
diff --git a/tools/testfiles/h5diff_253.txt b/tools/testfiles/h5diff_253.txt
index 6893d67..6a1255f 100644
--- a/tools/testfiles/h5diff_253.txt
+++ b/tools/testfiles/h5diff_253.txt
@@ -3,7 +3,6 @@ Expected output for 'h5diff dset2.5a dset2.5b -p 3 h5diff_test1.h5 h5diff_test2.
 #############################
 $h5diff dset2.5a dset2.5b -p 3 h5diff_test1.h5 h5diff_test2.h5
 Comparing <dset2.5a> with <dset2.5b>
-using memory type H5T_NATIVE_FLOAT
 position        dset2.5a        dset2.5b        difference          
 ------------------------------------------------------------
 [ 2 0 ]          1               5               4              
diff --git a/tools/testfiles/h5diff_260.txt b/tools/testfiles/h5diff_260.txt
index f8bfb34..ecb10a0 100644
--- a/tools/testfiles/h5diff_260.txt
+++ b/tools/testfiles/h5diff_260.txt
@@ -3,7 +3,6 @@ Expected output for 'h5diff dset2.6a dset2.6b h5diff_test1.h5 h5diff_test2.h5'
 #############################
 $h5diff dset2.6a dset2.6b h5diff_test1.h5 h5diff_test2.h5
 Comparing <dset2.6a> with <dset2.6b>
-using memory type H5T_NATIVE_DOUBLE
 position        dset2.6a        dset2.6b        difference          
 ------------------------------------------------------------
 [ 1 0 ]          1               3               2              
diff --git a/tools/testfiles/h5diff_261.txt b/tools/testfiles/h5diff_261.txt
index 6102ff3..d06ab90 100644
--- a/tools/testfiles/h5diff_261.txt
+++ b/tools/testfiles/h5diff_261.txt
@@ -3,7 +3,6 @@ Expected output for 'h5diff dset2.6a dset2.6b -n 2 h5diff_test1.h5 h5diff_test2.
 #############################
 $h5diff dset2.6a dset2.6b -n 2 h5diff_test1.h5 h5diff_test2.h5
 Comparing <dset2.6a> with <dset2.6b>
-using memory type H5T_NATIVE_DOUBLE
 position        dset2.6a        dset2.6b        difference          
 ------------------------------------------------------------
 [ 1 0 ]          1               3               2              
diff --git a/tools/testfiles/h5diff_262.txt b/tools/testfiles/h5diff_262.txt
index fc4b159..ba8ad24 100644
--- a/tools/testfiles/h5diff_262.txt
+++ b/tools/testfiles/h5diff_262.txt
@@ -3,7 +3,6 @@ Expected output for 'h5diff dset2.6a dset2.6b -d 3 h5diff_test1.h5 h5diff_test2.
 #############################
 $h5diff dset2.6a dset2.6b -d 3 h5diff_test1.h5 h5diff_test2.h5
 Comparing <dset2.6a> with <dset2.6b>
-using memory type H5T_NATIVE_DOUBLE
 position        dset2.6a        dset2.6b        difference          
 ------------------------------------------------------------
 [ 2 0 ]          1               5               4              
diff --git a/tools/testfiles/h5diff_263.txt b/tools/testfiles/h5diff_263.txt
index 7df596d..0449655 100644
--- a/tools/testfiles/h5diff_263.txt
+++ b/tools/testfiles/h5diff_263.txt
@@ -3,7 +3,6 @@ Expected output for 'h5diff dset2.6a dset2.6b -p 3 h5diff_test1.h5 h5diff_test2.
 #############################
 $h5diff dset2.6a dset2.6b -p 3 h5diff_test1.h5 h5diff_test2.h5
 Comparing <dset2.6a> with <dset2.6b>
-using memory type H5T_NATIVE_DOUBLE
 position        dset2.6a        dset2.6b        difference          
 ------------------------------------------------------------
 [ 2 0 ]          1               5               4              
diff --git a/tools/testfiles/h5diff_30.txt b/tools/testfiles/h5diff_30.txt
index 03d6887..9855851 100644
--- a/tools/testfiles/h5diff_30.txt
+++ b/tools/testfiles/h5diff_30.txt
@@ -2,7 +2,7 @@
 Expected output for 'h5diff h5diff_test3.h5 h5diff_test4.h5'
 #############################
 $h5diff h5diff_test3.h5 h5diff_test4.h5
-</dset3> found in <h5diff_test3.h5> and </dset3> found in <h5diff_test4.h5>
-</dset4> is in <h5diff_test3.h5>, but not in <h5diff_test4.h5>
-</dset5> is in <h5diff_test4.h5>, but not in <h5diff_test3.h5>
+</dset_A> found in <h5diff_test3.h5> and </dset_A> found in <h5diff_test4.h5>
+</dset_B> is in <h5diff_test3.h5>, but not in <h5diff_test4.h5>
+</dset_C> is in <h5diff_test4.h5>, but not in <h5diff_test3.h5>
 
diff --git a/tools/testfiles/h5diff_31.txt b/tools/testfiles/h5diff_31.txt
index a4d73d7..5b2d5a6 100644
--- a/tools/testfiles/h5diff_31.txt
+++ b/tools/testfiles/h5diff_31.txt
@@ -1,8 +1,7 @@
 #############################
-Expected output for 'h5diff dset3 dset3 h5diff_test3.h5 h5diff_test4.h5'
+Expected output for 'h5diff dset_A dset_A h5diff_test3.h5 h5diff_test4.h5'
 #############################
-$h5diff dset3 dset3 h5diff_test3.h5 h5diff_test4.h5
-Comparing <dset3> with <dset3>
-using memory type H5T_NATIVE_INT
+$h5diff dset_A dset_A h5diff_test3.h5 h5diff_test4.h5
+Comparing <dset_A> with <dset_A>
 0 differences found
 
diff --git a/tools/testfiles/h5diff_32.txt b/tools/testfiles/h5diff_32.txt
index cedce16..1bea572 100644
--- a/tools/testfiles/h5diff_32.txt
+++ b/tools/testfiles/h5diff_32.txt
@@ -1,6 +1,6 @@
 #############################
-Expected output for 'h5diff dset3 dset4 h5diff_test3.h5 h5diff_test4.h5'
+Expected output for 'h5diff dset_A dset_B h5diff_test3.h5 h5diff_test4.h5'
 #############################
-$h5diff dset3 dset4 h5diff_test3.h5 h5diff_test4.h5
-Object <dset4> could not be found in <h5diff_test4.h5>
+$h5diff dset_A dset_B h5diff_test3.h5 h5diff_test4.h5
+Object <dset_B> could not be found in <h5diff_test4.h5>
 
diff --git a/tools/testfiles/h5diff_33.txt b/tools/testfiles/h5diff_33.txt
index 94587ae..fd247ad 100644
--- a/tools/testfiles/h5diff_33.txt
+++ b/tools/testfiles/h5diff_33.txt
@@ -1,6 +1,6 @@
 #############################
-Expected output for 'h5diff dset6 dset3 h5diff_test3.h5 h5diff_test4.h5'
+Expected output for 'h5diff dset_C dset_A h5diff_test3.h5 h5diff_test4.h5'
 #############################
-$h5diff dset6 dset3 h5diff_test3.h5 h5diff_test4.h5
-Object <dset6> could not be found in <h5diff_test3.h5>
+$h5diff dset_C dset_A h5diff_test3.h5 h5diff_test4.h5
+Object <dset_C> could not be found in <h5diff_test3.h5>
 
diff --git a/tools/testfiles/h5diff_34.txt b/tools/testfiles/h5diff_34.txt
index 704896b..84c1db6 100644
--- a/tools/testfiles/h5diff_34.txt
+++ b/tools/testfiles/h5diff_34.txt
@@ -1,7 +1,6 @@
 #############################
-Expected output for 'h5diff dset6 dset6 h5diff_test3.h5 h5diff_test4.h5'
+Expected output for 'h5diff dset_C dset_C h5diff_test3.h5 h5diff_test4.h5'
 #############################
-$h5diff dset6 dset6 h5diff_test3.h5 h5diff_test4.h5
-Object <dset6> could not be found in <h5diff_test3.h5>
-Object <dset6> could not be found in <h5diff_test4.h5>
+$h5diff dset_C dset_C h5diff_test3.h5 h5diff_test4.h5
+Object <dset_C> could not be found in <h5diff_test3.h5>
 
diff --git a/tools/testfiles/h5diff_35.txt b/tools/testfiles/h5diff_35.txt
new file mode 100644
index 0000000..38f3b01
--- /dev/null
+++ b/tools/testfiles/h5diff_35.txt
@@ -0,0 +1,8 @@
+#############################
+Expected output for 'h5diff h5diff_test4.h5 h5diff_test3.h5'
+#############################
+$h5diff h5diff_test4.h5 h5diff_test3.h5
+</dset_A> found in <h5diff_test4.h5> and </dset_A> found in <h5diff_test3.h5>
+</dset_B> is in <h5diff_test3.h5>, but not in <h5diff_test4.h5>
+</dset_C> is in <h5diff_test4.h5>, but not in <h5diff_test3.h5>
+
diff --git a/tools/testfiles/h5diff_40.txt b/tools/testfiles/h5diff_40.txt
new file mode 100644
index 0000000..cc4be28
--- /dev/null
+++ b/tools/testfiles/h5diff_40.txt
@@ -0,0 +1,7 @@
+#############################
+Expected output for 'h5diff g1/dset1 g2/dset1 h5diff_test5.h5 h5diff_test6.h5'
+#############################
+$h5diff g1/dset1 g2/dset1 h5diff_test5.h5 h5diff_test6.h5
+Comparing <g1/dset1> with <g2/dset1>
+0 differences found
+
diff --git a/tools/testfiles/h5diff_411.txt b/tools/testfiles/h5diff_411.txt
new file mode 100644
index 0000000..9b214d4
--- /dev/null
+++ b/tools/testfiles/h5diff_411.txt
@@ -0,0 +1,7 @@
+#############################
+Expected output for 'h5diff dset1 dset1 h5diff_test5.h5 h5diff_test6.h5'
+#############################
+$h5diff dset1 dset1 h5diff_test5.h5 h5diff_test6.h5
+Object <dset1> could not be found in <h5diff_test5.h5>
+Object <dset1> could not be found in <h5diff_test6.h5>
+
diff --git a/tools/testfiles/h5diff_412.txt b/tools/testfiles/h5diff_412.txt
new file mode 100644
index 0000000..09a1d62
--- /dev/null
+++ b/tools/testfiles/h5diff_412.txt
@@ -0,0 +1,6 @@
+#############################
+Expected output for 'h5diff /g1/dset1 dset1 h5diff_test5.h5 h5diff_test6.h5'
+#############################
+$h5diff /g1/dset1 dset1 h5diff_test5.h5 h5diff_test6.h5
+Object <dset1> could not be found in <h5diff_test6.h5>
+
diff --git a/tools/testfiles/h5diff_413.txt b/tools/testfiles/h5diff_413.txt
new file mode 100644
index 0000000..cccdf93
--- /dev/null
+++ b/tools/testfiles/h5diff_413.txt
@@ -0,0 +1,6 @@
+#############################
+Expected output for 'h5diff /g1/dset1 /g1/dset1 h5diff_test5.h5 h5diff_test6.h5'
+#############################
+$h5diff /g1/dset1 /g1/dset1 h5diff_test5.h5 h5diff_test6.h5
+Object </g1/dset1> could not be found in <h5diff_test6.h5>
+
diff --git a/tools/testfiles/h5diff_421.txt b/tools/testfiles/h5diff_421.txt
new file mode 100644
index 0000000..94a4258
--- /dev/null
+++ b/tools/testfiles/h5diff_421.txt
@@ -0,0 +1,7 @@
+#############################
+Expected output for 'h5diff /a/b/c /a/b/c h5diff_test5.h5 h5diff_test6.h5'
+#############################
+$h5diff /a/b/c /a/b/c h5diff_test5.h5 h5diff_test6.h5
+Comparing </a/b/c> with </a/b/c>
+0 differences found
+
diff --git a/tools/testfiles/h5diff_422.txt b/tools/testfiles/h5diff_422.txt
new file mode 100644
index 0000000..9b99466
--- /dev/null
+++ b/tools/testfiles/h5diff_422.txt
@@ -0,0 +1,7 @@
+#############################
+Expected output for 'h5diff /x/a/c /a/b/c h5diff_test5.h5 h5diff_test6.h5'
+#############################
+$h5diff /x/a/c /a/b/c h5diff_test5.h5 h5diff_test6.h5
+Comparing </x/a/c> with </a/b/c>
+0 differences found
+
diff --git a/tools/testfiles/h5diff_test1.h5 b/tools/testfiles/h5diff_test1.h5
index f4bb407..e5b1281 100644
Binary files a/tools/testfiles/h5diff_test1.h5 and b/tools/testfiles/h5diff_test1.h5 differ
diff --git a/tools/testfiles/h5diff_test2.h5 b/tools/testfiles/h5diff_test2.h5
index 18a6648..30d05bd 100644
Binary files a/tools/testfiles/h5diff_test2.h5 and b/tools/testfiles/h5diff_test2.h5 differ
diff --git a/tools/testfiles/h5diff_test3.h5 b/tools/testfiles/h5diff_test3.h5
index 3a08d67..ffeff7f 100644
Binary files a/tools/testfiles/h5diff_test3.h5 and b/tools/testfiles/h5diff_test3.h5 differ
diff --git a/tools/testfiles/h5diff_test4.h5 b/tools/testfiles/h5diff_test4.h5
index 702c421..5777c98 100644
Binary files a/tools/testfiles/h5diff_test4.h5 and b/tools/testfiles/h5diff_test4.h5 differ
diff --git a/tools/testfiles/h5diff_test5.h5 b/tools/testfiles/h5diff_test5.h5
new file mode 100644
index 0000000..74cfb19
Binary files /dev/null and b/tools/testfiles/h5diff_test5.h5 differ
diff --git a/tools/testfiles/h5diff_test6.h5 b/tools/testfiles/h5diff_test6.h5
new file mode 100644
index 0000000..de0ec0f
Binary files /dev/null and b/tools/testfiles/h5diff_test6.h5 differ
-- 
cgit v0.12