summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPedro Vicente Nunes <pvn@hdfgroup.org>2003-05-19 05:12:26 (GMT)
committerPedro Vicente Nunes <pvn@hdfgroup.org>2003-05-19 05:12:26 (GMT)
commit5a4c7681edd17dc5b8cb960ad220be06757f3e95 (patch)
treee2c2b9d14208f381960beef87430df86e8ec0729
parent17d0b728156c3d968ad40e7594154b8d2f4e9e7e (diff)
downloadhdf5-5a4c7681edd17dc5b8cb960ad220be06757f3e95.zip
hdf5-5a4c7681edd17dc5b8cb960ad220be06757f3e95.tar.gz
hdf5-5a4c7681edd17dc5b8cb960ad220be06757f3e95.tar.bz2
[svn-r6895] Purpose:
test files with new output format Description: Solution: Platforms tested: Misc. update:
-rw-r--r--tools/testfiles/file1.h5bin0 -> 6240 bytes
-rw-r--r--tools/testfiles/file2.h5bin0 -> 6288 bytes
-rw-r--r--tools/testfiles/file3.h5bin0 -> 4352 bytes
-rw-r--r--tools/testfiles/file4.h5bin0 -> 4352 bytes
-rw-r--r--tools/testfiles/file5.h5bin0 -> 2936 bytes
-rw-r--r--tools/testfiles/file6.h5bin0 -> 8016 bytes
-rw-r--r--tools/testfiles/h5diff_10.txt38
-rw-r--r--tools/testfiles/h5diff_11.txt14
-rw-r--r--tools/testfiles/h5diff_12.txt12
-rw-r--r--tools/testfiles/h5diff_13.txt16
-rw-r--r--tools/testfiles/h5diff_14.txt16
-rw-r--r--tools/testfiles/h5diff_15.txt6
-rw-r--r--tools/testfiles/h5diff_16.txt64
-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.txt8
-rw-r--r--tools/testfiles/h5diff_24.txt8
-rw-r--r--tools/testfiles/h5diff_25.txt8
-rw-r--r--tools/testfiles/h5diff_30.txt8
-rw-r--r--tools/testfiles/h5diff_31.txt8
-rw-r--r--tools/testfiles/h5diff_32.txt8
-rw-r--r--tools/testfiles/h5diff_33.txt8
-rw-r--r--tools/testfiles/h5diff_34.txt8
-rw-r--r--tools/testfiles/h5diff_35.txt8
-rw-r--r--tools/testfiles/h5diff_36.txt8
-rw-r--r--tools/testfiles/h5diff_37.txt8
-rw-r--r--tools/testfiles/h5diff_38.txt8
-rw-r--r--tools/testfiles/h5diff_40.txt8
-rw-r--r--tools/testfiles/h5diff_41.txt8
-rw-r--r--tools/testfiles/h5diff_42.txt11
-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_600.txt39
-rw-r--r--tools/testfiles/h5diff_601.txt39
-rw-r--r--tools/testfiles/h5diff_602.txt39
-rw-r--r--tools/testfiles/h5diff_603.txt39
-rw-r--r--tools/testfiles/h5diff_604.txt39
-rw-r--r--tools/testfiles/h5diff_605.txt39
-rw-r--r--tools/testfiles/h5diff_606.txt39
-rw-r--r--tools/testfiles/h5diff_607.txt16
-rw-r--r--tools/testfiles/h5diff_608.txt16
-rw-r--r--tools/testfiles/h5diff_609.txt8
-rw-r--r--tools/testfiles/h5diff_610.txt16
-rw-r--r--tools/testfiles/h5diff_611.txt39
-rw-r--r--tools/testfiles/h5diff_612.txt39
-rw-r--r--tools/testfiles/h5diff_613.txt39
-rw-r--r--tools/testfiles/h5diff_614.txt39
-rw-r--r--tools/testfiles/h5diff_615.txt39
-rw-r--r--tools/testfiles/h5diff_616.txt12
-rw-r--r--tools/testfiles/h5diff_617.txt12
-rw-r--r--tools/testfiles/h5diff_618.txt8
-rw-r--r--tools/testfiles/h5diff_619.txt16
-rw-r--r--tools/testfiles/h5diff_620.txt39
-rw-r--r--tools/testfiles/h5diff_621.txt39
-rw-r--r--tools/testfiles/h5diff_622.txt39
-rw-r--r--tools/testfiles/h5diff_623.txt39
-rw-r--r--tools/testfiles/h5diff_624.txt39
-rw-r--r--tools/testfiles/h5diff_625.txt12
-rw-r--r--tools/testfiles/h5diff_626.txt13
-rw-r--r--tools/testfiles/h5diff_627.txt16
-rw-r--r--tools/testfiles/h5diff_628.txt11
-rw-r--r--tools/testfiles/h5diff_629.txt5
68 files changed, 1235 insertions, 0 deletions
diff --git a/tools/testfiles/file1.h5 b/tools/testfiles/file1.h5
new file mode 100644
index 0000000..e6f2863
--- /dev/null
+++ b/tools/testfiles/file1.h5
Binary files differ
diff --git a/tools/testfiles/file2.h5 b/tools/testfiles/file2.h5
new file mode 100644
index 0000000..4db567a
--- /dev/null
+++ b/tools/testfiles/file2.h5
Binary files differ
diff --git a/tools/testfiles/file3.h5 b/tools/testfiles/file3.h5
new file mode 100644
index 0000000..2586dd2
--- /dev/null
+++ b/tools/testfiles/file3.h5
Binary files differ
diff --git a/tools/testfiles/file4.h5 b/tools/testfiles/file4.h5
new file mode 100644
index 0000000..64a5c35
--- /dev/null
+++ b/tools/testfiles/file4.h5
Binary files differ
diff --git a/tools/testfiles/file5.h5 b/tools/testfiles/file5.h5
new file mode 100644
index 0000000..57bd916
--- /dev/null
+++ b/tools/testfiles/file5.h5
Binary files differ
diff --git a/tools/testfiles/file6.h5 b/tools/testfiles/file6.h5
new file mode 100644
index 0000000..473ab3e
--- /dev/null
+++ b/tools/testfiles/file6.h5
Binary files differ
diff --git a/tools/testfiles/h5diff_10.txt b/tools/testfiles/h5diff_10.txt
new file mode 100644
index 0000000..146e254
--- /dev/null
+++ b/tools/testfiles/h5diff_10.txt
@@ -0,0 +1,38 @@
+#############################
+Expected output for 'h5diff -h'
+#############################
+$h5diff -h
+Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
+
+file1 File name of the first HDF5 file
+file2 File name of the second HDF5 file
+[obj1] Name of an HDF5 object, in absolute path
+[obj2] Name of an HDF5 object, in absolute path
+[OPTIONS] are:
+[-h] Print out this information
+[-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
+[-p relative] Print difference when it is greater than a relative error
+
+Items in [] are optional
+[obj1] and [obj1] are HDF5 objects (datasets, groups or datatypes)
+The 'count' value must be a positive integer
+The 'delta' and 'relative' values must be positive numbers
+The -d compare criteria is |a - b| > delta
+The -p compare criteria is |1 - b/a| > relative
+
+Examples:
+
+1) h5diff file1 file2 /a/b /a/c
+
+ Compares object '/a/b' in file1 with '/a/c' in file2
+
+2) h5diff file1 file2 /a/b
+
+ Compares object '/a/b' in both files
+
+3) h5diff file1 file2
+
+ Compares all objects in both files
+
diff --git a/tools/testfiles/h5diff_11.txt b/tools/testfiles/h5diff_11.txt
new file mode 100644
index 0000000..803b81f
--- /dev/null
+++ b/tools/testfiles/h5diff_11.txt
@@ -0,0 +1,14 @@
+#############################
+Expected output for 'h5diff file6.h5 file6.h5 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
+
+
diff --git a/tools/testfiles/h5diff_12.txt b/tools/testfiles/h5diff_12.txt
new file mode 100644
index 0000000..3fd7989
--- /dev/null
+++ b/tools/testfiles/h5diff_12.txt
@@ -0,0 +1,12 @@
+#############################
+Expected output for 'h5diff file1.h5 file2.h5 -n 2 g1/dset1 g1/dset2'
+#############################
+$h5diff file1.h5 file2.h5 -n 2 g1/dset1 g1/dset2
+Comparing </g1/dset1> with </g1/dset2>
+position dset1 dset2 difference
+------------------------------------------------------------
+[ 0 1 ] 1 1.1 0.1
+[ 1 0 ] 1 1.01 0.01
+2 differences found
+
+
diff --git a/tools/testfiles/h5diff_13.txt b/tools/testfiles/h5diff_13.txt
new file mode 100644
index 0000000..d6ee768
--- /dev/null
+++ b/tools/testfiles/h5diff_13.txt
@@ -0,0 +1,16 @@
+#############################
+Expected output for 'h5diff file1.h5 file2.h5 -d 5 g1/dset3 g1/dset4'
+#############################
+$h5diff file1.h5 file2.h5 -d 5 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
+[ 1 1 ] 100 80 20
+[ 2 0 ] 100 140 40
+[ 2 1 ] 100 200 100
+6 differences found
+
+
diff --git a/tools/testfiles/h5diff_14.txt b/tools/testfiles/h5diff_14.txt
new file mode 100644
index 0000000..95cad0a
--- /dev/null
+++ b/tools/testfiles/h5diff_14.txt
@@ -0,0 +1,16 @@
+#############################
+Expected output for 'h5diff file1.h5 file2.h5 -p 0.05 g1/dset3 g1/dset4'
+#############################
+$h5diff file1.h5 file2.h5 -p 0.05 g1/dset3 g1/dset4
+Comparing </g1/dset3> with </g1/dset4>
+position dset3 dset4 difference relative
+------------------------------------------------------------------------
+[ 0 0 ] 100 110 10 0.1
+[ 0 1 ] 110 100 10 0.09090909091
+[ 1 0 ] 100 90 10 0.1
+[ 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_15.txt b/tools/testfiles/h5diff_15.txt
new file mode 100644
index 0000000..3577f88
--- /dev/null
+++ b/tools/testfiles/h5diff_15.txt
@@ -0,0 +1,6 @@
+#############################
+Expected output for 'h5diff file1.h5 file2.h5 -r g1/dset1 g1/dset2'
+#############################
+$h5diff file1.h5 file2.h5 -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
new file mode 100644
index 0000000..45c9302
--- /dev/null
+++ b/tools/testfiles/h5diff_16.txt
@@ -0,0 +1,64 @@
+#############################
+Expected output for 'h5diff file6.h5 file6.h5'
+#############################
+$h5diff file6.h5 file6.h5
+file1 file2
+---------------------------------------
+ x x /dset0a
+ x x /dset0b
+ 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
+
+Comparing </dset0a> with </dset0a>
+0 differences found
+
+Comparing </dset0b> with </dset0b>
+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
+
+
diff --git a/tools/testfiles/h5diff_20.txt b/tools/testfiles/h5diff_20.txt
new file mode 100644
index 0000000..ef4439a
--- /dev/null
+++ b/tools/testfiles/h5diff_20.txt
@@ -0,0 +1,7 @@
+#############################
+Expected output for 'h5diff file3.h5 file3.h5 dset group'
+#############################
+$h5diff file3.h5 file3.h5 dset group
+Comparison not supported
+</dset> is of type H5G_DATASET and </group> is of type H5G_GROUP
+
diff --git a/tools/testfiles/h5diff_21.txt b/tools/testfiles/h5diff_21.txt
new file mode 100644
index 0000000..12804b8
--- /dev/null
+++ b/tools/testfiles/h5diff_21.txt
@@ -0,0 +1,7 @@
+#############################
+Expected output for 'h5diff file3.h5 file3.h5 dset link'
+#############################
+$h5diff file3.h5 file3.h5 dset link
+Comparison not supported
+</dset> is of type H5G_DATASET and </link> is of type H5G_LINK
+
diff --git a/tools/testfiles/h5diff_22.txt b/tools/testfiles/h5diff_22.txt
new file mode 100644
index 0000000..9e5ce85
--- /dev/null
+++ b/tools/testfiles/h5diff_22.txt
@@ -0,0 +1,7 @@
+#############################
+Expected output for 'h5diff file3.h5 file3.h5 dset type'
+#############################
+$h5diff file3.h5 file3.h5 dset type
+Comparison not supported
+</dset> is of type H5G_DATASET and </type> is of type H5G_TYPE
+
diff --git a/tools/testfiles/h5diff_23.txt b/tools/testfiles/h5diff_23.txt
new file mode 100644
index 0000000..d04763f
--- /dev/null
+++ b/tools/testfiles/h5diff_23.txt
@@ -0,0 +1,8 @@
+#############################
+Expected output for 'h5diff file3.h5 file3.h5 group group'
+#############################
+$h5diff file3.h5 file3.h5 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
new file mode 100644
index 0000000..82a11d5
--- /dev/null
+++ b/tools/testfiles/h5diff_24.txt
@@ -0,0 +1,8 @@
+#############################
+Expected output for 'h5diff file3.h5 file3.h5 type type'
+#############################
+$h5diff file3.h5 file3.h5 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
new file mode 100644
index 0000000..a4f56f0
--- /dev/null
+++ b/tools/testfiles/h5diff_25.txt
@@ -0,0 +1,8 @@
+#############################
+Expected output for 'h5diff file3.h5 file3.h5 link link'
+#############################
+$h5diff file3.h5 file3.h5 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
new file mode 100644
index 0000000..d405bbf
--- /dev/null
+++ b/tools/testfiles/h5diff_30.txt
@@ -0,0 +1,8 @@
+#############################
+Expected output for 'h5diff file4.h5 file4.h5 string'
+#############################
+$h5diff file4.h5 file4.h5 string
+Comparison not supported
+</string> is of class H5T_STRING and </string> is of class H5T_STRING
+
+
diff --git a/tools/testfiles/h5diff_31.txt b/tools/testfiles/h5diff_31.txt
new file mode 100644
index 0000000..153a8ff
--- /dev/null
+++ b/tools/testfiles/h5diff_31.txt
@@ -0,0 +1,8 @@
+#############################
+Expected output for 'h5diff file4.h5 file4.h5 bitfield'
+#############################
+$h5diff file4.h5 file4.h5 bitfield
+Comparison not supported
+</bitfield> is of class H5T_BITFIELD and </bitfield> is of class H5T_BITFIELD
+
+
diff --git a/tools/testfiles/h5diff_32.txt b/tools/testfiles/h5diff_32.txt
new file mode 100644
index 0000000..6d68444
--- /dev/null
+++ b/tools/testfiles/h5diff_32.txt
@@ -0,0 +1,8 @@
+#############################
+Expected output for 'h5diff file4.h5 file4.h5 opaque'
+#############################
+$h5diff file4.h5 file4.h5 opaque
+Comparison not supported
+</opaque> is of class H5T_OPAQUE and </opaque> is of class H5T_OPAQUE
+
+
diff --git a/tools/testfiles/h5diff_33.txt b/tools/testfiles/h5diff_33.txt
new file mode 100644
index 0000000..d8243ad
--- /dev/null
+++ b/tools/testfiles/h5diff_33.txt
@@ -0,0 +1,8 @@
+#############################
+Expected output for 'h5diff file4.h5 file4.h5 compound'
+#############################
+$h5diff file4.h5 file4.h5 compound
+Comparison not supported
+</compound> is of class H5T_COMPOUND and </compound> is of class H5T_COMPOUND
+
+
diff --git a/tools/testfiles/h5diff_34.txt b/tools/testfiles/h5diff_34.txt
new file mode 100644
index 0000000..199278e
--- /dev/null
+++ b/tools/testfiles/h5diff_34.txt
@@ -0,0 +1,8 @@
+#############################
+Expected output for 'h5diff file4.h5 file4.h5 ref'
+#############################
+$h5diff file4.h5 file4.h5 ref
+Comparison not supported
+</ref> is of class H5T_REFERENCE and </ref> is of class H5T_REFERENCE
+
+
diff --git a/tools/testfiles/h5diff_35.txt b/tools/testfiles/h5diff_35.txt
new file mode 100644
index 0000000..e5d8f2c
--- /dev/null
+++ b/tools/testfiles/h5diff_35.txt
@@ -0,0 +1,8 @@
+#############################
+Expected output for 'h5diff file4.h5 file4.h5 enum'
+#############################
+$h5diff file4.h5 file4.h5 enum
+Comparison not supported
+</enum> is of class H5T_ENUM and </enum> is of class H5T_ENUM
+
+
diff --git a/tools/testfiles/h5diff_36.txt b/tools/testfiles/h5diff_36.txt
new file mode 100644
index 0000000..3f8bfa0
--- /dev/null
+++ b/tools/testfiles/h5diff_36.txt
@@ -0,0 +1,8 @@
+#############################
+Expected output for 'h5diff file4.h5 file4.h5 vlen'
+#############################
+$h5diff file4.h5 file4.h5 vlen
+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
new file mode 100644
index 0000000..f2125a7
--- /dev/null
+++ b/tools/testfiles/h5diff_37.txt
@@ -0,0 +1,8 @@
+#############################
+Expected output for 'h5diff file4.h5 file4.h5 array'
+#############################
+$h5diff file4.h5 file4.h5 array
+Comparison not supported
+</array> is of class H5T_ARRAY and </array> is of class H5T_ARRAY
+
+
diff --git a/tools/testfiles/h5diff_38.txt b/tools/testfiles/h5diff_38.txt
new file mode 100644
index 0000000..6e18309
--- /dev/null
+++ b/tools/testfiles/h5diff_38.txt
@@ -0,0 +1,8 @@
+#############################
+Expected output for 'h5diff file4.h5 file4.h5 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
+
+
diff --git a/tools/testfiles/h5diff_40.txt b/tools/testfiles/h5diff_40.txt
new file mode 100644
index 0000000..b904cc5
--- /dev/null
+++ b/tools/testfiles/h5diff_40.txt
@@ -0,0 +1,8 @@
+#############################
+Expected output for 'h5diff file5.h5 file5.h5 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 ]
+
diff --git a/tools/testfiles/h5diff_41.txt b/tools/testfiles/h5diff_41.txt
new file mode 100644
index 0000000..75e7de1
--- /dev/null
+++ b/tools/testfiles/h5diff_41.txt
@@ -0,0 +1,8 @@
+#############################
+Expected output for 'h5diff file5.h5 file5.h5 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 ]
+
diff --git a/tools/testfiles/h5diff_42.txt b/tools/testfiles/h5diff_42.txt
new file mode 100644
index 0000000..28add4f
--- /dev/null
+++ b/tools/testfiles/h5diff_42.txt
@@ -0,0 +1,11 @@
+#############################
+Expected output for 'h5diff file5.h5 file5.h5 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>
+0 differences found
+
+
diff --git a/tools/testfiles/h5diff_50.txt b/tools/testfiles/h5diff_50.txt
new file mode 100644
index 0000000..3b0bdb8
--- /dev/null
+++ b/tools/testfiles/h5diff_50.txt
@@ -0,0 +1,17 @@
+#############################
+Expected output for 'h5diff file6.h5 file6.h5 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
+
+
diff --git a/tools/testfiles/h5diff_51.txt b/tools/testfiles/h5diff_51.txt
new file mode 100644
index 0000000..a8de11e
--- /dev/null
+++ b/tools/testfiles/h5diff_51.txt
@@ -0,0 +1,14 @@
+#############################
+Expected output for 'h5diff file6.h5 file6.h5 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
+
+
diff --git a/tools/testfiles/h5diff_52.txt b/tools/testfiles/h5diff_52.txt
new file mode 100644
index 0000000..5d0d0a0
--- /dev/null
+++ b/tools/testfiles/h5diff_52.txt
@@ -0,0 +1,14 @@
+#############################
+Expected output for 'h5diff file6.h5 file6.h5 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
+
+
diff --git a/tools/testfiles/h5diff_53.txt b/tools/testfiles/h5diff_53.txt
new file mode 100644
index 0000000..4d6e3b7
--- /dev/null
+++ b/tools/testfiles/h5diff_53.txt
@@ -0,0 +1,14 @@
+#############################
+Expected output for 'h5diff file6.h5 file6.h5 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
+
+
diff --git a/tools/testfiles/h5diff_54.txt b/tools/testfiles/h5diff_54.txt
new file mode 100644
index 0000000..968d483
--- /dev/null
+++ b/tools/testfiles/h5diff_54.txt
@@ -0,0 +1,14 @@
+#############################
+Expected output for 'h5diff file6.h5 file6.h5 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
+
+
diff --git a/tools/testfiles/h5diff_55.txt b/tools/testfiles/h5diff_55.txt
new file mode 100644
index 0000000..40fa20a
--- /dev/null
+++ b/tools/testfiles/h5diff_55.txt
@@ -0,0 +1,14 @@
+#############################
+Expected output for 'h5diff file6.h5 file6.h5 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
+
+
diff --git a/tools/testfiles/h5diff_56.txt b/tools/testfiles/h5diff_56.txt
new file mode 100644
index 0000000..6075593
--- /dev/null
+++ b/tools/testfiles/h5diff_56.txt
@@ -0,0 +1,14 @@
+#############################
+Expected output for 'h5diff file6.h5 file6.h5 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
+
+
diff --git a/tools/testfiles/h5diff_600.txt b/tools/testfiles/h5diff_600.txt
new file mode 100644
index 0000000..bfc061f
--- /dev/null
+++ b/tools/testfiles/h5diff_600.txt
@@ -0,0 +1,39 @@
+#############################
+Expected output for 'h5diff file1.h5'
+#############################
+$h5diff file1.h5
+Number of arguments is only 2
+Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
+
+file1 File name of the first HDF5 file
+file2 File name of the second HDF5 file
+[obj1] Name of an HDF5 object, in absolute path
+[obj2] Name of an HDF5 object, in absolute path
+[OPTIONS] are:
+[-h] Print out this information
+[-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
+[-p relative] Print difference when it is greater than a relative error
+
+Items in [] are optional
+[obj1] and [obj1] are HDF5 objects (datasets, groups or datatypes)
+The 'count' value must be a positive integer
+The 'delta' and 'relative' values must be positive numbers
+The -d compare criteria is |a - b| > delta
+The -p compare criteria is |1 - b/a| > relative
+
+Examples:
+
+1) h5diff file1 file2 /a/b /a/c
+
+ Compares object '/a/b' in file1 with '/a/c' in file2
+
+2) h5diff file1 file2 /a/b
+
+ Compares object '/a/b' in both files
+
+3) h5diff file1 file2
+
+ Compares all objects in both files
+
diff --git a/tools/testfiles/h5diff_601.txt b/tools/testfiles/h5diff_601.txt
new file mode 100644
index 0000000..9266951
--- /dev/null
+++ b/tools/testfiles/h5diff_601.txt
@@ -0,0 +1,39 @@
+#############################
+Expected output for 'h5diff file1.h5 file2.h5 -x'
+#############################
+$h5diff file1.h5 file2.h5 -x
+-x is an invalid option
+Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
+
+file1 File name of the first HDF5 file
+file2 File name of the second HDF5 file
+[obj1] Name of an HDF5 object, in absolute path
+[obj2] Name of an HDF5 object, in absolute path
+[OPTIONS] are:
+[-h] Print out this information
+[-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
+[-p relative] Print difference when it is greater than a relative error
+
+Items in [] are optional
+[obj1] and [obj1] are HDF5 objects (datasets, groups or datatypes)
+The 'count' value must be a positive integer
+The 'delta' and 'relative' values must be positive numbers
+The -d compare criteria is |a - b| > delta
+The -p compare criteria is |1 - b/a| > relative
+
+Examples:
+
+1) h5diff file1 file2 /a/b /a/c
+
+ Compares object '/a/b' in file1 with '/a/c' in file2
+
+2) h5diff file1 file2 /a/b
+
+ Compares object '/a/b' in both files
+
+3) h5diff file1 file2
+
+ Compares all objects in both files
+
diff --git a/tools/testfiles/h5diff_602.txt b/tools/testfiles/h5diff_602.txt
new file mode 100644
index 0000000..d975b90
--- /dev/null
+++ b/tools/testfiles/h5diff_602.txt
@@ -0,0 +1,39 @@
+#############################
+Expected output for 'h5diff file1.h5 file2.h5 -d g1/dset3 g1/dset4'
+#############################
+$h5diff file1.h5 file2.h5 -d g1/dset3 g1/dset4
+<-d g1/dset3> is not a valid option
+Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
+
+file1 File name of the first HDF5 file
+file2 File name of the second HDF5 file
+[obj1] Name of an HDF5 object, in absolute path
+[obj2] Name of an HDF5 object, in absolute path
+[OPTIONS] are:
+[-h] Print out this information
+[-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
+[-p relative] Print difference when it is greater than a relative error
+
+Items in [] are optional
+[obj1] and [obj1] are HDF5 objects (datasets, groups or datatypes)
+The 'count' value must be a positive integer
+The 'delta' and 'relative' values must be positive numbers
+The -d compare criteria is |a - b| > delta
+The -p compare criteria is |1 - b/a| > relative
+
+Examples:
+
+1) h5diff file1 file2 /a/b /a/c
+
+ Compares object '/a/b' in file1 with '/a/c' in file2
+
+2) h5diff file1 file2 /a/b
+
+ Compares object '/a/b' in both files
+
+3) h5diff file1 file2
+
+ Compares all objects in both files
+
diff --git a/tools/testfiles/h5diff_603.txt b/tools/testfiles/h5diff_603.txt
new file mode 100644
index 0000000..8485c70
--- /dev/null
+++ b/tools/testfiles/h5diff_603.txt
@@ -0,0 +1,39 @@
+#############################
+Expected output for 'h5diff file1.h5 file2.h5 -d -4 g1/dset3 g1/dset4'
+#############################
+$h5diff file1.h5 file2.h5 -d -4 g1/dset3 g1/dset4
+<-d -4> is not a valid option
+Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
+
+file1 File name of the first HDF5 file
+file2 File name of the second HDF5 file
+[obj1] Name of an HDF5 object, in absolute path
+[obj2] Name of an HDF5 object, in absolute path
+[OPTIONS] are:
+[-h] Print out this information
+[-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
+[-p relative] Print difference when it is greater than a relative error
+
+Items in [] are optional
+[obj1] and [obj1] are HDF5 objects (datasets, groups or datatypes)
+The 'count' value must be a positive integer
+The 'delta' and 'relative' values must be positive numbers
+The -d compare criteria is |a - b| > delta
+The -p compare criteria is |1 - b/a| > relative
+
+Examples:
+
+1) h5diff file1 file2 /a/b /a/c
+
+ Compares object '/a/b' in file1 with '/a/c' in file2
+
+2) h5diff file1 file2 /a/b
+
+ Compares object '/a/b' in both files
+
+3) h5diff file1 file2
+
+ Compares all objects in both files
+
diff --git a/tools/testfiles/h5diff_604.txt b/tools/testfiles/h5diff_604.txt
new file mode 100644
index 0000000..ca17431
--- /dev/null
+++ b/tools/testfiles/h5diff_604.txt
@@ -0,0 +1,39 @@
+#############################
+Expected output for 'h5diff file1.h5 file2.h5 -d 0 g1/dset3 g1/dset4'
+#############################
+$h5diff file1.h5 file2.h5 -d 0 g1/dset3 g1/dset4
+<-d 0> is not a valid option
+Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
+
+file1 File name of the first HDF5 file
+file2 File name of the second HDF5 file
+[obj1] Name of an HDF5 object, in absolute path
+[obj2] Name of an HDF5 object, in absolute path
+[OPTIONS] are:
+[-h] Print out this information
+[-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
+[-p relative] Print difference when it is greater than a relative error
+
+Items in [] are optional
+[obj1] and [obj1] are HDF5 objects (datasets, groups or datatypes)
+The 'count' value must be a positive integer
+The 'delta' and 'relative' values must be positive numbers
+The -d compare criteria is |a - b| > delta
+The -p compare criteria is |1 - b/a| > relative
+
+Examples:
+
+1) h5diff file1 file2 /a/b /a/c
+
+ Compares object '/a/b' in file1 with '/a/c' in file2
+
+2) h5diff file1 file2 /a/b
+
+ Compares object '/a/b' in both files
+
+3) h5diff file1 file2
+
+ Compares all objects in both files
+
diff --git a/tools/testfiles/h5diff_605.txt b/tools/testfiles/h5diff_605.txt
new file mode 100644
index 0000000..160a638
--- /dev/null
+++ b/tools/testfiles/h5diff_605.txt
@@ -0,0 +1,39 @@
+#############################
+Expected output for 'h5diff file1.h5 file2.h5 -d u g1/dset3 g1/dset4'
+#############################
+$h5diff file1.h5 file2.h5 -d u g1/dset3 g1/dset4
+<-d u> is not a valid option
+Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
+
+file1 File name of the first HDF5 file
+file2 File name of the second HDF5 file
+[obj1] Name of an HDF5 object, in absolute path
+[obj2] Name of an HDF5 object, in absolute path
+[OPTIONS] are:
+[-h] Print out this information
+[-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
+[-p relative] Print difference when it is greater than a relative error
+
+Items in [] are optional
+[obj1] and [obj1] are HDF5 objects (datasets, groups or datatypes)
+The 'count' value must be a positive integer
+The 'delta' and 'relative' values must be positive numbers
+The -d compare criteria is |a - b| > delta
+The -p compare criteria is |1 - b/a| > relative
+
+Examples:
+
+1) h5diff file1 file2 /a/b /a/c
+
+ Compares object '/a/b' in file1 with '/a/c' in file2
+
+2) h5diff file1 file2 /a/b
+
+ Compares object '/a/b' in both files
+
+3) h5diff file1 file2
+
+ Compares all objects in both files
+
diff --git a/tools/testfiles/h5diff_606.txt b/tools/testfiles/h5diff_606.txt
new file mode 100644
index 0000000..7e8da85
--- /dev/null
+++ b/tools/testfiles/h5diff_606.txt
@@ -0,0 +1,39 @@
+#############################
+Expected output for 'h5diff file1.h5 file2.h5 -d 0x1 g1/dset3 g1/dset4'
+#############################
+$h5diff file1.h5 file2.h5 -d 0x1 g1/dset3 g1/dset4
+<-d 0x1> is not a valid option
+Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
+
+file1 File name of the first HDF5 file
+file2 File name of the second HDF5 file
+[obj1] Name of an HDF5 object, in absolute path
+[obj2] Name of an HDF5 object, in absolute path
+[OPTIONS] are:
+[-h] Print out this information
+[-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
+[-p relative] Print difference when it is greater than a relative error
+
+Items in [] are optional
+[obj1] and [obj1] are HDF5 objects (datasets, groups or datatypes)
+The 'count' value must be a positive integer
+The 'delta' and 'relative' values must be positive numbers
+The -d compare criteria is |a - b| > delta
+The -p compare criteria is |1 - b/a| > relative
+
+Examples:
+
+1) h5diff file1 file2 /a/b /a/c
+
+ Compares object '/a/b' in file1 with '/a/c' in file2
+
+2) h5diff file1 file2 /a/b
+
+ Compares object '/a/b' in both files
+
+3) h5diff file1 file2
+
+ Compares all objects in both files
+
diff --git a/tools/testfiles/h5diff_607.txt b/tools/testfiles/h5diff_607.txt
new file mode 100644
index 0000000..0cdd240
--- /dev/null
+++ b/tools/testfiles/h5diff_607.txt
@@ -0,0 +1,16 @@
+#############################
+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
+[ 0 1 ] 110 100 10
+[ 1 0 ] 100 90 10
+[ 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
new file mode 100644
index 0000000..a93ba06
--- /dev/null
+++ b/tools/testfiles/h5diff_608.txt
@@ -0,0 +1,16 @@
+#############################
+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
+[ 0 1 ] 110 100 10
+[ 1 0 ] 100 90 10
+[ 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
new file mode 100644
index 0000000..4856c70
--- /dev/null
+++ b/tools/testfiles/h5diff_609.txt
@@ -0,0 +1,8 @@
+#############################
+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
new file mode 100644
index 0000000..0cdd240
--- /dev/null
+++ b/tools/testfiles/h5diff_610.txt
@@ -0,0 +1,16 @@
+#############################
+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
+[ 0 1 ] 110 100 10
+[ 1 0 ] 100 90 10
+[ 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
new file mode 100644
index 0000000..c162c8e
--- /dev/null
+++ b/tools/testfiles/h5diff_611.txt
@@ -0,0 +1,39 @@
+#############################
+Expected output for 'h5diff file1.h5 file2.h5 -p g1/dset3 g1/dset4'
+#############################
+$h5diff file1.h5 file2.h5 -p g1/dset3 g1/dset4
+<-p g1/dset3> is not a valid option
+Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
+
+file1 File name of the first HDF5 file
+file2 File name of the second HDF5 file
+[obj1] Name of an HDF5 object, in absolute path
+[obj2] Name of an HDF5 object, in absolute path
+[OPTIONS] are:
+[-h] Print out this information
+[-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
+[-p relative] Print difference when it is greater than a relative error
+
+Items in [] are optional
+[obj1] and [obj1] are HDF5 objects (datasets, groups or datatypes)
+The 'count' value must be a positive integer
+The 'delta' and 'relative' values must be positive numbers
+The -d compare criteria is |a - b| > delta
+The -p compare criteria is |1 - b/a| > relative
+
+Examples:
+
+1) h5diff file1 file2 /a/b /a/c
+
+ Compares object '/a/b' in file1 with '/a/c' in file2
+
+2) h5diff file1 file2 /a/b
+
+ Compares object '/a/b' in both files
+
+3) h5diff file1 file2
+
+ Compares all objects in both files
+
diff --git a/tools/testfiles/h5diff_612.txt b/tools/testfiles/h5diff_612.txt
new file mode 100644
index 0000000..45f640d
--- /dev/null
+++ b/tools/testfiles/h5diff_612.txt
@@ -0,0 +1,39 @@
+#############################
+Expected output for 'h5diff file1.h5 file2.h5 -p -4 g1/dset3 g1/dset4'
+#############################
+$h5diff file1.h5 file2.h5 -p -4 g1/dset3 g1/dset4
+-4 is an invalid option
+Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
+
+file1 File name of the first HDF5 file
+file2 File name of the second HDF5 file
+[obj1] Name of an HDF5 object, in absolute path
+[obj2] Name of an HDF5 object, in absolute path
+[OPTIONS] are:
+[-h] Print out this information
+[-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
+[-p relative] Print difference when it is greater than a relative error
+
+Items in [] are optional
+[obj1] and [obj1] are HDF5 objects (datasets, groups or datatypes)
+The 'count' value must be a positive integer
+The 'delta' and 'relative' values must be positive numbers
+The -d compare criteria is |a - b| > delta
+The -p compare criteria is |1 - b/a| > relative
+
+Examples:
+
+1) h5diff file1 file2 /a/b /a/c
+
+ Compares object '/a/b' in file1 with '/a/c' in file2
+
+2) h5diff file1 file2 /a/b
+
+ Compares object '/a/b' in both files
+
+3) h5diff file1 file2
+
+ Compares all objects in both files
+
diff --git a/tools/testfiles/h5diff_613.txt b/tools/testfiles/h5diff_613.txt
new file mode 100644
index 0000000..f25bad0
--- /dev/null
+++ b/tools/testfiles/h5diff_613.txt
@@ -0,0 +1,39 @@
+#############################
+Expected output for 'h5diff file1.h5 file2.h5 -p 0 g1/dset3 g1/dset4'
+#############################
+$h5diff file1.h5 file2.h5 -p 0 g1/dset3 g1/dset4
+<-p 0> is not a valid option
+Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
+
+file1 File name of the first HDF5 file
+file2 File name of the second HDF5 file
+[obj1] Name of an HDF5 object, in absolute path
+[obj2] Name of an HDF5 object, in absolute path
+[OPTIONS] are:
+[-h] Print out this information
+[-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
+[-p relative] Print difference when it is greater than a relative error
+
+Items in [] are optional
+[obj1] and [obj1] are HDF5 objects (datasets, groups or datatypes)
+The 'count' value must be a positive integer
+The 'delta' and 'relative' values must be positive numbers
+The -d compare criteria is |a - b| > delta
+The -p compare criteria is |1 - b/a| > relative
+
+Examples:
+
+1) h5diff file1 file2 /a/b /a/c
+
+ Compares object '/a/b' in file1 with '/a/c' in file2
+
+2) h5diff file1 file2 /a/b
+
+ Compares object '/a/b' in both files
+
+3) h5diff file1 file2
+
+ Compares all objects in both files
+
diff --git a/tools/testfiles/h5diff_614.txt b/tools/testfiles/h5diff_614.txt
new file mode 100644
index 0000000..c8b03a6
--- /dev/null
+++ b/tools/testfiles/h5diff_614.txt
@@ -0,0 +1,39 @@
+#############################
+Expected output for 'h5diff file1.h5 file2.h5 -p u g1/dset3 g1/dset4'
+#############################
+$h5diff file1.h5 file2.h5 -p u g1/dset3 g1/dset4
+<-p u> is not a valid option
+Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
+
+file1 File name of the first HDF5 file
+file2 File name of the second HDF5 file
+[obj1] Name of an HDF5 object, in absolute path
+[obj2] Name of an HDF5 object, in absolute path
+[OPTIONS] are:
+[-h] Print out this information
+[-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
+[-p relative] Print difference when it is greater than a relative error
+
+Items in [] are optional
+[obj1] and [obj1] are HDF5 objects (datasets, groups or datatypes)
+The 'count' value must be a positive integer
+The 'delta' and 'relative' values must be positive numbers
+The -d compare criteria is |a - b| > delta
+The -p compare criteria is |1 - b/a| > relative
+
+Examples:
+
+1) h5diff file1 file2 /a/b /a/c
+
+ Compares object '/a/b' in file1 with '/a/c' in file2
+
+2) h5diff file1 file2 /a/b
+
+ Compares object '/a/b' in both files
+
+3) h5diff file1 file2
+
+ Compares all objects in both files
+
diff --git a/tools/testfiles/h5diff_615.txt b/tools/testfiles/h5diff_615.txt
new file mode 100644
index 0000000..9b8826b
--- /dev/null
+++ b/tools/testfiles/h5diff_615.txt
@@ -0,0 +1,39 @@
+#############################
+Expected output for 'h5diff file1.h5 file2.h5 -p 0x1 g1/dset3 g1/dset4'
+#############################
+$h5diff file1.h5 file2.h5 -p 0x1 g1/dset3 g1/dset4
+<-p 0x1> is not a valid option
+Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
+
+file1 File name of the first HDF5 file
+file2 File name of the second HDF5 file
+[obj1] Name of an HDF5 object, in absolute path
+[obj2] Name of an HDF5 object, in absolute path
+[OPTIONS] are:
+[-h] Print out this information
+[-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
+[-p relative] Print difference when it is greater than a relative error
+
+Items in [] are optional
+[obj1] and [obj1] are HDF5 objects (datasets, groups or datatypes)
+The 'count' value must be a positive integer
+The 'delta' and 'relative' values must be positive numbers
+The -d compare criteria is |a - b| > delta
+The -p compare criteria is |1 - b/a| > relative
+
+Examples:
+
+1) h5diff file1 file2 /a/b /a/c
+
+ Compares object '/a/b' in file1 with '/a/c' in file2
+
+2) h5diff file1 file2 /a/b
+
+ Compares object '/a/b' in both files
+
+3) h5diff file1 file2
+
+ Compares all objects in both files
+
diff --git a/tools/testfiles/h5diff_616.txt b/tools/testfiles/h5diff_616.txt
new file mode 100644
index 0000000..576a7a9
--- /dev/null
+++ b/tools/testfiles/h5diff_616.txt
@@ -0,0 +1,12 @@
+#############################
+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
new file mode 100644
index 0000000..1a2e58a
--- /dev/null
+++ b/tools/testfiles/h5diff_617.txt
@@ -0,0 +1,12 @@
+#############################
+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
new file mode 100644
index 0000000..fc74bc0
--- /dev/null
+++ b/tools/testfiles/h5diff_618.txt
@@ -0,0 +1,8 @@
+#############################
+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
new file mode 100644
index 0000000..22b60084
--- /dev/null
+++ b/tools/testfiles/h5diff_619.txt
@@ -0,0 +1,16 @@
+#############################
+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
+[ 0 1 ] 110 100 10 0.09090909091
+[ 1 0 ] 100 90 10 0.1
+[ 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
new file mode 100644
index 0000000..2120af4
--- /dev/null
+++ b/tools/testfiles/h5diff_620.txt
@@ -0,0 +1,39 @@
+#############################
+Expected output for 'h5diff file1.h5 file2.h5 -n g1/dset3 g1/dset4'
+#############################
+$h5diff file1.h5 file2.h5 -n g1/dset3 g1/dset4
+<-n g1/dset3> is not a valid option
+Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
+
+file1 File name of the first HDF5 file
+file2 File name of the second HDF5 file
+[obj1] Name of an HDF5 object, in absolute path
+[obj2] Name of an HDF5 object, in absolute path
+[OPTIONS] are:
+[-h] Print out this information
+[-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
+[-p relative] Print difference when it is greater than a relative error
+
+Items in [] are optional
+[obj1] and [obj1] are HDF5 objects (datasets, groups or datatypes)
+The 'count' value must be a positive integer
+The 'delta' and 'relative' values must be positive numbers
+The -d compare criteria is |a - b| > delta
+The -p compare criteria is |1 - b/a| > relative
+
+Examples:
+
+1) h5diff file1 file2 /a/b /a/c
+
+ Compares object '/a/b' in file1 with '/a/c' in file2
+
+2) h5diff file1 file2 /a/b
+
+ Compares object '/a/b' in both files
+
+3) h5diff file1 file2
+
+ Compares all objects in both files
+
diff --git a/tools/testfiles/h5diff_621.txt b/tools/testfiles/h5diff_621.txt
new file mode 100644
index 0000000..00ff78f
--- /dev/null
+++ b/tools/testfiles/h5diff_621.txt
@@ -0,0 +1,39 @@
+#############################
+Expected output for 'h5diff file1.h5 file2.h5 -n -4 g1/dset3 g1/dset4'
+#############################
+$h5diff file1.h5 file2.h5 -n -4 g1/dset3 g1/dset4
+-4 is an invalid option
+Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
+
+file1 File name of the first HDF5 file
+file2 File name of the second HDF5 file
+[obj1] Name of an HDF5 object, in absolute path
+[obj2] Name of an HDF5 object, in absolute path
+[OPTIONS] are:
+[-h] Print out this information
+[-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
+[-p relative] Print difference when it is greater than a relative error
+
+Items in [] are optional
+[obj1] and [obj1] are HDF5 objects (datasets, groups or datatypes)
+The 'count' value must be a positive integer
+The 'delta' and 'relative' values must be positive numbers
+The -d compare criteria is |a - b| > delta
+The -p compare criteria is |1 - b/a| > relative
+
+Examples:
+
+1) h5diff file1 file2 /a/b /a/c
+
+ Compares object '/a/b' in file1 with '/a/c' in file2
+
+2) h5diff file1 file2 /a/b
+
+ Compares object '/a/b' in both files
+
+3) h5diff file1 file2
+
+ Compares all objects in both files
+
diff --git a/tools/testfiles/h5diff_622.txt b/tools/testfiles/h5diff_622.txt
new file mode 100644
index 0000000..2f08080
--- /dev/null
+++ b/tools/testfiles/h5diff_622.txt
@@ -0,0 +1,39 @@
+#############################
+Expected output for 'h5diff file1.h5 file2.h5 -n 0 g1/dset3 g1/dset4'
+#############################
+$h5diff file1.h5 file2.h5 -n 0 g1/dset3 g1/dset4
+<-n 0> is not a valid option
+Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
+
+file1 File name of the first HDF5 file
+file2 File name of the second HDF5 file
+[obj1] Name of an HDF5 object, in absolute path
+[obj2] Name of an HDF5 object, in absolute path
+[OPTIONS] are:
+[-h] Print out this information
+[-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
+[-p relative] Print difference when it is greater than a relative error
+
+Items in [] are optional
+[obj1] and [obj1] are HDF5 objects (datasets, groups or datatypes)
+The 'count' value must be a positive integer
+The 'delta' and 'relative' values must be positive numbers
+The -d compare criteria is |a - b| > delta
+The -p compare criteria is |1 - b/a| > relative
+
+Examples:
+
+1) h5diff file1 file2 /a/b /a/c
+
+ Compares object '/a/b' in file1 with '/a/c' in file2
+
+2) h5diff file1 file2 /a/b
+
+ Compares object '/a/b' in both files
+
+3) h5diff file1 file2
+
+ Compares all objects in both files
+
diff --git a/tools/testfiles/h5diff_623.txt b/tools/testfiles/h5diff_623.txt
new file mode 100644
index 0000000..ebe7b3d
--- /dev/null
+++ b/tools/testfiles/h5diff_623.txt
@@ -0,0 +1,39 @@
+#############################
+Expected output for 'h5diff file1.h5 file2.h5 -n u g1/dset3 g1/dset4'
+#############################
+$h5diff file1.h5 file2.h5 -n u g1/dset3 g1/dset4
+<-n u> is not a valid option
+Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
+
+file1 File name of the first HDF5 file
+file2 File name of the second HDF5 file
+[obj1] Name of an HDF5 object, in absolute path
+[obj2] Name of an HDF5 object, in absolute path
+[OPTIONS] are:
+[-h] Print out this information
+[-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
+[-p relative] Print difference when it is greater than a relative error
+
+Items in [] are optional
+[obj1] and [obj1] are HDF5 objects (datasets, groups or datatypes)
+The 'count' value must be a positive integer
+The 'delta' and 'relative' values must be positive numbers
+The -d compare criteria is |a - b| > delta
+The -p compare criteria is |1 - b/a| > relative
+
+Examples:
+
+1) h5diff file1 file2 /a/b /a/c
+
+ Compares object '/a/b' in file1 with '/a/c' in file2
+
+2) h5diff file1 file2 /a/b
+
+ Compares object '/a/b' in both files
+
+3) h5diff file1 file2
+
+ Compares all objects in both files
+
diff --git a/tools/testfiles/h5diff_624.txt b/tools/testfiles/h5diff_624.txt
new file mode 100644
index 0000000..8430e1b
--- /dev/null
+++ b/tools/testfiles/h5diff_624.txt
@@ -0,0 +1,39 @@
+#############################
+Expected output for 'h5diff file1.h5 file2.h5 -n 0x1 g1/dset3 g1/dset4'
+#############################
+$h5diff file1.h5 file2.h5 -n 0x1 g1/dset3 g1/dset4
+<-n 0x1> is not a valid option
+Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]]
+
+file1 File name of the first HDF5 file
+file2 File name of the second HDF5 file
+[obj1] Name of an HDF5 object, in absolute path
+[obj2] Name of an HDF5 object, in absolute path
+[OPTIONS] are:
+[-h] Print out this information
+[-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
+[-p relative] Print difference when it is greater than a relative error
+
+Items in [] are optional
+[obj1] and [obj1] are HDF5 objects (datasets, groups or datatypes)
+The 'count' value must be a positive integer
+The 'delta' and 'relative' values must be positive numbers
+The -d compare criteria is |a - b| > delta
+The -p compare criteria is |1 - b/a| > relative
+
+Examples:
+
+1) h5diff file1 file2 /a/b /a/c
+
+ Compares object '/a/b' in file1 with '/a/c' in file2
+
+2) h5diff file1 file2 /a/b
+
+ Compares object '/a/b' in both files
+
+3) h5diff file1 file2
+
+ Compares all objects in both files
+
diff --git a/tools/testfiles/h5diff_625.txt b/tools/testfiles/h5diff_625.txt
new file mode 100644
index 0000000..d2684d3
--- /dev/null
+++ b/tools/testfiles/h5diff_625.txt
@@ -0,0 +1,12 @@
+#############################
+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
new file mode 100644
index 0000000..a18e823
--- /dev/null
+++ b/tools/testfiles/h5diff_626.txt
@@ -0,0 +1,13 @@
+#############################
+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
new file mode 100644
index 0000000..b67afc5
--- /dev/null
+++ b/tools/testfiles/h5diff_627.txt
@@ -0,0 +1,16 @@
+#############################
+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
+[ 0 1 ] 110 100 10
+[ 1 0 ] 100 90 10
+[ 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
new file mode 100644
index 0000000..891c3bb
--- /dev/null
+++ b/tools/testfiles/h5diff_628.txt
@@ -0,0 +1,11 @@
+#############################
+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
+
+
diff --git a/tools/testfiles/h5diff_629.txt b/tools/testfiles/h5diff_629.txt
new file mode 100644
index 0000000..51a825f
--- /dev/null
+++ b/tools/testfiles/h5diff_629.txt
@@ -0,0 +1,5 @@
+#############################
+Expected output for 'h5diff file1.h6 file2.h6'
+#############################
+$h5diff file1.h6 file2.h6
+h5diff: file1.h6: No such file or directory