[svn-r19400] Purpose:

Fix for Bug1975 h5diff - support recursive comparison on group when specified as an object

Description:
 Compare member objects and groups recursively when two files or groups are specified to be compared. Support parallel diff and handling symbolic links accordingly.

Tested:
 jam, amani, heiwa
This commit is contained in:
Jonathan Kim
2010-09-16 12:48:06 -05:00
parent 1914737e06
commit c561dc7183
56 changed files with 2440 additions and 661 deletions

View File

@@ -1,4 +1,4 @@
usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
usage: h5diff [OPTIONS] file1 file2 [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
@@ -69,16 +69,26 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
-v Verbose mode: print the above plus a list of objects and warnings
-q Quiet mode: do not print output
Compare criteria
If no objects [obj1[obj2]] are specified, h5diff only compares objects
with the same absolute path in both files
File comparison:
If no objects [obj1[ obj2]] are specified, the h5diff comparison proceeds as
a comparison of the two files' root groups. That is, h5diff first compares
the names of root group members, generates a report of root group objects
that appear in only one file or in both files, and recursively compares
common objects.
The compare criteria is:
1) datasets: numerical array differences
2) groups: name string difference
3) datatypes: the return value of H5Tequal
4) links: name string difference of the linked value as default
(refer to --follow-symlinks option).
Object comparison:
1) Groups
First compares the names of member objects (relative path, from the
specified group) and generates a report of objects that appear in only
one group or in both groups. Common objects are then compared recursively.
2) Datasets
Array rank and dimensions, datatypes, and data values are compared.
3) Datatypes
The comparison is based on the return value of H5Tequal.
4) Symbolic links
The paths to the target objects are compared.
(The option --follow-symlinks overrides the default behavior when
symbolic links are compared.).
Exit code:
0 if no differences, 1 if differences found, 2 if error

View File

@@ -1,3 +1,8 @@
group1 group2
---------------------------------------
x x
group : </g1> and </g1>
0 differences found
EXIT CODE: 0

View File

@@ -1,3 +1,8 @@
group1 group2
---------------------------------------
x x
group : </g1> and </g2>
1 differences found
EXIT CODE: 1
0 differences found
EXIT CODE: 0

View File

@@ -3,10 +3,9 @@ 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_group1/dset
x x /softlink_noexist
x x /target_dset1
x x /target_dset2
@@ -15,25 +14,13 @@ file1 file2
group : </> and </>
0 differences found
link : </softlink_dset1_1> and </softlink_dset1_1>
dataset: </softlink_dset1_1> and </softlink_dset1_1>
0 differences found
0 differences found
link : </softlink_dset1_2> and </softlink_dset1_2>
dataset: </softlink_dset1_2> and </softlink_dset1_2>
0 differences found
0 differences found
link : </softlink_dset2> and </softlink_dset2>
dataset: </softlink_dset2> and </softlink_dset2>
0 differences found
0 differences found
link : </softlink_group1> and </softlink_group1>
group : </softlink_group1> and </softlink_group1>
0 differences found
0 differences found
link : </softlink_group2> and </softlink_group2>
group : </softlink_group2> and </softlink_group2>
0 differences found
dataset: </softlink_group1/dset> and </softlink_group1/dset>
0 differences found
dangling link: </softlink_noexist> and </softlink_noexist>
0 differences found

View File

@@ -5,27 +5,25 @@ file1 file2
x x /ext_link_dset1
x x /ext_link_dset2
x x /ext_link_grp1
x x /ext_link_grp1/x_dset
x x /ext_link_grp2
x x /ext_link_grp2/x_dset
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: </ext_link_dset1> and </ext_link_dset1>
0 differences found
0 differences found
external link: </ext_link_dset2> and </ext_link_dset2>
dataset: </ext_link_dset2> and </ext_link_dset2>
0 differences found
0 differences found
external link: </ext_link_grp1> and </ext_link_grp1>
group : </ext_link_grp1> and </ext_link_grp1>
0 differences found
dataset: </ext_link_grp1/x_dset> and </ext_link_grp1/x_dset>
0 differences found
external link: </ext_link_grp2> and </ext_link_grp2>
group : </ext_link_grp2> and </ext_link_grp2>
0 differences found
dataset: </ext_link_grp2/x_dset> and </ext_link_grp2/x_dset>
0 differences found
dangling link: </ext_link_noexist1> and </ext_link_noexist1>
0 differences found

View File

@@ -23,54 +23,30 @@ file1 file2
group : </> and </>
0 differences found
link : </softlink1_to_dset1> and </softlink1_to_dset1>
dataset: </softlink1_to_dset1> and </softlink1_to_dset1>
0 differences found
0 differences found
link : </softlink1_to_slink1> and </softlink1_to_slink1>
dataset: </softlink1_to_slink1> and </softlink1_to_slink1>
0 differences found
0 differences found
link : </softlink1_to_slink2> and </softlink1_to_slink2>
dataset: </softlink1_to_slink2> and </softlink1_to_slink2>
0 differences found
0 differences found
link : </softlink2_to_dset2> and </softlink2_to_dset2>
dataset: </softlink2_to_dset2> and </softlink2_to_dset2>
0 differences found
0 differences found
link : </softlink2_to_slink1> and </softlink2_to_slink1>
dataset: </softlink2_to_slink1> and </softlink2_to_slink1>
0 differences found
0 differences found
link : </softlink2_to_slink2> and </softlink2_to_slink2>
dataset: </softlink2_to_slink2> and </softlink2_to_slink2>
0 differences found
0 differences found
link : </softlink3_to_group1> and </softlink3_to_group1>
group : </softlink3_to_group1> and </softlink3_to_group1>
0 differences found
0 differences found
link : </softlink3_to_slink1> and </softlink3_to_slink1>
group : </softlink3_to_slink1> and </softlink3_to_slink1>
0 differences found
0 differences found
link : </softlink3_to_slink2> and </softlink3_to_slink2>
group : </softlink3_to_slink2> and </softlink3_to_slink2>
0 differences found
0 differences found
link : </softlink4_to_group2> and </softlink4_to_group2>
group : </softlink4_to_group2> and </softlink4_to_group2>
0 differences found
0 differences found
link : </softlink4_to_slink1> and </softlink4_to_slink1>
group : </softlink4_to_slink1> and </softlink4_to_slink1>
0 differences found
0 differences found
link : </softlink4_to_slink2> and </softlink4_to_slink2>
group : </softlink4_to_slink2> and </softlink4_to_slink2>
0 differences found
0 differences found
dataset: </target_dset1> and </target_dset1>
0 differences found
dataset: </target_dset2> and </target_dset2>

View File

@@ -1,3 +1,9 @@
group1 group2
---------------------------------------
x x
x /dset
group : </target_group> and </softlink3_to_slink2>
1 differences found
0 differences found
EXIT CODE: 1

View File

@@ -1,3 +1,9 @@
group1 group2
---------------------------------------
x x
x /dset
group : </softlink3_to_slink2> and </target_group>
1 differences found
0 differences found
EXIT CODE: 1

View File

@@ -1,3 +1,8 @@
group1 group2
---------------------------------------
x x
group : </softlink3_to_slink2> and </softlink4_to_slink2>
1 differences found
EXIT CODE: 1
0 differences found
EXIT CODE: 0

View File

@@ -3,10 +3,9 @@ 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_group1/dset
x x /softlink_noexist
x x /target_dset1
x x /target_dset2
@@ -15,25 +14,13 @@ file1 file2
group : </> and </>
0 differences found
link : </softlink_dset1_1> and </softlink_dset1_1>
dataset: </softlink_dset1_1> and </softlink_dset1_1>
0 differences found
0 differences found
link : </softlink_dset1_2> and </softlink_dset1_2>
dataset: </softlink_dset1_2> and </softlink_dset1_2>
0 differences found
0 differences found
link : </softlink_dset2> and </softlink_dset2>
dataset: </softlink_dset2> and </softlink_dset2>
0 differences found
0 differences found
link : </softlink_group1> and </softlink_group1>
group : </softlink_group1> and </softlink_group1>
0 differences found
0 differences found
link : </softlink_group2> and </softlink_group2>
group : </softlink_group2> and </softlink_group2>
0 differences found
dataset: </softlink_group1/dset> and </softlink_group1/dset>
0 differences found
Warning: </softlink_noexist> is a dangling link.
dataset: </target_dset1> and </target_dset1>

View File

@@ -5,27 +5,25 @@ file1 file2
x x /ext_link_dset1
x x /ext_link_dset2
x x /ext_link_grp1
x x /ext_link_grp1/x_dset
x x /ext_link_grp2
x x /ext_link_grp2/x_dset
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: </ext_link_dset1> and </ext_link_dset1>
0 differences found
0 differences found
external link: </ext_link_dset2> and </ext_link_dset2>
dataset: </ext_link_dset2> and </ext_link_dset2>
0 differences found
0 differences found
external link: </ext_link_grp1> and </ext_link_grp1>
group : </ext_link_grp1> and </ext_link_grp1>
0 differences found
dataset: </ext_link_grp1/x_dset> and </ext_link_grp1/x_dset>
0 differences found
external link: </ext_link_grp2> and </ext_link_grp2>
group : </ext_link_grp2> and </ext_link_grp2>
0 differences found
dataset: </ext_link_grp2/x_dset> and </ext_link_grp2/x_dset>
0 differences found
Warning: </ext_link_noexist1> is a dangling link.
Warning: </ext_link_noexist2> is a dangling link.

View File

@@ -0,0 +1,72 @@
file1 file2
---------------------------------------
x x /
x x /dset1
x x /dset2
x x /dset3
x x /elink_grp1
x x /elink_grp2
x x /elink_grp3
x x /grp1
x x /grp1/dset1
x x /grp1/grp2
x x /grp1/grp2/dset1
x x /grp1/grp2/dset2
x x /grp1/grp2/grp3
x x /grp1/grp2/grp3/dset1
x x /grp1/grp2/grp3/dset2
x x /grp1/grp2/grp3/dset3
x /grp10
x /grp10/dset4
x /grp10/dset5
x /grp10/elink_grp_circle
x /grp11
x /grp11/dset4
x /grp11/dset5
x /grp11/elink_grp_circle
x x /slink_grp1
x /slink_grp10
x /slink_grp11
x x /slink_grp2
x x /slink_grp3
group : </> and </>
0 differences found
dataset: </dset1> and </dset1>
0 differences found
dataset: </dset2> and </dset2>
0 differences found
dataset: </dset3> and </dset3>
0 differences found
external link: </elink_grp1> and </elink_grp1>
1 differences found
external link: </elink_grp2> and </elink_grp2>
1 differences found
external link: </elink_grp3> and </elink_grp3>
1 differences found
group : </grp1> and </grp1>
0 differences found
dataset: </grp1/dset1> and </grp1/dset1>
0 differences found
group : </grp1/grp2> and </grp1/grp2>
0 differences found
dataset: </grp1/grp2/dset1> and </grp1/grp2/dset1>
0 differences found
dataset: </grp1/grp2/dset2> and </grp1/grp2/dset2>
0 differences found
group : </grp1/grp2/grp3> and </grp1/grp2/grp3>
0 differences found
dataset: </grp1/grp2/grp3/dset1> and </grp1/grp2/grp3/dset1>
0 differences found
dataset: </grp1/grp2/grp3/dset2> and </grp1/grp2/grp3/dset2>
0 differences found
dataset: </grp1/grp2/grp3/dset3> and </grp1/grp2/grp3/dset3>
0 differences found
link : </slink_grp1> and </slink_grp1>
0 differences found
link : </slink_grp2> and </slink_grp2>
0 differences found
link : </slink_grp3> and </slink_grp3>
0 differences found
EXIT CODE: 1

View File

@@ -0,0 +1,188 @@
file1 file2
---------------------------------------
x x /
x x /dset1
x x /dset2
x x /dset3
x x /elink_grp1
x x /elink_grp1/dset1
x x /elink_grp1/grp2
x x /elink_grp1/grp2/dset1
x x /elink_grp1/grp2/dset2
x x /elink_grp1/grp2/grp3
x x /elink_grp1/grp2/grp3/dset1
x x /elink_grp1/grp2/grp3/dset2
x x /elink_grp1/grp2/grp3/dset3
x x /elink_grp2
x x /elink_grp2/dset1
x x /elink_grp2/dset2
x x /elink_grp2/grp3
x x /elink_grp2/grp3/dset1
x x /elink_grp2/grp3/dset2
x x /elink_grp2/grp3/dset3
x x /elink_grp3
x x /elink_grp3/dset1
x x /elink_grp3/dset2
x x /elink_grp3/dset3
x x /grp1
x x /grp1/dset1
x x /grp1/grp2
x x /grp1/grp2/dset1
x x /grp1/grp2/dset2
x x /grp1/grp2/grp3
x x /grp1/grp2/grp3/dset1
x x /grp1/grp2/grp3/dset2
x x /grp1/grp2/grp3/dset3
x /grp10
x /grp10/dset4
x /grp10/dset5
x /grp10/elink_grp_circle
x /grp10/elink_grp_circle/dset4
x /grp10/elink_grp_circle/dset5
x /grp10/elink_grp_circle/elink_grp_circle
x /grp10/elink_grp_circle/elink_grp_circle/dset4
x /grp10/elink_grp_circle/elink_grp_circle/dset5
x /grp11
x /grp11/dset4
x /grp11/dset5
x /grp11/elink_grp_circle
x /grp11/elink_grp_circle/dset4
x /grp11/elink_grp_circle/dset5
x /grp11/elink_grp_circle/elink_grp_circle
x /grp11/elink_grp_circle/elink_grp_circle/dset4
x /grp11/elink_grp_circle/elink_grp_circle/dset5
x x /slink_grp1
x x /slink_grp1/dset1
x x /slink_grp1/grp2
x x /slink_grp1/grp2/dset1
x x /slink_grp1/grp2/dset2
x x /slink_grp1/grp2/grp3
x x /slink_grp1/grp2/grp3/dset1
x x /slink_grp1/grp2/grp3/dset2
x x /slink_grp1/grp2/grp3/dset3
x /slink_grp10
x /slink_grp10/dset4
x /slink_grp10/dset5
x /slink_grp11
x /slink_grp11/dset4
x /slink_grp11/dset5
x x /slink_grp2
x x /slink_grp2/dset1
x x /slink_grp2/dset2
x x /slink_grp2/grp3
x x /slink_grp2/grp3/dset1
x x /slink_grp2/grp3/dset2
x x /slink_grp2/grp3/dset3
x x /slink_grp3
x x /slink_grp3/dset1
x x /slink_grp3/dset2
x x /slink_grp3/dset3
group : </> and </>
0 differences found
dataset: </dset1> and </dset1>
0 differences found
dataset: </dset2> and </dset2>
0 differences found
dataset: </dset3> and </dset3>
0 differences found
group : </elink_grp1> and </elink_grp1>
0 differences found
dataset: </elink_grp1/dset1> and </elink_grp1/dset1>
0 differences found
group : </elink_grp1/grp2> and </elink_grp1/grp2>
0 differences found
dataset: </elink_grp1/grp2/dset1> and </elink_grp1/grp2/dset1>
0 differences found
dataset: </elink_grp1/grp2/dset2> and </elink_grp1/grp2/dset2>
0 differences found
group : </elink_grp1/grp2/grp3> and </elink_grp1/grp2/grp3>
0 differences found
dataset: </elink_grp1/grp2/grp3/dset1> and </elink_grp1/grp2/grp3/dset1>
0 differences found
dataset: </elink_grp1/grp2/grp3/dset2> and </elink_grp1/grp2/grp3/dset2>
0 differences found
dataset: </elink_grp1/grp2/grp3/dset3> and </elink_grp1/grp2/grp3/dset3>
0 differences found
group : </elink_grp2> and </elink_grp2>
0 differences found
dataset: </elink_grp2/dset1> and </elink_grp2/dset1>
0 differences found
dataset: </elink_grp2/dset2> and </elink_grp2/dset2>
0 differences found
group : </elink_grp2/grp3> and </elink_grp2/grp3>
0 differences found
dataset: </elink_grp2/grp3/dset1> and </elink_grp2/grp3/dset1>
0 differences found
dataset: </elink_grp2/grp3/dset2> and </elink_grp2/grp3/dset2>
0 differences found
dataset: </elink_grp2/grp3/dset3> and </elink_grp2/grp3/dset3>
0 differences found
group : </elink_grp3> and </elink_grp3>
0 differences found
dataset: </elink_grp3/dset1> and </elink_grp3/dset1>
0 differences found
dataset: </elink_grp3/dset2> and </elink_grp3/dset2>
0 differences found
dataset: </elink_grp3/dset3> and </elink_grp3/dset3>
0 differences found
group : </grp1> and </grp1>
0 differences found
dataset: </grp1/dset1> and </grp1/dset1>
0 differences found
group : </grp1/grp2> and </grp1/grp2>
0 differences found
dataset: </grp1/grp2/dset1> and </grp1/grp2/dset1>
0 differences found
dataset: </grp1/grp2/dset2> and </grp1/grp2/dset2>
0 differences found
group : </grp1/grp2/grp3> and </grp1/grp2/grp3>
0 differences found
dataset: </grp1/grp2/grp3/dset1> and </grp1/grp2/grp3/dset1>
0 differences found
dataset: </grp1/grp2/grp3/dset2> and </grp1/grp2/grp3/dset2>
0 differences found
dataset: </grp1/grp2/grp3/dset3> and </grp1/grp2/grp3/dset3>
0 differences found
group : </slink_grp1> and </slink_grp1>
0 differences found
dataset: </slink_grp1/dset1> and </slink_grp1/dset1>
0 differences found
group : </slink_grp1/grp2> and </slink_grp1/grp2>
0 differences found
dataset: </slink_grp1/grp2/dset1> and </slink_grp1/grp2/dset1>
0 differences found
dataset: </slink_grp1/grp2/dset2> and </slink_grp1/grp2/dset2>
0 differences found
group : </slink_grp1/grp2/grp3> and </slink_grp1/grp2/grp3>
0 differences found
dataset: </slink_grp1/grp2/grp3/dset1> and </slink_grp1/grp2/grp3/dset1>
0 differences found
dataset: </slink_grp1/grp2/grp3/dset2> and </slink_grp1/grp2/grp3/dset2>
0 differences found
dataset: </slink_grp1/grp2/grp3/dset3> and </slink_grp1/grp2/grp3/dset3>
0 differences found
group : </slink_grp2> and </slink_grp2>
0 differences found
dataset: </slink_grp2/dset1> and </slink_grp2/dset1>
0 differences found
dataset: </slink_grp2/dset2> and </slink_grp2/dset2>
0 differences found
group : </slink_grp2/grp3> and </slink_grp2/grp3>
0 differences found
dataset: </slink_grp2/grp3/dset1> and </slink_grp2/grp3/dset1>
0 differences found
dataset: </slink_grp2/grp3/dset2> and </slink_grp2/grp3/dset2>
0 differences found
dataset: </slink_grp2/grp3/dset3> and </slink_grp2/grp3/dset3>
0 differences found
group : </slink_grp3> and </slink_grp3>
0 differences found
dataset: </slink_grp3/dset1> and </slink_grp3/dset1>
0 differences found
dataset: </slink_grp3/dset2> and </slink_grp3/dset2>
0 differences found
dataset: </slink_grp3/dset3> and </slink_grp3/dset3>
0 differences found
EXIT CODE: 1

View File

@@ -0,0 +1,36 @@
group1 group2
---------------------------------------
x
x /
x x /dset1
x x /dset2
x x /dset3
x /elink_grp1
x /elink_grp2
x /elink_grp3
x /grp1
x /grp1/dset1
x /grp1/grp2
x /grp1/grp2/dset1
x /grp1/grp2/dset2
x /grp1/grp2/grp3
x /grp1/grp2/grp3/dset1
x /grp1/grp2/grp3/dset2
x /grp1/grp2/grp3/dset3
x /grp10
x /grp10/dset4
x /grp10/dset5
x /grp10/elink_grp_circle
x /slink_grp1
x /slink_grp10
x /slink_grp2
x /slink_grp3
dataset: </dset1> and </grp1/grp2/grp3/dset1>
0 differences found
dataset: </dset2> and </grp1/grp2/grp3/dset2>
0 differences found
dataset: </dset3> and </grp1/grp2/grp3/dset3>
0 differences found
EXIT CODE: 1

View File

@@ -0,0 +1,32 @@
group1 group2
---------------------------------------
x x
x x /dset1
x x /grp2
x x /grp2/dset1
x x /grp2/dset2
x x /grp2/grp3
x x /grp2/grp3/dset1
x x /grp2/grp3/dset2
x x /grp2/grp3/dset3
group : </grp1> and </grp1>
0 differences found
dataset: </grp1/dset1> and </grp1/dset1>
0 differences found
group : </grp1/grp2> and </grp1/grp2>
0 differences found
dataset: </grp1/grp2/dset1> and </grp1/grp2/dset1>
0 differences found
dataset: </grp1/grp2/dset2> and </grp1/grp2/dset2>
0 differences found
group : </grp1/grp2/grp3> and </grp1/grp2/grp3>
0 differences found
dataset: </grp1/grp2/grp3/dset1> and </grp1/grp2/grp3/dset1>
0 differences found
dataset: </grp1/grp2/grp3/dset2> and </grp1/grp2/grp3/dset2>
0 differences found
dataset: </grp1/grp2/grp3/dset3> and </grp1/grp2/grp3/dset3>
0 differences found
EXIT CODE: 0

View File

@@ -0,0 +1,19 @@
group1 group2
---------------------------------------
x x
x x /dset1
x x /dset2
x /dset3
x /grp3
x /grp3/dset1
x /grp3/dset2
x /grp3/dset3
group : </grp1/grp2> and </grp1/grp2/grp3>
0 differences found
dataset: </grp1/grp2/dset1> and </grp1/grp2/grp3/dset1>
0 differences found
dataset: </grp1/grp2/dset2> and </grp1/grp2/grp3/dset2>
0 differences found
EXIT CODE: 1

View File

@@ -0,0 +1,6 @@
</grp1> is of type H5G_GROUP and </slink_grp1> is of type H5G_LINK
--------------------------------
Some objects are not comparable
--------------------------------
Use -c for a list of objects.
EXIT CODE: 0

View File

@@ -0,0 +1,26 @@
group1 group2
---------------------------------------
x x
x x /dset1
x x /dset2
x x /grp3
x x /grp3/dset1
x x /grp3/dset2
x x /grp3/dset3
group : </grp1/grp2> and </slink_grp2>
0 differences found
dataset: </grp1/grp2/dset1> and </slink_grp2/dset1>
0 differences found
dataset: </grp1/grp2/dset2> and </slink_grp2/dset2>
0 differences found
group : </grp1/grp2/grp3> and </slink_grp2/grp3>
0 differences found
dataset: </grp1/grp2/grp3/dset1> and </slink_grp2/grp3/dset1>
0 differences found
dataset: </grp1/grp2/grp3/dset2> and </slink_grp2/grp3/dset2>
0 differences found
dataset: </grp1/grp2/grp3/dset3> and </slink_grp2/grp3/dset3>
0 differences found
EXIT CODE: 0

View File

@@ -0,0 +1,6 @@
</grp1> is of type H5G_GROUP and </elink_grp1> is of type H5G_UDLINK
--------------------------------
Some objects are not comparable
--------------------------------
Use -c for a list of objects.
EXIT CODE: 0

View File

@@ -0,0 +1,32 @@
group1 group2
---------------------------------------
x x
x x /dset1
x x /grp2
x x /grp2/dset1
x x /grp2/dset2
x x /grp2/grp3
x x /grp2/grp3/dset1
x x /grp2/grp3/dset2
x x /grp2/grp3/dset3
group : </grp1> and </elink_grp1>
0 differences found
dataset: </grp1/dset1> and </elink_grp1/dset1>
0 differences found
group : </grp1/grp2> and </elink_grp1/grp2>
0 differences found
dataset: </grp1/grp2/dset1> and </elink_grp1/grp2/dset1>
0 differences found
dataset: </grp1/grp2/dset2> and </elink_grp1/grp2/dset2>
0 differences found
group : </grp1/grp2/grp3> and </elink_grp1/grp2/grp3>
0 differences found
dataset: </grp1/grp2/grp3/dset1> and </elink_grp1/grp2/grp3/dset1>
0 differences found
dataset: </grp1/grp2/grp3/dset2> and </elink_grp1/grp2/grp3/dset2>
0 differences found
dataset: </grp1/grp2/grp3/dset3> and </elink_grp1/grp2/grp3/dset3>
0 differences found
EXIT CODE: 0

View File

@@ -0,0 +1,6 @@
</slink_grp1> is of type H5G_LINK and </elink_grp1> is of type H5G_UDLINK
--------------------------------
Some objects are not comparable
--------------------------------
Use -c for a list of objects.
EXIT CODE: 0

View File

@@ -0,0 +1,32 @@
group1 group2
---------------------------------------
x x
x x /dset1
x x /grp2
x x /grp2/dset1
x x /grp2/dset2
x x /grp2/grp3
x x /grp2/grp3/dset1
x x /grp2/grp3/dset2
x x /grp2/grp3/dset3
group : </slink_grp1> and </elink_grp1>
0 differences found
dataset: </slink_grp1/dset1> and </elink_grp1/dset1>
0 differences found
group : </slink_grp1/grp2> and </elink_grp1/grp2>
0 differences found
dataset: </slink_grp1/grp2/dset1> and </elink_grp1/grp2/dset1>
0 differences found
dataset: </slink_grp1/grp2/dset2> and </elink_grp1/grp2/dset2>
0 differences found
group : </slink_grp1/grp2/grp3> and </elink_grp1/grp2/grp3>
0 differences found
dataset: </slink_grp1/grp2/grp3/dset1> and </elink_grp1/grp2/grp3/dset1>
0 differences found
dataset: </slink_grp1/grp2/grp3/dset2> and </elink_grp1/grp2/grp3/dset2>
0 differences found
dataset: </slink_grp1/grp2/grp3/dset3> and </elink_grp1/grp2/grp3/dset3>
0 differences found
EXIT CODE: 0

View File

@@ -0,0 +1,24 @@
group1 group2
---------------------------------------
x x
x x /dset4
x x /dset5
x x /elink_grp_circle
group : </grp10> and </grp11>
0 differences found
dataset: </grp10/dset4> and </grp11/dset4>
0 differences found
dataset: </grp10/dset5> and </grp11/dset5>
size: [2x4] [2x4]
position dset5 dset5 difference
------------------------------------------------------------
[ 0 1 ] 3 2 1
[ 0 3 ] 3 2 1
[ 1 0 ] 3 2 1
[ 1 2 ] 3 2 1
4 differences found
external link: </grp10/elink_grp_circle> and </grp11/elink_grp_circle>
1 differences found
EXIT CODE: 1

View File

@@ -0,0 +1,53 @@
group1 group2
---------------------------------------
x x
x x /dset4
x x /dset5
x x /elink_grp_circle
x x /elink_grp_circle/dset4
x x /elink_grp_circle/dset5
x x /elink_grp_circle/elink_grp_circle
x x /elink_grp_circle/elink_grp_circle/dset4
x x /elink_grp_circle/elink_grp_circle/dset5
group : </grp10> and </grp11>
0 differences found
dataset: </grp10/dset4> and </grp11/dset4>
0 differences found
dataset: </grp10/dset5> and </grp11/dset5>
size: [2x4] [2x4]
position dset5 dset5 difference
------------------------------------------------------------
[ 0 1 ] 3 2 1
[ 0 3 ] 3 2 1
[ 1 0 ] 3 2 1
[ 1 2 ] 3 2 1
4 differences found
group : </grp10/elink_grp_circle> and </grp11/elink_grp_circle>
0 differences found
dataset: </grp10/elink_grp_circle/dset4> and </grp11/elink_grp_circle/dset4>
0 differences found
dataset: </grp10/elink_grp_circle/dset5> and </grp11/elink_grp_circle/dset5>
size: [2x4] [2x4]
position dset5 dset5 difference
------------------------------------------------------------
[ 0 1 ] 2 3 1
[ 0 3 ] 2 3 1
[ 1 0 ] 2 3 1
[ 1 2 ] 2 3 1
4 differences found
group : </grp10/elink_grp_circle/elink_grp_circle> and </grp11/elink_grp_circle/elink_grp_circle>
0 differences found
dataset: </grp10/elink_grp_circle/elink_grp_circle/dset4> and </grp11/elink_grp_circle/elink_grp_circle/dset4>
0 differences found
dataset: </grp10/elink_grp_circle/elink_grp_circle/dset5> and </grp11/elink_grp_circle/elink_grp_circle/dset5>
size: [2x4] [2x4]
position dset5 dset5 difference
------------------------------------------------------------
[ 0 1 ] 3 2 1
[ 0 3 ] 3 2 1
[ 1 0 ] 3 2 1
[ 1 2 ] 3 2 1
4 differences found
EXIT CODE: 1

View File

@@ -0,0 +1,3 @@
link : </slink_grp10> and </slink_grp11>
1 differences found
EXIT CODE: 1

View File

@@ -0,0 +1,53 @@
group1 group2
---------------------------------------
x x
x x /dset4
x x /dset5
x x /elink_grp_circle
x x /elink_grp_circle/dset4
x x /elink_grp_circle/dset5
x x /elink_grp_circle/elink_grp_circle
x x /elink_grp_circle/elink_grp_circle/dset4
x x /elink_grp_circle/elink_grp_circle/dset5
group : </slink_grp10> and </slink_grp11>
0 differences found
dataset: </slink_grp10/dset4> and </slink_grp11/dset4>
0 differences found
dataset: </slink_grp10/dset5> and </slink_grp11/dset5>
size: [2x4] [2x4]
position dset5 dset5 difference
------------------------------------------------------------
[ 0 1 ] 3 2 1
[ 0 3 ] 3 2 1
[ 1 0 ] 3 2 1
[ 1 2 ] 3 2 1
4 differences found
group : </slink_grp10/elink_grp_circle> and </slink_grp11/elink_grp_circle>
0 differences found
dataset: </slink_grp10/elink_grp_circle/dset4> and </slink_grp11/elink_grp_circle/dset4>
0 differences found
dataset: </slink_grp10/elink_grp_circle/dset5> and </slink_grp11/elink_grp_circle/dset5>
size: [2x4] [2x4]
position dset5 dset5 difference
------------------------------------------------------------
[ 0 1 ] 2 3 1
[ 0 3 ] 2 3 1
[ 1 0 ] 2 3 1
[ 1 2 ] 2 3 1
4 differences found
group : </slink_grp10/elink_grp_circle/elink_grp_circle> and </slink_grp11/elink_grp_circle/elink_grp_circle>
0 differences found
dataset: </slink_grp10/elink_grp_circle/elink_grp_circle/dset4> and </slink_grp11/elink_grp_circle/elink_grp_circle/dset4>
0 differences found
dataset: </slink_grp10/elink_grp_circle/elink_grp_circle/dset5> and </slink_grp11/elink_grp_circle/elink_grp_circle/dset5>
size: [2x4] [2x4]
position dset5 dset5 difference
------------------------------------------------------------
[ 0 1 ] 3 2 1
[ 0 3 ] 3 2 1
[ 1 0 ] 3 2 1
[ 1 2 ] 3 2 1
4 differences found
EXIT CODE: 1

View File

@@ -1,4 +1,4 @@
usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
usage: h5diff [OPTIONS] file1 file2 [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
@@ -69,16 +69,26 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
-v Verbose mode: print the above plus a list of objects and warnings
-q Quiet mode: do not print output
Compare criteria
If no objects [obj1[obj2]] are specified, h5diff only compares objects
with the same absolute path in both files
File comparison:
If no objects [obj1[ obj2]] are specified, the h5diff comparison proceeds as
a comparison of the two files' root groups. That is, h5diff first compares
the names of root group members, generates a report of root group objects
that appear in only one file or in both files, and recursively compares
common objects.
The compare criteria is:
1) datasets: numerical array differences
2) groups: name string difference
3) datatypes: the return value of H5Tequal
4) links: name string difference of the linked value as default
(refer to --follow-symlinks option).
Object comparison:
1) Groups
First compares the names of member objects (relative path, from the
specified group) and generates a report of objects that appear in only
one group or in both groups. Common objects are then compared recursively.
2) Datasets
Array rank and dimensions, datatypes, and data values are compared.
3) Datatypes
The comparison is based on the return value of H5Tequal.
4) Symbolic links
The paths to the target objects are compared.
(The option --follow-symlinks overrides the default behavior when
symbolic links are compared.).
Exit code:
0 if no differences, 1 if differences found, 2 if error

View File

@@ -0,0 +1,2 @@
Object </nono_obj> could not be found in <h5diff_basic1.h5>
EXIT CODE: 2

View File

@@ -1,5 +1,5 @@
<-d -4> is not a valid option
usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
usage: h5diff [OPTIONS] file1 file2 [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
@@ -70,16 +70,26 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
-v Verbose mode: print the above plus a list of objects and warnings
-q Quiet mode: do not print output
Compare criteria
If no objects [obj1[obj2]] are specified, h5diff only compares objects
with the same absolute path in both files
File comparison:
If no objects [obj1[ obj2]] are specified, the h5diff comparison proceeds as
a comparison of the two files' root groups. That is, h5diff first compares
the names of root group members, generates a report of root group objects
that appear in only one file or in both files, and recursively compares
common objects.
The compare criteria is:
1) datasets: numerical array differences
2) groups: name string difference
3) datatypes: the return value of H5Tequal
4) links: name string difference of the linked value as default
(refer to --follow-symlinks option).
Object comparison:
1) Groups
First compares the names of member objects (relative path, from the
specified group) and generates a report of objects that appear in only
one group or in both groups. Common objects are then compared recursively.
2) Datasets
Array rank and dimensions, datatypes, and data values are compared.
3) Datatypes
The comparison is based on the return value of H5Tequal.
4) Symbolic links
The paths to the target objects are compared.
(The option --follow-symlinks overrides the default behavior when
symbolic links are compared.).
Exit code:
0 if no differences, 1 if differences found, 2 if error

View File

@@ -1,5 +1,5 @@
<-d 0x1> is not a valid option
usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
usage: h5diff [OPTIONS] file1 file2 [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
@@ -70,16 +70,26 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
-v Verbose mode: print the above plus a list of objects and warnings
-q Quiet mode: do not print output
Compare criteria
If no objects [obj1[obj2]] are specified, h5diff only compares objects
with the same absolute path in both files
File comparison:
If no objects [obj1[ obj2]] are specified, the h5diff comparison proceeds as
a comparison of the two files' root groups. That is, h5diff first compares
the names of root group members, generates a report of root group objects
that appear in only one file or in both files, and recursively compares
common objects.
The compare criteria is:
1) datasets: numerical array differences
2) groups: name string difference
3) datatypes: the return value of H5Tequal
4) links: name string difference of the linked value as default
(refer to --follow-symlinks option).
Object comparison:
1) Groups
First compares the names of member objects (relative path, from the
specified group) and generates a report of objects that appear in only
one group or in both groups. Common objects are then compared recursively.
2) Datasets
Array rank and dimensions, datatypes, and data values are compared.
3) Datatypes
The comparison is based on the return value of H5Tequal.
4) Symbolic links
The paths to the target objects are compared.
(The option --follow-symlinks overrides the default behavior when
symbolic links are compared.).
Exit code:
0 if no differences, 1 if differences found, 2 if error

View File

@@ -1,5 +1,5 @@
<-p -4> is not a valid option
usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
usage: h5diff [OPTIONS] file1 file2 [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
@@ -70,16 +70,26 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
-v Verbose mode: print the above plus a list of objects and warnings
-q Quiet mode: do not print output
Compare criteria
If no objects [obj1[obj2]] are specified, h5diff only compares objects
with the same absolute path in both files
File comparison:
If no objects [obj1[ obj2]] are specified, the h5diff comparison proceeds as
a comparison of the two files' root groups. That is, h5diff first compares
the names of root group members, generates a report of root group objects
that appear in only one file or in both files, and recursively compares
common objects.
The compare criteria is:
1) datasets: numerical array differences
2) groups: name string difference
3) datatypes: the return value of H5Tequal
4) links: name string difference of the linked value as default
(refer to --follow-symlinks option).
Object comparison:
1) Groups
First compares the names of member objects (relative path, from the
specified group) and generates a report of objects that appear in only
one group or in both groups. Common objects are then compared recursively.
2) Datasets
Array rank and dimensions, datatypes, and data values are compared.
3) Datatypes
The comparison is based on the return value of H5Tequal.
4) Symbolic links
The paths to the target objects are compared.
(The option --follow-symlinks overrides the default behavior when
symbolic links are compared.).
Exit code:
0 if no differences, 1 if differences found, 2 if error

View File

@@ -1,5 +1,5 @@
<-p 0x1> is not a valid option
usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
usage: h5diff [OPTIONS] file1 file2 [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
@@ -70,16 +70,26 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
-v Verbose mode: print the above plus a list of objects and warnings
-q Quiet mode: do not print output
Compare criteria
If no objects [obj1[obj2]] are specified, h5diff only compares objects
with the same absolute path in both files
File comparison:
If no objects [obj1[ obj2]] are specified, the h5diff comparison proceeds as
a comparison of the two files' root groups. That is, h5diff first compares
the names of root group members, generates a report of root group objects
that appear in only one file or in both files, and recursively compares
common objects.
The compare criteria is:
1) datasets: numerical array differences
2) groups: name string difference
3) datatypes: the return value of H5Tequal
4) links: name string difference of the linked value as default
(refer to --follow-symlinks option).
Object comparison:
1) Groups
First compares the names of member objects (relative path, from the
specified group) and generates a report of objects that appear in only
one group or in both groups. Common objects are then compared recursively.
2) Datasets
Array rank and dimensions, datatypes, and data values are compared.
3) Datatypes
The comparison is based on the return value of H5Tequal.
4) Symbolic links
The paths to the target objects are compared.
(The option --follow-symlinks overrides the default behavior when
symbolic links are compared.).
Exit code:
0 if no differences, 1 if differences found, 2 if error

View File

@@ -1,5 +1,5 @@
<-n -4> is not a valid option
usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
usage: h5diff [OPTIONS] file1 file2 [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
@@ -70,16 +70,26 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
-v Verbose mode: print the above plus a list of objects and warnings
-q Quiet mode: do not print output
Compare criteria
If no objects [obj1[obj2]] are specified, h5diff only compares objects
with the same absolute path in both files
File comparison:
If no objects [obj1[ obj2]] are specified, the h5diff comparison proceeds as
a comparison of the two files' root groups. That is, h5diff first compares
the names of root group members, generates a report of root group objects
that appear in only one file or in both files, and recursively compares
common objects.
The compare criteria is:
1) datasets: numerical array differences
2) groups: name string difference
3) datatypes: the return value of H5Tequal
4) links: name string difference of the linked value as default
(refer to --follow-symlinks option).
Object comparison:
1) Groups
First compares the names of member objects (relative path, from the
specified group) and generates a report of objects that appear in only
one group or in both groups. Common objects are then compared recursively.
2) Datasets
Array rank and dimensions, datatypes, and data values are compared.
3) Datatypes
The comparison is based on the return value of H5Tequal.
4) Symbolic links
The paths to the target objects are compared.
(The option --follow-symlinks overrides the default behavior when
symbolic links are compared.).
Exit code:
0 if no differences, 1 if differences found, 2 if error

View File

@@ -1,5 +1,5 @@
<-n 0> is not a valid option
usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
usage: h5diff [OPTIONS] file1 file2 [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
@@ -70,16 +70,26 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
-v Verbose mode: print the above plus a list of objects and warnings
-q Quiet mode: do not print output
Compare criteria
If no objects [obj1[obj2]] are specified, h5diff only compares objects
with the same absolute path in both files
File comparison:
If no objects [obj1[ obj2]] are specified, the h5diff comparison proceeds as
a comparison of the two files' root groups. That is, h5diff first compares
the names of root group members, generates a report of root group objects
that appear in only one file or in both files, and recursively compares
common objects.
The compare criteria is:
1) datasets: numerical array differences
2) groups: name string difference
3) datatypes: the return value of H5Tequal
4) links: name string difference of the linked value as default
(refer to --follow-symlinks option).
Object comparison:
1) Groups
First compares the names of member objects (relative path, from the
specified group) and generates a report of objects that appear in only
one group or in both groups. Common objects are then compared recursively.
2) Datasets
Array rank and dimensions, datatypes, and data values are compared.
3) Datatypes
The comparison is based on the return value of H5Tequal.
4) Symbolic links
The paths to the target objects are compared.
(The option --follow-symlinks overrides the default behavior when
symbolic links are compared.).
Exit code:
0 if no differences, 1 if differences found, 2 if error

View File

@@ -1,5 +1,5 @@
<-n u> is not a valid option
usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
usage: h5diff [OPTIONS] file1 file2 [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
@@ -70,16 +70,26 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
-v Verbose mode: print the above plus a list of objects and warnings
-q Quiet mode: do not print output
Compare criteria
If no objects [obj1[obj2]] are specified, h5diff only compares objects
with the same absolute path in both files
File comparison:
If no objects [obj1[ obj2]] are specified, the h5diff comparison proceeds as
a comparison of the two files' root groups. That is, h5diff first compares
the names of root group members, generates a report of root group objects
that appear in only one file or in both files, and recursively compares
common objects.
The compare criteria is:
1) datasets: numerical array differences
2) groups: name string difference
3) datatypes: the return value of H5Tequal
4) links: name string difference of the linked value as default
(refer to --follow-symlinks option).
Object comparison:
1) Groups
First compares the names of member objects (relative path, from the
specified group) and generates a report of objects that appear in only
one group or in both groups. Common objects are then compared recursively.
2) Datasets
Array rank and dimensions, datatypes, and data values are compared.
3) Datatypes
The comparison is based on the return value of H5Tequal.
4) Symbolic links
The paths to the target objects are compared.
(The option --follow-symlinks overrides the default behavior when
symbolic links are compared.).
Exit code:
0 if no differences, 1 if differences found, 2 if error

View File

@@ -1,5 +1,5 @@
<-n 0x1> is not a valid option
usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
usage: h5diff [OPTIONS] file1 file2 [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
@@ -70,16 +70,26 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]]
-v Verbose mode: print the above plus a list of objects and warnings
-q Quiet mode: do not print output
Compare criteria
If no objects [obj1[obj2]] are specified, h5diff only compares objects
with the same absolute path in both files
File comparison:
If no objects [obj1[ obj2]] are specified, the h5diff comparison proceeds as
a comparison of the two files' root groups. That is, h5diff first compares
the names of root group members, generates a report of root group objects
that appear in only one file or in both files, and recursively compares
common objects.
The compare criteria is:
1) datasets: numerical array differences
2) groups: name string difference
3) datatypes: the return value of H5Tequal
4) links: name string difference of the linked value as default
(refer to --follow-symlinks option).
Object comparison:
1) Groups
First compares the names of member objects (relative path, from the
specified group) and generates a report of objects that appear in only
one group or in both groups. Common objects are then compared recursively.
2) Datasets
Array rank and dimensions, datatypes, and data values are compared.
3) Datatypes
The comparison is based on the return value of H5Tequal.
4) Symbolic links
The paths to the target objects are compared.
(The option --follow-symlinks overrides the default behavior when
symbolic links are compared.).
Exit code:
0 if no differences, 1 if differences found, 2 if error

Binary file not shown.

Binary file not shown.