h5diff exits with 0 when "Some objects are not comparable"

I just realized that if I limit the comparison to a specific dataset, h5diff exits with a 0 status even when "Some objects are not comparable".

To wit,

[dws@oxygen02 infrastructure]$ /usr/local/contrib/hdf5-1.8.8-par/bin/h5diff -v unstructScalarGradient3ds_0.h5 /scr1_oxygen/dws/jenkins/workspace/nautilusall-build/qarnodes/oxygen/nttests/ntresults-oxygen/infrastructure/unstructScalarGradient3ds/unstructScalarGradient3ds_0.h5 /fluids/qnew
dataset: </fluids/qnew> and </fluids/qnew>
Not comparable: </fluids/qnew> has rank 2, dimensions [1000x3], max dimensions [1000x3]
and </fluids/qnew> has rank 2, dimensions [8000x3], max dimensions [8000x3]
attribute: <vsCentering of </fluids/qnew>> and <vsCentering of </fluids/qnew>>
0 differences found
attribute: <vsMesh of </fluids/qnew>> and <vsMesh of </fluids/qnew>>
0 differences found
attribute: <vsType of </fluids/qnew>> and <vsType of </fluids/qnew>>
0 differences found
0 differences found

···

--------------------------------
Some objects are not comparable
--------------------------------
Use -c for a list of objects without details of differences.
[dws@oxygen02 infrastructure]$ echo $?
0

Interestingly, if I don't limit the comparison to a specific dataset, h5diff has the correct exit status:

[dws@oxygen02 infrastructure]$ /usr/local/contrib/hdf5-1.8.8-par/bin/h5diff -v unstructScalarGradient3ds_0.h5 /scr1_oxygen/dws/jenkins/workspace/nautilusall-build/qarnodes/oxygen/nttests/ntresults-oxygen/infrastructure/unstructScalarGradient3ds/unstructScalarGradient3ds_0.h5
file1 file2
---------------------------------------
   x x /
   x x /fluids
   x x /fluids/domain
   x x /fluids/error
   x x /fluids/q
   x x /fluids/qan
   x x /fluids/qnew
   x x /runInfo
   x x /timeData

...
108 differences found
attribute: <vsSoftware of </runInfo>> and <vsSoftware of </runInfo>>
0 differences found
attribute: <vsSwRevision of </runInfo>> and <vsSwRevision of </runInfo>>
0 differences found
attribute: <vsType of </runInfo>> and <vsType of </runInfo>>
0 differences found
group : </timeData> and </timeData>
0 differences found
attribute: <vsStep of </timeData>> and <vsStep of </timeData>>
0 differences found
attribute: <vsTime of </timeData>> and <vsTime of </timeData>>
0 differences found
attribute: <vsType of </timeData>> and <vsType of </timeData>>
0 differences found
--------------------------------
Some objects are not comparable
--------------------------------
Use -c for a list of objects without details of differences.
[dws@oxygen02 infrastructure]$ echo $?
1

Dave

Hi Dave,
  Yes, this is a known bug that we are addressing.

    Quincey

···

On Jul 19, 2012, at 4:01 PM, Dave Wade-Stein wrote:

I just realized that if I limit the comparison to a specific dataset, h5diff exits with a 0 status even when "Some objects are not comparable".

To wit,

[dws@oxygen02 infrastructure]$ /usr/local/contrib/hdf5-1.8.8-par/bin/h5diff -v unstructScalarGradient3ds_0.h5 /scr1_oxygen/dws/jenkins/workspace/nautilusall-build/qarnodes/oxygen/nttests/ntresults-oxygen/infrastructure/unstructScalarGradient3ds/unstructScalarGradient3ds_0.h5 /fluids/qnew
dataset: </fluids/qnew> and </fluids/qnew>
Not comparable: </fluids/qnew> has rank 2, dimensions [1000x3], max dimensions [1000x3]
and </fluids/qnew> has rank 2, dimensions [8000x3], max dimensions [8000x3]
attribute: <vsCentering of </fluids/qnew>> and <vsCentering of </fluids/qnew>>
0 differences found
attribute: <vsMesh of </fluids/qnew>> and <vsMesh of </fluids/qnew>>
0 differences found
attribute: <vsType of </fluids/qnew>> and <vsType of </fluids/qnew>>
0 differences found
0 differences found
--------------------------------
Some objects are not comparable
--------------------------------
Use -c for a list of objects without details of differences.
[dws@oxygen02 infrastructure]$ echo $?
0

Interestingly, if I don't limit the comparison to a specific dataset, h5diff has the correct exit status:

[dws@oxygen02 infrastructure]$ /usr/local/contrib/hdf5-1.8.8-par/bin/h5diff -v unstructScalarGradient3ds_0.h5 /scr1_oxygen/dws/jenkins/workspace/nautilusall-build/qarnodes/oxygen/nttests/ntresults-oxygen/infrastructure/unstructScalarGradient3ds/unstructScalarGradient3ds_0.h5
file1 file2
---------------------------------------
   x x /
   x x /fluids
   x x /fluids/domain
   x x /fluids/error
   x x /fluids/q
   x x /fluids/qan
   x x /fluids/qnew
   x x /runInfo
   x x /timeData

...
108 differences found
attribute: <vsSoftware of </runInfo>> and <vsSoftware of </runInfo>>
0 differences found
attribute: <vsSwRevision of </runInfo>> and <vsSwRevision of </runInfo>>
0 differences found
attribute: <vsType of </runInfo>> and <vsType of </runInfo>>
0 differences found
group : </timeData> and </timeData>
0 differences found
attribute: <vsStep of </timeData>> and <vsStep of </timeData>>
0 differences found
attribute: <vsTime of </timeData>> and <vsTime of </timeData>>
0 differences found
attribute: <vsType of </timeData>> and <vsType of </timeData>>
0 differences found
--------------------------------
Some objects are not comparable
--------------------------------
Use -c for a list of objects without details of differences.
[dws@oxygen02 infrastructure]$ echo $?
1

Dave
_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org