Fix for group comparison with exclude-path case. Use relative path.
Description:
Merge from hdf5 trunk (r19443)
Related to "1890: h5diff excluding object for file comparison via command line" checkins. (r19407)
Tested:
jam, amani
Add extra test cases for Bug1975 h5diff - support recursive comparison on group when specified as an object
Description:
Merged from hdf5 trunk (r19409)
Additional tests for combination of group recursive and --follow-symlinks
with multi-linked external links with several files (same name/strucure).
Tested:
jam, amani, heiwa
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
Problem:
some launching command like yod (and sometimes mpirun), do not pass
back the exit code of the executables back to the shell. It always returns 0
if it can launch the executable. This cause tests that expect non-zero exit
code to fail incorrectly.
Short term Solution:
Added the feature that if $RUNSERIAL_NOEXITCODE is defined, do not
test conditions that rely on non-zero exit code.
Tests:
dove-linux using RUNSERIAL=thgyod to see the failures and using
$RUNSERIAL_NOEXITCODE=yes to bypass the errors.
Also h5committested.
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)
The ph5diff tests printout incorrectly reporting they are running
h5diff when it actually is running ph5diff.
Fixed.
Tested: Jam (parallel), linew (serial)
No H5committest since it is a shell script and Jam tests both
serial and parallel h5diff for Linux while Linew tests Big
endian platform.
" 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)
Skipped the test of
TESTING $H5DIFF -v $SRCFILE9 $SRCFILE10
TOOLTEST h5diff_100.txt -v $FILE9 $FILE10
again because they still hanged.
Do not turn it back on until it is proven fixed.
Also, want to verify if this is the only tests that hang or
if other tests may hang or if any non-thg machines may hang.
Tested:
jam-pp since it is a simple shell-script change.
Bug fix: for compound types, the not comparable test for members was not done
Solution: for compound types, recursively apply that check
Two new cases are added
1) the compound type has a different number of members. Message printed is
<obj1> has X members <obj2> has Y members
Where X and Y are the number of members of each compound type being compared
2) the compound type has not comparable types (for example a double and an int at the same index)
In this case the message
Comparison not possible: object1 is of class1 and object2 is of class2
Is replaced with
Comparison not possible: object1 has a class1 and object2 has a class2
Modified the test generator program to have these 2 cases
Added a shell run for these 2 cases
Tested: h5committest
#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
The test "h5diff -v h5diff_hyper1.h5 h5diff_hyper2.h5" sometimes hangs in THG
machines. Skip it until its hanging is resolved.
Tested: Jam pp only since it is a simple script change.
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
On Windows, Mingw interprets all parameters starting with '/' as paths, and replaces the '/' with its home directory, "C:\Windows\msys\". This was a problem in h5diff tests such as:
h5diff h5diff_101.txt $FILE1 $FILE1 /g1/d1 g1/d2 -v
I've removed the leading '/', as h5diff will interpret it the same either way.
Tested:
kagiso, linew, and smirom, via h5committest
mingw on Windows XP
Bug fix: the macro used for percentage in the unsigned types needed a cast to signed (the difference can be negative)
Unlike the 1.6 branch the unsigned long long conversion to float is supported by H5Tconvert , so the test commented for 1.6 is run (tools/testfiles/h5diff_16_2.txt)
Added a relative error formula to deal with floating point uncertainty
in the comparison of floats and double types.
Added new tests for this feature to the file generator program and to
the shell script
h5diff: print a message of "not comparable" in a case where the relative error
compare is not possible, due to the denominator being zero. Modified
the test file generator program to include a example for this and a new
test on the shell script
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
new feature
Description:
added support for the printout of dataset region references differences
added a new test for this
merged the h5diff generator of test files into a single file
Solution:
Platforms tested:
linux 32, 64
solaris
Misc. update:
bug fix
Description:
percent relative error was done using integer arythmetic; use floating point instead
added the case for unsigned long long integer to float conversion
Solution:
Platforms tested:
linux (32,64)
AIX
solaris
Misc. update:
bug fix
Description:
1) added a more explainative usage message
2) the percent relative error for the integer type (division) was being done using integer arythmetic; use floating point arythmetic instead
3) added a new test for integer percent
Solution:
Platforms tested:
linux (32,64)
AIX
solaris
Misc. update:
bug fixes
Description:
1) the option logic for the print of long types was done incorrectly (extra lines of code that were not supposed to be there)
2) the print of loong long types was incorrect
Solution:
1) removed the incorrect code
2) made a long long cast on the printf call
Platforms tested:
linux (32 and 64)
solaris
Misc. update:
bug fix, new features
Description:
when comparing links , the output for the number of differences found was not being done
Solution:
print it
add 3 more tests that test the output of differences for 1) groups 2) datatypes 3) links
Platforms tested:
linux
Misc. update:
Improvement
Description:
Some parallel system would dump some system messages in the stdout
stream of an MPI application. That caused the output matching script
to fail unnecessarily.
Solution:
Added the STDOUT_FILTER feature to filter out those system messages
out of stdout result.
Platforms tested:
Tested in LANL Lambda.
new h5diff test
Description:
added a test to the test h5diff script that compares a file to itself.
this test is done to test some features of the library that
open the same file and the root group twice
Solution:
Platforms tested:
linux
solaris
Misc. update:
Feature and bug patch
Description:
Added the SKIP feature which skips a test.
The latest code will hang the very last test. Skip that test for now.
Platforms tested:
heping pp.
Bug fix
Description:
The testh5diff.sh script fails on mcr because of random srun messages
thrown into the output
Solution:
Added some code to filter out the srun messages before the output is compared.
Platforms tested:
LLNL mcr
Misc. update:
modified the script test so that when the test files do not exist , they are created
Description:
Solution:
Platforms tested:
linux
solaris
Misc. update: