Commit Graph

47 Commits

Author SHA1 Message Date
Jonathan Kim
5e69ec06ff [svn-r21072] Purpose:
Work for HDFFV-7600 - GMQS: h5diff - argument options -d, -p and --use-system-epsilon should be mutually exclusive.

Description:
    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)
2011-07-07 18:12:51 -05:00
Dana Robinson
42301788bc [svn-r20756] Fixes h5diff test failure on BE systems.
H5Dread() produces different output for invalid enum type values
on systems of different endiannes.  On BE systems, it always
emits -1.  On LE systems, the invalid value is emitted.  This
difference caused the h5diff test to fail since it tests to
see if different invalid enum values are reported as different
(on BE systems they are not since -1 == -1).

This fix removes the "invalid vs. different invalid" test
while we fix the library bug.  HDFFV-7527 will be reopened
in JIRA until the full test passes.

Tested on: jam, heiwa, linew
2011-05-05 14:37:19 -05:00
Dana Robinson
fbba9db955 [svn-r20724] Purpose: Fix a bug in h5diff when enum values are compared that do
not represent a valid enum value.

Description:
The h5diff code compares enum values by converting them to strings and
then comparing them.  When the enum value is out of range and can't be
converted to an enum string representation, the comparison was skipped.

The code now flags differences when one of the two enum values is out
of range (two out of range values are compared in memory).  A test has
been added to the tools test script.

This fixes JIRA HDFFV-7527

Tested on: jam, koala, heiwa (h5committest)
2011-05-04 15:07:38 -05:00
Jonathan Kim
170e7e53a5 [svn-r20676] Purpose:
- HDFFV-5928 - GMQS: h5diff problem and improvement on comparsing the same objects

Description:
    Fixed:
    1) adding h5tools_is_obj_same() function to check if two given IDs or paths point to the same object. This function can be very useful for other tools and applications.
    2) using h5tools_is_obj_same() at h5diff() and diff() in h5diff.c. If two paths point to the same object, there is no need to check the details of the object since we know there is no difference. The fix will increase the performance by skipping the content comparison. It also fixed the problem of reporting difference for some cases of comparing the same file, e.g. empty files or files with incomparable objects the same file.

    Test update:
    Updat prvious test cases (171, 172, 530) affected by this fix, so they
    still perfrom originally intended testing without bypassing.

Tested:
 jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), cmake
2011-04-29 12:02:31 -05:00
Raymond Lu
19b21f1b18 [svn-r20581] Bug 1386 - allowing dimension size to be zero. I forgot to check in these 2 data files for the test.
Now test is needed.
2011-04-20 16:42:14 -05:00
Raymond Lu
614e46f270 [svn-r20577] Bug 1386 - allowing dimension size to be zero. I added test cases in the tests for h5dump and h5diff. I also added the
test cases in the CMAKE script.

Tested on jam, linew, and amani.  Tested CMAKE on jam.
2011-04-20 15:51:22 -05:00
Jonathan Kim
00b2dc9137 [svn-r20427] Purpose:
Fixed Bug 2184 - GMQS: h5diff - incorrect calculation code for 
    --use-system-epsilon option

Description:
    Additional check in from the previous checkin r20424.
    Updated help page again.
     
Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE)
2011-04-06 15:59:37 -05:00
Jonathan Kim
b64aad457c [svn-r20424] Purpose:
Fixed Bug 2184 - GMQS: h5diff - incorrect calculation code for 
    --use-system-epsilon option

Description:
    Additional check in from the previous checkin r20384.
    Updated help page.
     
Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE)
2011-04-06 14:02:42 -05:00
Jonathan Kim
553e452ce4 [svn-r20384] Purpose:
Fixed Bug 2184 - GMQS: h5diff - incorrect calculation code for 
    --use-system-epsilon option

Description:
    Merged from HDF5 1.8 branch r20369.
    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)
2011-03-31 16:43:46 -05:00
Jonathan Kim
aa668a4f64 [svn-r20334] Purpose:
Fixed CHICAGO: Bug 2121 - h5diff - incorrect and lack of output for the 
    different set of attributes (different number and names)

Description:
    This is related to previous checkin r20294.
    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), tejeda (mac32-LE), linew (solaris-BE)
2011-03-25 12:02:03 -05:00
Jonathan Kim
4147de8d02 [svn-r20294] Purpose:
Fixed CHICAGO: Bug 2121 - h5diff - incorrect and lack of output for the 
    different set of attributes (different number and names)

Description:
    Previously h5diff compared attributes correctly only when two objects have 
    the same number of attributes and attribute names are identical.
    This fix covers all other cases.
    Also didn't display useful information about attribute difference.
    This fixes both issues.

     
Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE)
2011-03-22 10:47:07 -05:00
Jonathan Kim
562ba69f35 [svn-r19892] Purpose:
Bug 2089 - GMQS: h5diff segfault on a compound dataset with fixed length + 
    vlen string type order

Description:
    This is fix for the segfault when h5diff compares a compound dataset with 
    combination of fixed length string types and vlen string types in certain 
    orders. Optimized vlariable length string handling codes. The fix is 
    referred from h5dump handling vlen strings. 
    For testing, several compound datasets were added with various combinations.
    Previous failed cases:
     - Vlen string, Fixed length string, Vlen string, Fixed length string
     - Fixed length string, Fixed length string, Vlen string, Vlen string
     - Fixed length string, Vlen string, Fixed length string, Vlen string
     
Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE)
2010-12-28 13:08:40 -05:00
Jonathan Kim
e45cfcb9ee [svn-r19712] Purpose:
Fixed h5diff to handle variable-length strings in a compound dataset 
    correctly. Also variable-length string array in a compound dataset.
    Bug #1989.
    

Description:
    Garbage values were displayed when h5diff compared variable-length 
    strings (or string array) in a compound type dataset. 


Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), tejeda (Mac32)
2010-11-02 11:39:42 -05:00
Jonathan Kim
1733ea4780 [svn-r19491] Purpose:
Update help page for exclude-path feature.

Description:
 Related to "1890:  h5diff excluding object for file comparison via command line" checkins. (r19406)

Tested:
 jam, amani, heiwa
2010-09-29 10:12:23 -05:00
Jonathan Kim
04a7315138 [svn-r19443] Purpose:
Fix for group comparison with exclude-path case. Use relative path.

Description:
 Related to "1890:  h5diff excluding object for file comparison via command line" checkins. (r19406)

Tested:
 jam, amani and heiwa
2010-09-20 17:11:50 -05:00
Jonathan Kim
a11f905af8 [svn-r19410] Purpose:
Add missing files from the previous checkin.
 (Add extra test cases for Bug1975 h5diff - support recursive comparison on group when specified as an object)
2010-09-16 19:14:04 -05:00
Jonathan Kim
a436e41203 [svn-r19409] Purpose:
Add extra test cases for bug1975 h5diff - support recursive comparison on group when specified as an object.

Description:
 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
2010-09-16 18:58:35 -05:00
Jonathan Kim
eb7b5b2cef [svn-r19406] Purpose:
Add --exclude-path option

Description:
 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 and heiwa
2010-09-16 16:46:16 -05:00
Jonathan Kim
c561dc7183 [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
2010-09-16 12:48:06 -05:00
Jonathan Kim
a5ca9e6ba9 [svn-r18873] Purpose:
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.

Tested:
    jam, amani and linew
2010-05-21 15:12:22 -05:00
Allen Byrne
ae06433ab0 [svn-r18793] Add files to support building library with CMake
Tested: Local linux
2010-05-13 11:01:50 -05:00
Allen Byrne
28a9bf5f47 [svn-r18317] Updated test script to match *nix shell script. Also corrected 629 file exit code 2010-02-23 14:02:27 -05:00
Jonathan Kim
ee757e449b [svn-r18273] Purpose:
bugzilla 1754: h5diff: support comparing through links.

Description:
    Fix incorrect (or hanging) behavior in parallel mode when specifying 
    invalid combination of command options. 
    (ex: -v and -q , --no-dangling-links without --follow-links)
    Add relate test case
    Update h5diffgentest.c due to add test files this and previous time

Note:
    svn #18266 (prior to this)
    svn #18164 (original check-in)

Tested:
    h5committest (jam, amani and linew)
2010-02-18 11:51:12 -05:00
Jonathan Kim
ad9e876b0c [svn-r18266] Purpose:
bugzilla 1754: h5diff: support comparing through links.
    (original check-in svn revision #18164)
Description:
    fix the hang issue in parallel mode when compare external-link.
    add --no-dangling-links option. 
    add test cases (#450-#459) relate to the new option.
    improve test script to check exit code.
    update --help relate to the new options.
    correct some indentations.

Tested:
    h5committest (jam, amani and linew)
2010-02-16 14:43:05 -05:00
Jonathan Kim
98639557ac [svn-r18166] Purpose:
Take care of test case fail for h5repack from checkin (r18164)

Description:
    Previous checkin didn't allow h5diff to return succeed when a link's 
    target object doesn't exist. Changed it to succeed with warning.
    (Need to discuss related feature)

Tested on Jam
2010-01-25 19:20:16 -05:00
Jonathan Kim
985a261886 [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
2010-01-25 17:02:35 -05:00
Jonathan Kim
3c5dc1a808 [svn-r18134] Purpose:
Additional fix relted to the fix of bug1672.

Description:
    The fix of bug1672 caused some changes of output which required modifying
    some test cases.  After some discussion, restoring the changes of the test 
    cases was decided.  After many experiments for the solution, this fix was 
    made so the code which improved performance can stay.

Tested on Jam.
2010-01-21 15:01:42 -05:00
Jonathan Kim
7ce1b99a7c [svn-r18129] Purpose:
Add test case relate to bug1749. Also corrected command echo lines which
    don't match with actual tests.

Tested on Jam.
2010-01-21 13:42:30 -05:00
Jonathan Kim
8bcc914263 [svn-r17905] Purpose:
Fix Bug1672 - Display garbage value on LE machine for BE data.

Description:
	Casuing by calling diff_dataset twice when -r or no option was given.
	Change to call it once which fix the problem. 
	It also improves the performance. (diffing time in half)
	According further test, it also occurred on BE machine as well and it 
	seems occruing only with the BE data attached to Bugzilla. 
	Don't know how the file was created. Anyway this fix will prevent 
	from diffing with garbage values in similiar potential case. 
	
Tested on:
	linux32 (jam) , linux64 (almani), solaris (linew)
2009-11-20 13:56:01 -05:00
Peter Cao
5f3a7254c1 [svn-r17466] " Use strict equality as default
"   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)
2009-09-11 15:09:34 -05:00
Peter Cao
a6676de3c8 [svn-r17254] Fixed Bug 1563 - h5diff and Infinity
Added test cases
2009-07-28 14:40:18 -05:00
Pedro Vicente Nunes
358f18543f [svn-r16991] change messages of -c option
tested: windows, linux
2009-05-28 16:31:57 -05:00
Pedro Vicente Nunes
b75740341f [svn-r16964] bug fix: the phrase "Not comparable" was not being printed for the case of different classes
tested: windows, linux
2009-05-20 09:07:22 -05:00
Pedro Vicente Nunes
c60f5a8429 [svn-r16810] added the words "Not comparable" in the not comparable messages
tested: linux
2009-04-20 15:59:40 -05:00
Pedro Vicente Nunes
bd1fe8cd74 [svn-r16614] 3. #1501 (B1) tools bug if dataset is larger than H5TOOLS_BUFSIZE limit.
ISSUE : the tools use the following formula to read by hyperslabs: hyperslab_size[i] = MIN( dim_size[i], H5TOOLS_BUFSIZE / datum_size) where H5TOOLS_BUFSIZE is a constant defined of 1024K. This is OK as long as the datum_size does not exceed 1024K, otherwise we have a hyperslab size of 0 (since 1024K/(greater than 1024K) = 0). This affects h5dump. h5repack, h5diff
SOLUTION: add a check for a 0 size and define as 1 if so. 
TEST FOR H5DUMP: Defined a case in the h5dump test generator program of such a type (an array type of doubles with a large array dimension, that was the case the user reported).  Since the written file commited in svn would be around 1024K, opted for not writing the data (the part of the code where the hyperslab is defined is executed, since h5dump always reads the files). Defined a macro WRITE_ARRAY to enable such writing if needed. Added a run on the h5dump shell script. Added 2 new files to svn: tools/testfiles/tarray8.ddl, tools/testfiles/tarray8.h5. NOTE: while doing this I thought of adding this dataset case to an existing file, but that would add the large array output to those files (the ddls). The issue is that the file list is increasing.
TEST FOR H5DIFF: for h5diff the check for reading by hyperslabs is H5TOOLS_MALLOCSIZE (128 * H5TOOLS_BUFSIZE) or 128 Mb. This makes it not possible to add such a file to svn, so used the same method as h5dump (only write the dataset if WRITE_ARRAY is defined). As opposed to h5dump, the hyperslab code is NOT executed when the dataset is empty (dataset is not read). Added the new dataset to existing files and shell run (tools/h5diff/testfiles/h5diff_dset1.h5 and tools/h5diff/testfiles/h5diff_dset2.h5 and output in tools/h5diff/testfiles/h5diff_80.txt).
TEST FOR H5REPACK: similar issue as h5diff with the difference that the hyperslab code is run. Added a run to the shell script (with a filter, otherwise the code uses H5Ocopy). 

tested: linux (h5commitest failed , apparently it did not detect the code changes in /tools/lib that fix the bug: the error in an assertion in the hyperslab of 0. I am sure that making h5ccomitest --distclean will detect the new code , but don't want to wait more 3 hours :-) )
2009-03-25 15:28:50 -05:00
Pedro Vicente Nunes
96a0892ba8 [svn-r16461] 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: windows, h5committest
2009-02-11 10:57:25 -05:00
Pedro Vicente Nunes
3c67d2972c [svn-r16434] bug fix: typo in usage message
tested: linux
2009-02-05 10:24:23 -05:00
Pedro Vicente Nunes
a6dcbd6a0f [svn-r16358] bug fix
a new line was not inserted at the end of output, causing diff to complain between linux and frebsd

tested: linux , freebsd
2009-01-27 10:33:17 -05:00
Pedro Vicente Nunes
120350c395 [svn-r16348] #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
2009-01-26 14:29:22 -05:00
Pedro Vicente Nunes
108699a7a8 [svn-r16300] 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
2009-01-13 11:33:31 -05:00
Pedro Vicente Nunes
5b7de16d6a [svn-r16217] Bug fix
PG compiler complains about array out of bounds (a rank of zero was not checked)
Adding a scalar dataset to the test generator program. this case is run on a previous existing run, the case was added to 2 existing files

Tested: windows, linux
2008-12-23 09:56:13 -05:00
Pedro Vicente Nunes
8a0b098fdb [svn-r16024] For scalar string datasets print the character position when a difference is found instead of a non-existing array position
Tested: windows
2008-11-03 21:44:40 -05:00
Pedro Vicente Nunes
e636e152ea [svn-r15987] Merge with 1.8 rev 15871
Eliminate -c option and make that behavior the default and return 2 instead of -1 on error status

tested: linux
2008-10-29 14:29:25 -05:00
Pedro Vicente Nunes
ace46106f3 [svn-r15979] some test files from rev 15866 from 1.8 branch
tested: linux
2008-10-28 14:53:24 -05:00
Pedro Vicente Nunes
6787ef71a2 [svn-r15428] http://bugzilla.hdfgroup.uiuc.edu/show_bug.cgi?id=1170
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, solaris
2008-08-04 16:13:16 -05:00
Pedro Vicente Nunes
096b0127bc [svn-r15246] Changed the shell script to avoid doing a cd $srcdir
The name of the files are now given by its full name relative to $srcdir

To avoid the printing of the complete full path of the test file, that hides
all the other parameters for long paths, the printing of the command line 
is done first in TESTING with the name only of the test file, not its full path 

the printing in the expected output that had the file name was removed as well as 3 tests that tested error messages in which the file name was present

tested: linux (in 2 different build directories relative to $srcdir), solaris
2008-06-19 21:05:11 -05:00
Pedro Vicente Nunes
83ddc834f4 [svn-r15238]
Moved all h5diff testfiles from /tools/testfiles to tools/h5diff/testfiles

Tested: linux, solaris
2008-06-19 10:34:12 -05:00