h5diff issues "unable to read attribute" error message when comparing
two files
Description:
h5diff did not handle attributes of variable length strings
correctly. It created the wrong memory type if one but not both
compared attributes are of the variable strings type. It ended in
H5Aread() failure.
Solution:
We decided to treat the case when one type is variable length string
and the other is not as incomparable. That bypassed the above error.
We still need to figure out the proper way, if possible, to compare
variable string with non-variable string types.
Tested: h5committested plus tested in Swallow (OS X 10.8).
Merge 1.8 and h5dump/tools and tests based on tools library from trunk.
Reduced warnings.
HDFFV-7949:
Remove duplicated functions in h5ls
Tested: local linux,h5committest
HDFFV-7693 - h5diff produces different behavior between versions: 1.8.3 and 1.8.6
Description:
There were two issues on this.
One was not displaying all the comparable objects if non-comparable
object/attribute exist and compared before comparables ones. This issue
occurred after 1.8.4 release. This is the issue from user.
The other issue was not displaying all the comparable attributes,
if non-comparable object/attribute exist and compared ahead. This issue
were exist even before 1.8.4 release. So it's possible some attribute
comparison may have not displayed correctly in the past, if non-comparable
data were exist in common object.
Fixed h5diff to display all the comparable object and attribute regardless
of non-comparables.
Merged from HDF5 trunk r21396 and r21397.
Tested:
jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), Cmake (jam, Windows)
Work for HDFFV-7600 - GMQS: h5diff - argument options -d, -p and --use-system-epsilon should be mutually exclusive.
Description:
Merge from HDF5 trunk r21072.
Fixed h5diff to display instructive error message and exit with 1
when mutually exclusive options (-d, -p and --use-system-epsilon)
are used together.
Tested:
jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), Cmake (jam)
Fixed Bug 2184 - GMQS: h5diff - incorrect calculation code for
--use-system-epsilon option
Description:
Fixed h5diff for --use-system-epsilon option: the calculation changed
from ( |a - b| / b ) to ( |a - b| ). This was decided for better
performance and was corrected only in HDF5 trunk, so 1.8 got updated.
Also comments for equal_XXX() function were updated correctly.
Also help page and RM got updated correctly.
Also add test cases for testing the differences w/wo the option.
Tested:
jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), Windows (32-LE)
Fixed CHICAGO: Bug 2121 - h5diff - incorrect and lack of output for the
different set of attributes (different number and names)
Description:
Merged from HDF5 trunk r20334.
This is related to previous checkin r20299.
Add help page update for verbose option level feature, which displays
useful information about attribute difference with -v1, --verbose=1 -v2
or --verbose=2 option.
Tested:
jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE)
Fixed CHICAGO: Bug 2121 - h5diff - incorrect and lack of output for the
different set of attributes (different number and names)
Description:
Merged from HDF5 trunk r20294
Previously h5diff compared attributes correctly only when two objects have
the same number of attributes and attribute names are identical.
Also didn't display useful information about attribute difference.
This fix covers all other cases.
This fixes both issues.
Tested:
jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE)
Update help page for exclude-path feature.
Description:
Merged from hdf5 trunk (r19491).
Related to "1890: h5diff excluding object for file comparison via command line" checkins. (r19406)
Tested:
jam, linew
Add --exclude-path option
Description:
Merged from hdf5 trunk (r19406).
Specified path to an object will be excluded from comparing the two files or two groups. If group is specified all the member objects will be excluded.
Related to "1890: h5diff excluding object for file comparison via command line"
Tested:
jam, amani
Fix for Bug1975 h5diff - support recursive comparison on group when specified as an object
Description:
Merged from hdf5 trunk (r19400).
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
Bring r19252 & 19253 from trunk to 1.8 branch:
Bring Coverity changes from branch to trunk:
r19161:
Fixed the part for matching the subset info with dataset
r19189:
BZ1646: h5dump does not check number of dimensions for subsetting parameters against the dataset
Changed subset_t structure from holding hsize_t pointers to holding new subset_d pointers, which hold the original hsize_t pointer + len. this len is then checked against dataset ndims in the handle_dataset function of h5dump.
Changed all references to use new data structure.
Added tests for each subset parameter.
r19190:
Added new h5dump ddl files
Tested on:
Mac OS X/32 10.6.4 (amazon) w/debug & production
(h5committested on Coverity branch)
Rename '--follow-links' to '--follow-symlinks'
Description:
The '--follow-links' option is to follow symbolic links (soft and external).
Make the name more intuitive and specific to the feature.
Merged from hdf5 trunk r18873.
Tested:
jam
Work for bugzilla 1754: h5diff: support comparing through links.
Description:
merged from hdf5 trunk (18164, 18165, 18166, 18167, 18170, 18266, 18273)
Tested:
h5committest (jam, amani and linew)
" Use "--use-system-epsilon" for system EPSILON
" Use "-p" or "-d" for whatever user's choice of epsilon
" Use "-p 0" or "-d 0" for strict equality (same as default)
#1368 (E1) h5diff: implement "not comparable" messages. Implemented RFC. The new option is <-c, --compare List objects that are not comparable>
added some test cases
tested: windows, linux
Added an option to avoid dealing with NaNs
-N, --nan Avoid NaNs detection
Note: there is no shell script run for datasets with NaN because the output is non portable (different results and NaN strings for different systems)
Tested: windows, linux
Remove trailing whitespace from C/C++ source files, with the following
script:
foreach f (*.[ch] *.cpp)
sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f
end
Tested on:
Mac OS X/32 10.5.5 (amazon)
No need for h5committest, just whitespace changes...
Summary: when using h5diff to compare the results of h5repack (or other tools that copy one HDF5 file to another), a new option is needed to allow h5diff to make an "absolute" comparison of the 2 files. This is the "contents" mode explained in the usage below.
If this mode is present, objects in both files must match (must be exactly the same). If this does not happen, the tool returns an error code of 1 (instead of the success code of 0)
Changes to the h5repack test script: the call to h5diff was changed to include -c (maintaining the previous -q).
tested: windows, linux
Tested platform:
Kagiso only since it is only a comment block change. If it works in one
machine, it should work in all, I hope. Still need to check the parallel
build on copper.
fixed warning
../../../hdf5/tools/h5diff/h5diff_common.c: In function `usage':
../../../hdf5/tools/h5diff/h5diff_common.c:346: warning: function might be possible candidate for attribute `noreturn'
Cleaned warnings
h5diff_array.c:804: warning: passing arg 1 of `fabs' as floating rather
than integer due to prototype
introduced double precision arithmetic when possible instead of single
precision
1) added a new parameter to the h5diff function diff_array that contains
the beginning position of the hyperslab, so that the total position in
the array is printed correctly when reading by hyperslabs.
2) added a new test to h5diff that reads and diffs by hyperslabs. The
test reads a 1GB dataset, from which a 1KB hyperslab was written with
differences .
3) added the generation of 2 files to the generator program to test the
h5diff hyperslab read.
4) changed the h5diff binary pre-generated file names to be more
descriptive (e.g, instead of file1.h5, made it h5diff_basic1.h5)
5) changed the name of the h5repack options text file to info.h5repack
Code cleanup
Description:
Trim trailing whitespace in Makefile.am and C/C++ source files to make
diffing changes easier.
Platforms tested:
None necessary, whitespace only change
bug fix
Description:
the percent error calculation in h5diff using double precision floating point were causing different results
on the release and debug versions of Visual Studio version 6, due to a compiler bug
Solution:
used single precision (float)
Platforms tested:
windows
linux
solaris
AIX
Misc. update: