summaryrefslogtreecommitdiffstats
path: root/tools/h5diff/testfiles
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2010-01-28 13:11:38 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2010-01-28 13:11:38 (GMT)
commit3360c3af0c100ac4d3a2fe2865f34661da862ec5 (patch)
tree9caf7dba62679504aa39ec02ebb72d8b8b5a848d /tools/h5diff/testfiles
parent5b4d3279099e7e4fad6e0092c77aa93dfd35d616 (diff)
downloadhdf5-3360c3af0c100ac4d3a2fe2865f34661da862ec5.zip
hdf5-3360c3af0c100ac4d3a2fe2865f34661da862ec5.tar.gz
hdf5-3360c3af0c100ac4d3a2fe2865f34661da862ec5.tar.bz2
[svn-r18175] Description:
Bring r17986:18172 from trunk to revise_chunks branch. Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Diffstat (limited to 'tools/h5diff/testfiles')
-rw-r--r--tools/h5diff/testfiles/h5diff_10.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_200.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_201.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_202.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_203.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_204.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_205.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_206.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_207.txt1
-rwxr-xr-xtools/h5diff/testfiles/h5diff_300.txt2
-rw-r--r--tools/h5diff/testfiles/h5diff_400.txt54
-rw-r--r--tools/h5diff/testfiles/h5diff_401.txt12
-rw-r--r--tools/h5diff/testfiles/h5diff_402.txt12
-rw-r--r--tools/h5diff/testfiles/h5diff_403.txt12
-rw-r--r--tools/h5diff/testfiles/h5diff_404.txt36
-rw-r--r--tools/h5diff/testfiles/h5diff_405.txt12
-rw-r--r--tools/h5diff/testfiles/h5diff_406.txt12
-rw-r--r--tools/h5diff/testfiles/h5diff_407.txt12
-rw-r--r--tools/h5diff/testfiles/h5diff_408.txt12
-rw-r--r--tools/h5diff/testfiles/h5diff_409.txt12
-rw-r--r--tools/h5diff/testfiles/h5diff_410.txt85
-rw-r--r--tools/h5diff/testfiles/h5diff_411.txt12
-rw-r--r--tools/h5diff/testfiles/h5diff_412.txt12
-rw-r--r--tools/h5diff/testfiles/h5diff_413.txt12
-rw-r--r--tools/h5diff/testfiles/h5diff_414.txt2
-rw-r--r--tools/h5diff/testfiles/h5diff_415.txt2
-rw-r--r--tools/h5diff/testfiles/h5diff_416.txt2
-rw-r--r--tools/h5diff/testfiles/h5diff_417.txt6
-rw-r--r--tools/h5diff/testfiles/h5diff_418.txt6
-rw-r--r--tools/h5diff/testfiles/h5diff_419.txt2
-rw-r--r--tools/h5diff/testfiles/h5diff_420.txt2
-rw-r--r--tools/h5diff/testfiles/h5diff_421.txt2
-rw-r--r--tools/h5diff/testfiles/h5diff_422.txt2
-rw-r--r--tools/h5diff/testfiles/h5diff_423.txt12
-rw-r--r--tools/h5diff/testfiles/h5diff_424.txt12
-rw-r--r--tools/h5diff/testfiles/h5diff_425.txt12
-rw-r--r--tools/h5diff/testfiles/h5diff_600.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_603.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_606.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_609.txt2
-rw-r--r--tools/h5diff/testfiles/h5diff_612.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_615.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_618.txt2
-rw-r--r--tools/h5diff/testfiles/h5diff_621.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_622.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_623.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_624.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_ext2softlink_src.h5bin0 -> 1072 bytes
-rw-r--r--tools/h5diff/testfiles/h5diff_ext2softlink_trg.h5bin0 -> 4640 bytes
-rw-r--r--tools/h5diff/testfiles/h5diff_extlink_src.h5bin0 -> 1256 bytes
-rw-r--r--tools/h5diff/testfiles/h5diff_extlink_trg.h5bin0 -> 6056 bytes
-rw-r--r--tools/h5diff/testfiles/h5diff_linked_softlink.h5bin0 -> 8144 bytes
-rwxr-xr-xtools/h5diff/testfiles/h5diff_links.h5bin0 -> 2536 bytes
-rw-r--r--tools/h5diff/testfiles/h5diff_softlinks.h5bin0 -> 5744 bytes
54 files changed, 381 insertions, 12 deletions
diff --git a/tools/h5diff/testfiles/h5diff_10.txt b/tools/h5diff/testfiles/h5diff_10.txt
index 4788a79..a6b637a 100644
--- a/tools/h5diff/testfiles/h5diff_10.txt
+++ b/tools/h5diff/testfiles/h5diff_10.txt
@@ -9,6 +9,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
-r, --report Report mode. Print differences
-v, --verbose Verbose mode. Print differences, list of objects
-q, --quiet Quiet mode. Do not do output
+ -l, --link-follow Follow link(s)
-c, --compare List objects that are not comparable
-N, --nan Avoid NaNs detection
-n C, --count=C Print differences up to C number, C is a positive integer.
diff --git a/tools/h5diff/testfiles/h5diff_200.txt b/tools/h5diff/testfiles/h5diff_200.txt
index 5a4d02e..56d723d 100644
--- a/tools/h5diff/testfiles/h5diff_200.txt
+++ b/tools/h5diff/testfiles/h5diff_200.txt
@@ -1,4 +1,3 @@
-dataset: </g2/dset1> and </g2/dset2>
--------------------------------
Some objects are not comparable
--------------------------------
diff --git a/tools/h5diff/testfiles/h5diff_201.txt b/tools/h5diff/testfiles/h5diff_201.txt
index da916ea..84d6766 100644
--- a/tools/h5diff/testfiles/h5diff_201.txt
+++ b/tools/h5diff/testfiles/h5diff_201.txt
@@ -1,2 +1 @@
-dataset: </g2/dset1> and </g2/dset2>
Not comparable: </g2/dset1> or </g2/dset2> is an empty dataset
diff --git a/tools/h5diff/testfiles/h5diff_202.txt b/tools/h5diff/testfiles/h5diff_202.txt
index 8e3c7ac..fd4a191 100644
--- a/tools/h5diff/testfiles/h5diff_202.txt
+++ b/tools/h5diff/testfiles/h5diff_202.txt
@@ -1,3 +1,2 @@
-dataset: </g2/dset2> and </g2/dset3>
Not comparable: </g2/dset2> is of class H5T_FLOAT and </g2/dset3> is of class H5T_INTEGER
Not comparable: </g2/dset2> has sign H5T_SGN_ERROR and </g2/dset3> has sign H5T_SGN_2
diff --git a/tools/h5diff/testfiles/h5diff_203.txt b/tools/h5diff/testfiles/h5diff_203.txt
index 90294e3..496523c 100644
--- a/tools/h5diff/testfiles/h5diff_203.txt
+++ b/tools/h5diff/testfiles/h5diff_203.txt
@@ -1,3 +1,2 @@
-dataset: </g2/dset3> and </g2/dset4>
Not comparable: </g2/dset3> has rank 1, dimensions [6], max dimensions [6]
and </g2/dset4> has rank 2, dimensions [3x2], max dimensions [3x2]
diff --git a/tools/h5diff/testfiles/h5diff_204.txt b/tools/h5diff/testfiles/h5diff_204.txt
index a94091d..098a203 100644
--- a/tools/h5diff/testfiles/h5diff_204.txt
+++ b/tools/h5diff/testfiles/h5diff_204.txt
@@ -1,3 +1,2 @@
-dataset: </g2/dset4> and </g2/dset5>
Not comparable: </g2/dset4> has rank 2, dimensions [3x2], max dimensions [3x2]
and </g2/dset5> has rank 2, dimensions [2x2], max dimensions [2x2]
diff --git a/tools/h5diff/testfiles/h5diff_205.txt b/tools/h5diff/testfiles/h5diff_205.txt
index c3708cb..3e2d1f2 100644
--- a/tools/h5diff/testfiles/h5diff_205.txt
+++ b/tools/h5diff/testfiles/h5diff_205.txt
@@ -1,4 +1,3 @@
-dataset: </g2/dset5> and </g2/dset6>
Not comparable: </g2/dset5> has rank 2, dimensions [2x2], max dimensions [2x2]
and </g2/dset6> has rank 2, dimensions [3x2], max dimensions [3x2]
Not comparable: </g2/dset5> has sign H5T_SGN_2 and </g2/dset6> has sign H5T_SGN_NONE
diff --git a/tools/h5diff/testfiles/h5diff_206.txt b/tools/h5diff/testfiles/h5diff_206.txt
index 3557b1e..164aed9 100644
--- a/tools/h5diff/testfiles/h5diff_206.txt
+++ b/tools/h5diff/testfiles/h5diff_206.txt
@@ -1,2 +1 @@
-dataset: </g2/dset7> and </g2/dset8>
Not comparable: </g2/dset7> has a class H5T_FLOAT and </g2/dset8> has a class H5T_INTEGER
diff --git a/tools/h5diff/testfiles/h5diff_207.txt b/tools/h5diff/testfiles/h5diff_207.txt
index 4dfcbb7..bb8e23f 100644
--- a/tools/h5diff/testfiles/h5diff_207.txt
+++ b/tools/h5diff/testfiles/h5diff_207.txt
@@ -1,3 +1,2 @@
-dataset: </g2/dset8> and </g2/dset9>
Not comparable: </g2/dset8> or </g2/dset9> is an empty dataset
Not comparable: </g2/dset8> has 2 members </g2/dset9> has 1 members
diff --git a/tools/h5diff/testfiles/h5diff_300.txt b/tools/h5diff/testfiles/h5diff_300.txt
new file mode 100755
index 0000000..0cfc01b
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_300.txt
@@ -0,0 +1,2 @@
+link : </link_g1> and </link_g2>
+1 differences found
diff --git a/tools/h5diff/testfiles/h5diff_400.txt b/tools/h5diff/testfiles/h5diff_400.txt
new file mode 100644
index 0000000..4b910f5
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_400.txt
@@ -0,0 +1,54 @@
+
+file1 file2
+---------------------------------------
+ x x /
+ x x /softlink_dset1_1
+ x x /softlink_dset1_2
+ x x /softlink_dset2
+ x x /softlink_group1
+ x x /softlink_group2
+ x x /softlink_noexist
+ x x /target_dset1
+ x x /target_dset2
+ x x /target_group
+ x x /target_group/dset
+
+group : </> and </>
+0 differences found
+link : </softlink_dset1_1> and </softlink_dset1_1>
+dataset: </target_dset1> and </target_dset1>
+0 differences found
+0 differences found
+link : </softlink_dset1_2> and </softlink_dset1_2>
+dataset: </target_dset1> and </target_dset1>
+0 differences found
+0 differences found
+link : </softlink_dset2> and </softlink_dset2>
+dataset: </target_dset2> and </target_dset2>
+0 differences found
+0 differences found
+link : </softlink_group1> and </softlink_group1>
+group : </target_group> and </target_group>
+0 differences found
+0 differences found
+link : </softlink_group2> and </softlink_group2>
+group : </target_group> and </target_group>
+0 differences found
+0 differences found
+warn: link target "/no_obj" doesn't exist
+warn: link target "/no_obj" doesn't exist
+link : </softlink_noexist> and </softlink_noexist>
+Comparison not supported: </no_obj> and </no_obj> are of type unknown type
+0 differences found
+dataset: </target_dset1> and </target_dset1>
+0 differences found
+dataset: </target_dset2> and </target_dset2>
+0 differences found
+group : </target_group> and </target_group>
+0 differences found
+dataset: </target_group/dset> and </target_group/dset>
+0 differences found
+--------------------------------
+Some objects are not comparable
+--------------------------------
+Use -c for a list of objects.
diff --git a/tools/h5diff/testfiles/h5diff_401.txt b/tools/h5diff/testfiles/h5diff_401.txt
new file mode 100644
index 0000000..5c599e3
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_401.txt
@@ -0,0 +1,12 @@
+dataset: </target_dset1> and </target_dset2>
+size: [2x4] [2x4]
+position target_dset1 target_dset2 difference
+------------------------------------------------------------
+[ 0 1 ] 1 0 1
+[ 0 2 ] 2 0 2
+[ 0 3 ] 3 0 3
+[ 1 0 ] 1 0 1
+[ 1 1 ] 2 0 2
+[ 1 2 ] 3 0 3
+[ 1 3 ] 4 0 4
+7 differences found
diff --git a/tools/h5diff/testfiles/h5diff_402.txt b/tools/h5diff/testfiles/h5diff_402.txt
new file mode 100644
index 0000000..228c8cc
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_402.txt
@@ -0,0 +1,12 @@
+dataset: </target_dset2> and </target_dset1>
+size: [2x4] [2x4]
+position target_dset2 target_dset1 difference
+------------------------------------------------------------
+[ 0 1 ] 0 1 1
+[ 0 2 ] 0 2 2
+[ 0 3 ] 0 3 3
+[ 1 0 ] 0 1 1
+[ 1 1 ] 0 2 2
+[ 1 2 ] 0 3 3
+[ 1 3 ] 0 4 4
+7 differences found
diff --git a/tools/h5diff/testfiles/h5diff_403.txt b/tools/h5diff/testfiles/h5diff_403.txt
new file mode 100644
index 0000000..5c599e3
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_403.txt
@@ -0,0 +1,12 @@
+dataset: </target_dset1> and </target_dset2>
+size: [2x4] [2x4]
+position target_dset1 target_dset2 difference
+------------------------------------------------------------
+[ 0 1 ] 1 0 1
+[ 0 2 ] 2 0 2
+[ 0 3 ] 3 0 3
+[ 1 0 ] 1 0 1
+[ 1 1 ] 2 0 2
+[ 1 2 ] 3 0 3
+[ 1 3 ] 4 0 4
+7 differences found
diff --git a/tools/h5diff/testfiles/h5diff_404.txt b/tools/h5diff/testfiles/h5diff_404.txt
new file mode 100644
index 0000000..2a0b856
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_404.txt
@@ -0,0 +1,36 @@
+
+file1 file2
+---------------------------------------
+ x x /
+ x x /ext_link_dset1
+ x x /ext_link_dset2
+ x x /ext_link_grp1
+ x x /ext_link_grp2
+ x x /ext_link_noexist1
+ x x /ext_link_noexist2
+
+group : </> and </>
+0 differences found
+external link: </ext_link_dset1> and </ext_link_dset1>
+dataset: </target_group/x_dset> and </target_group/x_dset>
+0 differences found
+0 differences found
+external link: </ext_link_dset2> and </ext_link_dset2>
+dataset: </target_group2/x_dset> and </target_group2/x_dset>
+0 differences found
+0 differences found
+external link: </ext_link_grp1> and </ext_link_grp1>
+group : </target_group> and </target_group>
+0 differences found
+0 differences found
+external link: </ext_link_grp2> and </ext_link_grp2>
+group : </target_group2> and </target_group2>
+0 differences found
+0 differences found
+external link: </ext_link_noexist1> and </ext_link_noexist1>
+Object </no_obj> could not be found in <h5diff_extlink_trg.h5>
+Object </no_obj> could not be found in <h5diff_extlink_trg.h5>
+0 differences found
+external link: </ext_link_noexist2> and </ext_link_noexist2>
+h5diff: <no_file.h5>: unable to open file
+0 differences found
diff --git a/tools/h5diff/testfiles/h5diff_405.txt b/tools/h5diff/testfiles/h5diff_405.txt
new file mode 100644
index 0000000..edbf22a
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_405.txt
@@ -0,0 +1,12 @@
+dataset: </target_group/x_dset> and </target_group2/x_dset>
+size: [2x4] [2x4]
+position x_dset x_dset difference
+------------------------------------------------------------
+[ 0 1 ] 1 0 1
+[ 0 2 ] 2 0 2
+[ 0 3 ] 3 0 3
+[ 1 0 ] 1 0 1
+[ 1 1 ] 2 0 2
+[ 1 2 ] 3 0 3
+[ 1 3 ] 4 0 4
+7 differences found
diff --git a/tools/h5diff/testfiles/h5diff_406.txt b/tools/h5diff/testfiles/h5diff_406.txt
new file mode 100644
index 0000000..7c5eb3e
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_406.txt
@@ -0,0 +1,12 @@
+dataset: </target_group2/x_dset> and </target_group/x_dset>
+size: [2x4] [2x4]
+position x_dset x_dset difference
+------------------------------------------------------------
+[ 0 1 ] 0 1 1
+[ 0 2 ] 0 2 2
+[ 0 3 ] 0 3 3
+[ 1 0 ] 0 1 1
+[ 1 1 ] 0 2 2
+[ 1 2 ] 0 3 3
+[ 1 3 ] 0 4 4
+7 differences found
diff --git a/tools/h5diff/testfiles/h5diff_407.txt b/tools/h5diff/testfiles/h5diff_407.txt
new file mode 100644
index 0000000..edbf22a
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_407.txt
@@ -0,0 +1,12 @@
+dataset: </target_group/x_dset> and </target_group2/x_dset>
+size: [2x4] [2x4]
+position x_dset x_dset difference
+------------------------------------------------------------
+[ 0 1 ] 1 0 1
+[ 0 2 ] 2 0 2
+[ 0 3 ] 3 0 3
+[ 1 0 ] 1 0 1
+[ 1 1 ] 2 0 2
+[ 1 2 ] 3 0 3
+[ 1 3 ] 4 0 4
+7 differences found
diff --git a/tools/h5diff/testfiles/h5diff_408.txt b/tools/h5diff/testfiles/h5diff_408.txt
new file mode 100644
index 0000000..11a928a
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_408.txt
@@ -0,0 +1,12 @@
+dataset: </target_dset1> and </target_group2/x_dset>
+size: [2x4] [2x4]
+position target_dset1 x_dset difference
+------------------------------------------------------------
+[ 0 1 ] 1 0 1
+[ 0 2 ] 2 0 2
+[ 0 3 ] 3 0 3
+[ 1 0 ] 1 0 1
+[ 1 1 ] 2 0 2
+[ 1 2 ] 3 0 3
+[ 1 3 ] 4 0 4
+7 differences found
diff --git a/tools/h5diff/testfiles/h5diff_409.txt b/tools/h5diff/testfiles/h5diff_409.txt
new file mode 100644
index 0000000..3b95e7c
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_409.txt
@@ -0,0 +1,12 @@
+dataset: </target_group2/x_dset> and </target_dset1>
+size: [2x4] [2x4]
+position x_dset target_dset1 difference
+------------------------------------------------------------
+[ 0 1 ] 0 1 1
+[ 0 2 ] 0 2 2
+[ 0 3 ] 0 3 3
+[ 1 0 ] 0 1 1
+[ 1 1 ] 0 2 2
+[ 1 2 ] 0 3 3
+[ 1 3 ] 0 4 4
+7 differences found
diff --git a/tools/h5diff/testfiles/h5diff_410.txt b/tools/h5diff/testfiles/h5diff_410.txt
new file mode 100644
index 0000000..8c645d2
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_410.txt
@@ -0,0 +1,85 @@
+
+file1 file2
+---------------------------------------
+ x x /
+ x x /softlink1_to_dset1
+ x x /softlink1_to_slink1
+ x x /softlink1_to_slink2
+ x x /softlink2_to_dset2
+ x x /softlink2_to_slink1
+ x x /softlink2_to_slink2
+ x x /softlink3_to_group1
+ x x /softlink3_to_slink1
+ x x /softlink3_to_slink2
+ x x /softlink4_to_group2
+ x x /softlink4_to_slink1
+ x x /softlink4_to_slink2
+ x x /target_dset1
+ x x /target_dset2
+ x x /target_group
+ x x /target_group/dset
+ x x /target_group1
+ x x /target_group2
+
+group : </> and </>
+0 differences found
+link : </softlink1_to_dset1> and </softlink1_to_dset1>
+dataset: </target_dset1> and </target_dset1>
+0 differences found
+0 differences found
+link : </softlink1_to_slink1> and </softlink1_to_slink1>
+dataset: <softlink1_to_dset1> and <softlink1_to_dset1>
+0 differences found
+0 differences found
+link : </softlink1_to_slink2> and </softlink1_to_slink2>
+dataset: <softlink1_to_slink1> and <softlink1_to_slink1>
+0 differences found
+0 differences found
+link : </softlink2_to_dset2> and </softlink2_to_dset2>
+dataset: </target_dset2> and </target_dset2>
+0 differences found
+0 differences found
+link : </softlink2_to_slink1> and </softlink2_to_slink1>
+dataset: <softlink2_to_dset2> and <softlink2_to_dset2>
+0 differences found
+0 differences found
+link : </softlink2_to_slink2> and </softlink2_to_slink2>
+dataset: <softlink2_to_slink1> and <softlink2_to_slink1>
+0 differences found
+0 differences found
+link : </softlink3_to_group1> and </softlink3_to_group1>
+group : <target_group1> and <target_group1>
+0 differences found
+0 differences found
+link : </softlink3_to_slink1> and </softlink3_to_slink1>
+group : <softlink3_to_group1> and <softlink3_to_group1>
+0 differences found
+0 differences found
+link : </softlink3_to_slink2> and </softlink3_to_slink2>
+group : <softlink3_to_slink1> and <softlink3_to_slink1>
+0 differences found
+0 differences found
+link : </softlink4_to_group2> and </softlink4_to_group2>
+group : <target_group2> and <target_group2>
+0 differences found
+0 differences found
+link : </softlink4_to_slink1> and </softlink4_to_slink1>
+group : <softlink4_to_group2> and <softlink4_to_group2>
+0 differences found
+0 differences found
+link : </softlink4_to_slink2> and </softlink4_to_slink2>
+group : <softlink4_to_slink1> and <softlink4_to_slink1>
+0 differences found
+0 differences found
+dataset: </target_dset1> and </target_dset1>
+0 differences found
+dataset: </target_dset2> and </target_dset2>
+0 differences found
+group : </target_group> and </target_group>
+0 differences found
+dataset: </target_group/dset> and </target_group/dset>
+0 differences found
+group : </target_group1> and </target_group1>
+0 differences found
+group : </target_group2> and </target_group2>
+0 differences found
diff --git a/tools/h5diff/testfiles/h5diff_411.txt b/tools/h5diff/testfiles/h5diff_411.txt
new file mode 100644
index 0000000..2775677
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_411.txt
@@ -0,0 +1,12 @@
+dataset: </target_dset2> and <softlink1_to_slink1>
+size: [2x4] [2x4]
+position target_dset2 softlink1_to_slink1 difference
+------------------------------------------------------------
+[ 0 1 ] 0 1 1
+[ 0 2 ] 0 2 2
+[ 0 3 ] 0 3 3
+[ 1 0 ] 0 1 1
+[ 1 1 ] 0 2 2
+[ 1 2 ] 0 3 3
+[ 1 3 ] 0 4 4
+7 differences found
diff --git a/tools/h5diff/testfiles/h5diff_412.txt b/tools/h5diff/testfiles/h5diff_412.txt
new file mode 100644
index 0000000..0924099
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_412.txt
@@ -0,0 +1,12 @@
+dataset: <softlink1_to_slink1> and </target_dset2>
+size: [2x4] [2x4]
+position softlink1_to_slink1 target_dset2 difference
+------------------------------------------------------------
+[ 0 1 ] 1 0 1
+[ 0 2 ] 2 0 2
+[ 0 3 ] 3 0 3
+[ 1 0 ] 1 0 1
+[ 1 1 ] 2 0 2
+[ 1 2 ] 3 0 3
+[ 1 3 ] 4 0 4
+7 differences found
diff --git a/tools/h5diff/testfiles/h5diff_413.txt b/tools/h5diff/testfiles/h5diff_413.txt
new file mode 100644
index 0000000..ae6cfea
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_413.txt
@@ -0,0 +1,12 @@
+dataset: <softlink1_to_slink1> and <softlink2_to_slink1>
+size: [2x4] [2x4]
+position softlink1_to_slink1 softlink2_to_slink1 difference
+------------------------------------------------------------
+[ 0 1 ] 1 0 1
+[ 0 2 ] 2 0 2
+[ 0 3 ] 3 0 3
+[ 1 0 ] 1 0 1
+[ 1 1 ] 2 0 2
+[ 1 2 ] 3 0 3
+[ 1 3 ] 4 0 4
+7 differences found
diff --git a/tools/h5diff/testfiles/h5diff_414.txt b/tools/h5diff/testfiles/h5diff_414.txt
new file mode 100644
index 0000000..0f07a14
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_414.txt
@@ -0,0 +1,2 @@
+group : </target_group> and <softlink3_to_slink1>
+1 differences found
diff --git a/tools/h5diff/testfiles/h5diff_415.txt b/tools/h5diff/testfiles/h5diff_415.txt
new file mode 100644
index 0000000..3a9d863
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_415.txt
@@ -0,0 +1,2 @@
+group : <softlink3_to_slink1> and </target_group>
+1 differences found
diff --git a/tools/h5diff/testfiles/h5diff_416.txt b/tools/h5diff/testfiles/h5diff_416.txt
new file mode 100644
index 0000000..39d88bc
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_416.txt
@@ -0,0 +1,2 @@
+group : <softlink3_to_slink1> and <softlink4_to_slink1>
+1 differences found
diff --git a/tools/h5diff/testfiles/h5diff_417.txt b/tools/h5diff/testfiles/h5diff_417.txt
new file mode 100644
index 0000000..56031e9
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_417.txt
@@ -0,0 +1,6 @@
+warn: link target "/no_obj" doesn't exist
+</no_obj> is of type unknown type and </target_dset2> is of type H5G_DATASET
+--------------------------------
+Some objects are not comparable
+--------------------------------
+Use -c for a list of objects.
diff --git a/tools/h5diff/testfiles/h5diff_418.txt b/tools/h5diff/testfiles/h5diff_418.txt
new file mode 100644
index 0000000..0222174
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_418.txt
@@ -0,0 +1,6 @@
+warn: link target "/no_obj" doesn't exist
+</target_dset2> is of type H5G_DATASET and </no_obj> is of type unknown type
+--------------------------------
+Some objects are not comparable
+--------------------------------
+Use -c for a list of objects.
diff --git a/tools/h5diff/testfiles/h5diff_419.txt b/tools/h5diff/testfiles/h5diff_419.txt
new file mode 100644
index 0000000..836e95f
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_419.txt
@@ -0,0 +1,2 @@
+error: <no_file.h5>: unable to open file
+error: unable to get external link info from "/ext_link_noexist2"
diff --git a/tools/h5diff/testfiles/h5diff_420.txt b/tools/h5diff/testfiles/h5diff_420.txt
new file mode 100644
index 0000000..836e95f
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_420.txt
@@ -0,0 +1,2 @@
+error: <no_file.h5>: unable to open file
+error: unable to get external link info from "/ext_link_noexist2"
diff --git a/tools/h5diff/testfiles/h5diff_421.txt b/tools/h5diff/testfiles/h5diff_421.txt
new file mode 100644
index 0000000..c686b69
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_421.txt
@@ -0,0 +1,2 @@
+error: "/no_obj" doesn't exist
+error: unable to get external link info from "/ext_link_noexist1"
diff --git a/tools/h5diff/testfiles/h5diff_422.txt b/tools/h5diff/testfiles/h5diff_422.txt
new file mode 100644
index 0000000..c686b69
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_422.txt
@@ -0,0 +1,2 @@
+error: "/no_obj" doesn't exist
+error: unable to get external link info from "/ext_link_noexist1"
diff --git a/tools/h5diff/testfiles/h5diff_423.txt b/tools/h5diff/testfiles/h5diff_423.txt
new file mode 100644
index 0000000..5eb6766
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_423.txt
@@ -0,0 +1,12 @@
+dataset: </dset1> and </dset2>
+size: [2x4] [2x4]
+position dset1 dset2 difference
+------------------------------------------------------------
+[ 0 1 ] 0 1 1
+[ 0 2 ] 0 2 2
+[ 0 3 ] 0 3 3
+[ 1 0 ] 0 1 1
+[ 1 1 ] 0 2 2
+[ 1 2 ] 0 3 3
+[ 1 3 ] 0 4 4
+7 differences found
diff --git a/tools/h5diff/testfiles/h5diff_424.txt b/tools/h5diff/testfiles/h5diff_424.txt
new file mode 100644
index 0000000..cd240cf
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_424.txt
@@ -0,0 +1,12 @@
+dataset: </dset2> and </dset1>
+size: [2x4] [2x4]
+position dset2 dset1 difference
+------------------------------------------------------------
+[ 0 1 ] 1 0 1
+[ 0 2 ] 2 0 2
+[ 0 3 ] 3 0 3
+[ 1 0 ] 1 0 1
+[ 1 1 ] 2 0 2
+[ 1 2 ] 3 0 3
+[ 1 3 ] 4 0 4
+7 differences found
diff --git a/tools/h5diff/testfiles/h5diff_425.txt b/tools/h5diff/testfiles/h5diff_425.txt
new file mode 100644
index 0000000..5eb6766
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_425.txt
@@ -0,0 +1,12 @@
+dataset: </dset1> and </dset2>
+size: [2x4] [2x4]
+position dset1 dset2 difference
+------------------------------------------------------------
+[ 0 1 ] 0 1 1
+[ 0 2 ] 0 2 2
+[ 0 3 ] 0 3 3
+[ 1 0 ] 0 1 1
+[ 1 1 ] 0 2 2
+[ 1 2 ] 0 3 3
+[ 1 3 ] 0 4 4
+7 differences found
diff --git a/tools/h5diff/testfiles/h5diff_600.txt b/tools/h5diff/testfiles/h5diff_600.txt
index 82c5240..376e530 100644
--- a/tools/h5diff/testfiles/h5diff_600.txt
+++ b/tools/h5diff/testfiles/h5diff_600.txt
@@ -9,6 +9,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
-r, --report Report mode. Print differences
-v, --verbose Verbose mode. Print differences, list of objects
-q, --quiet Quiet mode. Do not do output
+ -l, --link-follow Follow link(s)
-c, --compare List objects that are not comparable
-N, --nan Avoid NaNs detection
-n C, --count=C Print differences up to C number, C is a positive integer.
diff --git a/tools/h5diff/testfiles/h5diff_603.txt b/tools/h5diff/testfiles/h5diff_603.txt
index e115114..f8a858d 100644
--- a/tools/h5diff/testfiles/h5diff_603.txt
+++ b/tools/h5diff/testfiles/h5diff_603.txt
@@ -10,6 +10,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
-r, --report Report mode. Print differences
-v, --verbose Verbose mode. Print differences, list of objects
-q, --quiet Quiet mode. Do not do output
+ -l, --link-follow Follow link(s)
-c, --compare List objects that are not comparable
-N, --nan Avoid NaNs detection
-n C, --count=C Print differences up to C number, C is a positive integer.
diff --git a/tools/h5diff/testfiles/h5diff_606.txt b/tools/h5diff/testfiles/h5diff_606.txt
index db361fd..ab317bd 100644
--- a/tools/h5diff/testfiles/h5diff_606.txt
+++ b/tools/h5diff/testfiles/h5diff_606.txt
@@ -10,6 +10,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
-r, --report Report mode. Print differences
-v, --verbose Verbose mode. Print differences, list of objects
-q, --quiet Quiet mode. Do not do output
+ -l, --link-follow Follow link(s)
-c, --compare List objects that are not comparable
-N, --nan Avoid NaNs detection
-n C, --count=C Print differences up to C number, C is a positive integer.
diff --git a/tools/h5diff/testfiles/h5diff_609.txt b/tools/h5diff/testfiles/h5diff_609.txt
index 9369dd9..e69de29 100644
--- a/tools/h5diff/testfiles/h5diff_609.txt
+++ b/tools/h5diff/testfiles/h5diff_609.txt
@@ -1,2 +0,0 @@
-dataset: </g1/dset3> and </g1/dset4>
-0 differences found
diff --git a/tools/h5diff/testfiles/h5diff_612.txt b/tools/h5diff/testfiles/h5diff_612.txt
index bbd6b00..875e17e 100644
--- a/tools/h5diff/testfiles/h5diff_612.txt
+++ b/tools/h5diff/testfiles/h5diff_612.txt
@@ -10,6 +10,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
-r, --report Report mode. Print differences
-v, --verbose Verbose mode. Print differences, list of objects
-q, --quiet Quiet mode. Do not do output
+ -l, --link-follow Follow link(s)
-c, --compare List objects that are not comparable
-N, --nan Avoid NaNs detection
-n C, --count=C Print differences up to C number, C is a positive integer.
diff --git a/tools/h5diff/testfiles/h5diff_615.txt b/tools/h5diff/testfiles/h5diff_615.txt
index 9c8f0c7..258124a 100644
--- a/tools/h5diff/testfiles/h5diff_615.txt
+++ b/tools/h5diff/testfiles/h5diff_615.txt
@@ -10,6 +10,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
-r, --report Report mode. Print differences
-v, --verbose Verbose mode. Print differences, list of objects
-q, --quiet Quiet mode. Do not do output
+ -l, --link-follow Follow link(s)
-c, --compare List objects that are not comparable
-N, --nan Avoid NaNs detection
-n C, --count=C Print differences up to C number, C is a positive integer.
diff --git a/tools/h5diff/testfiles/h5diff_618.txt b/tools/h5diff/testfiles/h5diff_618.txt
index 9369dd9..e69de29 100644
--- a/tools/h5diff/testfiles/h5diff_618.txt
+++ b/tools/h5diff/testfiles/h5diff_618.txt
@@ -1,2 +0,0 @@
-dataset: </g1/dset3> and </g1/dset4>
-0 differences found
diff --git a/tools/h5diff/testfiles/h5diff_621.txt b/tools/h5diff/testfiles/h5diff_621.txt
index 79eebed..1fd7f08 100644
--- a/tools/h5diff/testfiles/h5diff_621.txt
+++ b/tools/h5diff/testfiles/h5diff_621.txt
@@ -10,6 +10,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
-r, --report Report mode. Print differences
-v, --verbose Verbose mode. Print differences, list of objects
-q, --quiet Quiet mode. Do not do output
+ -l, --link-follow Follow link(s)
-c, --compare List objects that are not comparable
-N, --nan Avoid NaNs detection
-n C, --count=C Print differences up to C number, C is a positive integer.
diff --git a/tools/h5diff/testfiles/h5diff_622.txt b/tools/h5diff/testfiles/h5diff_622.txt
index 09de51d..bf15c2a 100644
--- a/tools/h5diff/testfiles/h5diff_622.txt
+++ b/tools/h5diff/testfiles/h5diff_622.txt
@@ -10,6 +10,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
-r, --report Report mode. Print differences
-v, --verbose Verbose mode. Print differences, list of objects
-q, --quiet Quiet mode. Do not do output
+ -l, --link-follow Follow link(s)
-c, --compare List objects that are not comparable
-N, --nan Avoid NaNs detection
-n C, --count=C Print differences up to C number, C is a positive integer.
diff --git a/tools/h5diff/testfiles/h5diff_623.txt b/tools/h5diff/testfiles/h5diff_623.txt
index dc60b94..5186dcc 100644
--- a/tools/h5diff/testfiles/h5diff_623.txt
+++ b/tools/h5diff/testfiles/h5diff_623.txt
@@ -10,6 +10,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
-r, --report Report mode. Print differences
-v, --verbose Verbose mode. Print differences, list of objects
-q, --quiet Quiet mode. Do not do output
+ -l, --link-follow Follow link(s)
-c, --compare List objects that are not comparable
-N, --nan Avoid NaNs detection
-n C, --count=C Print differences up to C number, C is a positive integer.
diff --git a/tools/h5diff/testfiles/h5diff_624.txt b/tools/h5diff/testfiles/h5diff_624.txt
index 016ab77..d646a25 100644
--- a/tools/h5diff/testfiles/h5diff_624.txt
+++ b/tools/h5diff/testfiles/h5diff_624.txt
@@ -10,6 +10,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
-r, --report Report mode. Print differences
-v, --verbose Verbose mode. Print differences, list of objects
-q, --quiet Quiet mode. Do not do output
+ -l, --link-follow Follow link(s)
-c, --compare List objects that are not comparable
-N, --nan Avoid NaNs detection
-n C, --count=C Print differences up to C number, C is a positive integer.
diff --git a/tools/h5diff/testfiles/h5diff_ext2softlink_src.h5 b/tools/h5diff/testfiles/h5diff_ext2softlink_src.h5
new file mode 100644
index 0000000..50b7d2b
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_ext2softlink_src.h5
Binary files differ
diff --git a/tools/h5diff/testfiles/h5diff_ext2softlink_trg.h5 b/tools/h5diff/testfiles/h5diff_ext2softlink_trg.h5
new file mode 100644
index 0000000..610e890
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_ext2softlink_trg.h5
Binary files differ
diff --git a/tools/h5diff/testfiles/h5diff_extlink_src.h5 b/tools/h5diff/testfiles/h5diff_extlink_src.h5
new file mode 100644
index 0000000..cfc1066
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_extlink_src.h5
Binary files differ
diff --git a/tools/h5diff/testfiles/h5diff_extlink_trg.h5 b/tools/h5diff/testfiles/h5diff_extlink_trg.h5
new file mode 100644
index 0000000..3a322c9
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_extlink_trg.h5
Binary files differ
diff --git a/tools/h5diff/testfiles/h5diff_linked_softlink.h5 b/tools/h5diff/testfiles/h5diff_linked_softlink.h5
new file mode 100644
index 0000000..03c5dee
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_linked_softlink.h5
Binary files differ
diff --git a/tools/h5diff/testfiles/h5diff_links.h5 b/tools/h5diff/testfiles/h5diff_links.h5
new file mode 100755
index 0000000..8af66a6
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_links.h5
Binary files differ
diff --git a/tools/h5diff/testfiles/h5diff_softlinks.h5 b/tools/h5diff/testfiles/h5diff_softlinks.h5
new file mode 100644
index 0000000..67a843d
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_softlinks.h5
Binary files differ