summaryrefslogtreecommitdiffstats
path: root/tools/h5diff/testfiles
diff options
context:
space:
mode:
authorJonathan Kim <jkm@hdfgroup.org>2010-01-25 22:02:35 (GMT)
committerJonathan Kim <jkm@hdfgroup.org>2010-01-25 22:02:35 (GMT)
commit985a261886871d960213f3868520ab3583b8dafa (patch)
tree97cc78bc8ee8c7da41e1985874fcc86cc5f2e093 /tools/h5diff/testfiles
parent79cd5838d1fb36b3b5385a8f3741fc33a53537d2 (diff)
downloadhdf5-985a261886871d960213f3868520ab3583b8dafa.zip
hdf5-985a261886871d960213f3868520ab3583b8dafa.tar.gz
hdf5-985a261886871d960213f3868520ab3583b8dafa.tar.bz2
[svn-r18165] Purpose:
Add test cases for h5diff check-in (svn revision #18164). Description: This test cases are for testing comparing through various link combinations relate to bugzilla report 1754. Also improved the test script to handle external link cases and simplified to use single line instead of double for each test cases. Tested on Jam
Diffstat (limited to 'tools/h5diff/testfiles')
-rw-r--r--tools/h5diff/testfiles/h5diff_10.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_400.txt47
-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.txt2
-rw-r--r--tools/h5diff/testfiles/h5diff_418.txt2
-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_612.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_615.txt1
-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
-rw-r--r--tools/h5diff/testfiles/h5diff_softlinks.h5bin0 -> 5744 bytes
42 files changed, 364 insertions, 0 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_400.txt b/tools/h5diff/testfiles/h5diff_400.txt
new file mode 100644
index 0000000..4083941
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_400.txt
@@ -0,0 +1,47 @@
+
+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
+error: "/no_obj" doesn't exist
+error: unable to get softlink info from "/softlink_noexist"
+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
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..73d529d
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_417.txt
@@ -0,0 +1,2 @@
+error: "/no_obj" doesn't exist
+error: unable to get softlink info from "/softlink_noexist"
diff --git a/tools/h5diff/testfiles/h5diff_418.txt b/tools/h5diff/testfiles/h5diff_418.txt
new file mode 100644
index 0000000..73d529d
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_418.txt
@@ -0,0 +1,2 @@
+error: "/no_obj" doesn't exist
+error: unable to get softlink info from "/softlink_noexist"
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_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_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_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