Commit Graph

77 Commits

Author SHA1 Message Date
Quincey Koziol
33ea1ada24 [svn-r25496] Description:
Merge 64-bit ID changes from branch to trunk.  (Plus a few minor cleanups
that aren't on the branch)

Tested on:
    Mac OSX/64 10.9.4 (amazon) w/C++ & FORTRAN
    (h5committested on branch already for a week)
2014-07-30 15:55:14 -05:00
Dana Robinson
e6cace9ee4 [svn-r24376] Updated all code to use HDmalloc, HDcalloc, and HDfree.
Prep work for adding a memory free function, part of HDFFV-8551.

Tested on:
    32-bit LE linux (jam) 
        * with C++, Fortran
        * with thread safety on

    These are minor changes (almost entirely renaming foo functions
    to HDfoo) that don't change functionality.  This should not
    require a full commit test.
2013-10-30 23:20:36 -05:00
Mohamad Chaarawi
9d954e1136 [svn-r24270] checkin coverity changes from 10/4/2013.
tested with h5committest
2013-10-09 11:55:33 -05:00
Quincey Koziol
482a9c28e7 [svn-r24030] Description:
Clean up more compiler warnings.

Tested on:
    Mac OSX/64 10.8.4 (amazon) w/gcc, C++ & FORTRAN
    (too minor to require h5committest)
2013-08-19 17:13:15 -05:00
Quincey Koziol
308c378ccd [svn-r24020] Description:
Clean up compiler warnings

Tested on:
    Mac OSX/64 10.8.4 (amazon) w/C++ & FORTRAN
    (too minor to require h5committest)
2013-08-17 15:05:27 -05:00
Quincey Koziol
453f95c192 [svn-r24011] Description:
Clean up a few warnings

Tested on:
    Mac OSX 10.8.4 (amazon) w/C++ & FORTRAN
    (too minor to require h5committest)
2013-08-15 08:24:28 -05:00
Jonathan Kim
bb11cbee94 [svn-r22691] Purpose:
HDFFV-7942 - h5diff: incorrect result for comparing attribute data with different type size in same class

Description:
   This is additional fix due to daily build fail against previous r22684.
   Refer to the svn -r22684 log for previous details

Tested: 
 jam (linux32-LE), koala (linux64-LE), ostrich (linuxppc64-BE), cmake (jam)
2012-08-16 10:50:25 -05:00
Jonathan Kim
231fc4d781 [svn-r22684] Purpose:
Address HDFFV-7942 - h5diff: incorrect result for comparing attribute data with different type size in same class

Description:
   When comparing attribute data values with same type class but different size, the result was incorrect.  It was due to the size difference and got truncated. 
   Fixed to match up the smaller type size to big type size like what dataset does.

  
Tested: 
 jam (linux32-LE), koala (linux64-LE), ostrich (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), Windows (32-LE cmake), cmake (jam)
2012-08-15 11:04:26 -05:00
Jonathan Kim
1b35c60118 [svn-r22319] Purpose:
Fix for HDFFV-7998-h5diff: incorrect behavior and output for comparing symbolic dangling links without following-symlinks option 

Description:
  Fix not to check and display dangling link status without --follow-symlinks option.
  Berfor the fix, when comparing symbolic link to symbolic link without follow-symlinks option, h5diff followed to check if those links are dangling or not. It caused to display output incorrectly (dangling link instead of symbolic link).
  
  The fix also improved performance when comparing lots of symbolic links without the --follow-symlinks option.
  Test cases were added and tagged with jira#.

Tested:
  jam (linux32-LE), koala (linux64-LE), ostrich (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE),  Windows (32-LE cmake), Cmake (jam)
2012-04-26 10:56:16 -05:00
Jonathan Kim
6cef6bca1f [svn-r22176] Purpose:
Fix for HDFFV-7644 GMQS: h5diff - incorrect behaviors when comparing HDF5 files with different type of objects (dataset, group, type) as common objects

Description:
  Fixed failure for comparing same named object with different object types in comparing groups. (common object comparison)
  Prior to the fix, h5diff resulted in error. After the fix, h5diff detects such case as non-comparable and display messages accordingly.
  Test cases were added and tagged with jira#.

Tested:
  jam (linux32-LE), koala (linux64-LE), ostrich (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE),  Windows (32-LE cmake), Cmake (jam)
2012-03-28 17:09:38 -05:00
Jonathan Kim
d476ce138b [svn-r22114] Purpose:
Fix for HDFFV-7837 - h5diff: incorrect behavior with exclude-path option when unique object exist only in one file

Description:
  If unique objects exists only in one file and try to exclude
  the unique objects with --exclude-path option, h5diff missed 
  excluding some objects. 
  Fixed to exclude objects correctly in such case.
  Test cases were added and tagged with jira#.


Tested:
  jam (linux32-LE), koala (linux64-LE), ostrich (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE),  Windows (32-LE cmake), Cmake (jam)
2012-03-21 16:00:15 -05:00
Allen Byrne
3d3bf48b9a [svn-r21987] Remove unnecessary dependancies on tools library for h5 file gentests.
Tested: local linux
2012-02-27 09:42:48 -05:00
Allen Byrne
0b4463911f [svn-r21974] Update HSIZE_T print statements to use correct macro.
Fix some more HD prefix issues in tools.

Tested: local linux
2012-02-23 14:08:09 -05:00
Jonathan Kim
e54d15a26c [svn-r21658] Purpose:
HDFFV-7770 - h5diff segmentation fault on JPSS files

Description:
    Fixed segfault over non-comparable attribute with different dimention or
    rank, along with '-c' option to display details.

Tested:
 jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), Windows, Cmake
2011-10-24 16:50:13 -05:00
Jonathan Kim
664c013fc7 [svn-r21586] Description:
Added a funtion to reset dataset & hyperslab buffer size for h5repack from an 
    environment variable.
    This is performance debugging purpose for now.

Tested:
 jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), Windows (32-LE), cmake
2011-10-14 17:44:11 -05:00
Jonathan Kim
86faf0b302 [svn-r21396] Purpose:
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. 

Tested:
 jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), Cmake (jam, Windows)
2011-09-16 14:29:03 -05:00
Jonathan Kim
cf81925931 [svn-r21358] Purpose:
HDFFV-7712 - h5diff: segfault over combinations of complex container types (compound, array, vlen)


Description:
    - Fixed segfault over dataset with container types (array,lven) with multiple nested compound types. (ex: compound->array->compound, compound->vlen->compound)

Tested:
    jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), Cmake (jam)
2011-09-02 11:29:45 -05:00
Peter Cao
877b7aed1b [svn-r21105] Fixed two bugs:
- h5repack: h5repack failed to copy dataset if the layout is changed from chunked with
            unlimited dims to contiguous. (PC -- 2011/07/15)
     - h5diff: "--delta" option considers two NaN of the same type are different, which is wrong
            based on http://www.hdfgroup.org/HDF5/doc/RM/Tools.html#Tools-Diff. (PC -- 2011/07/15)
2011-07-15 18:02:50 -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
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
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
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
Allen Byrne
190878d797 [svn-r20186] Verify/cleanup code due to debugging changes
Tested: local linux
2011-03-04 09:44:48 -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
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
Quincey Koziol
2b33e7ca2e [svn-r18785] Description:
Fix unterminated comment.

Tested on:
    None - just eyeballed.
2010-05-13 08:14:45 -05:00
Allen Byrne
68fa42f336 [svn-r18759] pull r18757 from 1.8 branch
Enable tools lib to be built as a dll on windows. Added two get/set functions for progname and d_status.
Also add windows import/export declarations to functions.
Updated error_mesg() and warn_mesg() to remove progname argument and use get functions

Tested:
   Windows, linux
2010-05-11 15:10:25 -05:00
Jonathan Kim
387b6bf5f5 [svn-r18312] Description:
move data1,data2 array declarations on top of each functions for 
    Windows build

Tested on Jam
2010-02-23 10:22:16 -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
Quincey Koziol
fd70b2afa8 [svn-r18197] Description:
Trim trailing whitespace from source code files with this command:

find . \( -name "*.[ch]" -or -name "*.cpp" -or -name "*.f90" \) -print |xargs -n 1 sed -i "" 's/[[:blank:]]*$//'

Tested on:
    None - eyeballed only
2010-01-29 23:29:13 -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
41b80569d7 [svn-r17058] added some "dummy" declarations for d_status
this error
home/hdftest/snapshots-hdf5/current/tools/lib/h5tools_ref.c:126: undefined reference to `d_status'

happens because the original developer of h5tools_ref.c declared these 2 variables in that source file

extern char   *progname;
extern int    d_status;

this means that all programs that use this source file (typically all tools) will have to define these 2 variables, even if they are *not* used. 

examples

const char *progname = "h5jam";
int d_status = EXIT_SUCCESS;

"progname" is usually used to print the program name in the usage, and "d_status" is just a return value of the tool, usually.

I was wondering about removing these 2 declarations from h5tools_ref.c

extern char   *progname;
extern int    d_status;

and define those variables on each tool if they are only needed (it seems to me that only h5ls and h5dump actually "need" them)

tested: smirom parallel
2009-06-16 13:19:40 -05:00
Pedro Vicente Nunes
ceffce7203 [svn-r16785] added missing test and compare cases inside compounds for nan
tested: linux
2009-04-18 15:55:24 -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
Quincey Koziol
b4ff3e6e79 [svn-r16560] Description:
Remove another call to H5E_clear_stack() from within the library.

    Clean up lots of compiler warnings.

Tested on:
    Mac OS X/32 10.5.6 (amazon)
    (followup on other platforms forthcoming)
2009-03-10 14:00:39 -05:00
Allen Byrne
5d69e87ff0 [svn-r16489] Fixed bug #1459 by eliminating the macro long_long and replacing all instances with long long.
Tested:
   h5comittest
   fedora 10 x64
   Vista 32, VS2005, IVF101
   XP32, Cygwin
2009-02-18 15:02:05 -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
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
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
b7dc9a06b3 [svn-r15977] merge rev 15866 from 1.8 branch into trunk (diffs for unsigned long long)
tested: windows, linux
2008-10-28 14:13:42 -05:00
Quincey Koziol
bdd7d59902 [svn-r15628] Description:
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...
2008-09-16 10:52:51 -05:00
Albert Cheng
fc7aea6f7f [svn-r15124] Purpose:
bug fixes.

Description:
Added code to create an empty hdf5 (named h5diff_empty.h5) in order to test
if h5diff compares correctly an empty hdf5 vs. a non-empty one.

Tested:
Tested in kagiso of h5diffgentest itself.
Verified by h5dump that h5diff_empty.h5 was indeed empty.
Then "h5diff h5diff_empty.h5 h5diff_basic1.h5" returned 0 (should have
returned non-zero).
2008-06-02 12:47:30 -05:00
Scot Breitenfeld
aec106e324 [svn-r14903] Undoing change committed in r14902. 2008-04-30 14:51:13 -05:00
Scot Breitenfeld
5773fd34bc [svn-r14902] Merged fortran_1_8 branch changes r14505:14901 into the trunk. New fortran wrappers added. 2008-04-30 14:23:26 -05:00
Pedro Vicente Nunes
4f442a71e8 [svn-r14726] Removed unused code and make 1.8 and 1.6 code look equal or similar
Tested: windows, linux
2008-03-12 12:02:00 -05:00