Commit Graph

89 Commits

Author SHA1 Message Date
Jonathan Kim
36ea4e8553 [svn-r21368] 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)
    - Merged from HDF5 trunk r21358.

Tested:
    jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), Cmake (jam)
2011-09-06 15:26:08 -05:00
Jonathan Kim
0069b4b190 [svn-r21151] Description:
Merged from HDF5 trunk r21105

  Fixed two bugs:    
    - h5repack: h5repack failed to copy dataset if the layout is changed from c
      hunked 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)

Tested:
  jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE)
2011-07-26 10:20:51 -05:00
Dana Robinson
acf8608ce6 [svn-r20789] Merged 20724 and 20756 from the trunk to fix HDFFV-7527 concerning
invalid enum value comparisons.

Tested on: h5committest
2011-05-10 11:11:11 -05:00
Jonathan Kim
d467c2ce71 [svn-r20369] Purpose:
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)
2011-03-29 11:20:19 -05:00
Quincey Koziol
eedb56bf52 [svn-r20071] Description:
Bring r20070 from trunk to 1.8 branch:

	Switch order of system includes, to correct error on FreeBSD machines.

Tested on:
	FreeBSD/32 6.3 (duty) w/debug
2011-02-09 09:53:22 -05:00
Quincey Koziol
84ef7b0ad2 [svn-r20066] Description:
Bring r20065 from trunk to 1.8 branch:

    Bring changes from Coverity branch to trunk:

r19975:
Fixed potential mem leak at H5O_attr_open_by_name

r19980:
Fix coverity issue 792.
Free tmp_env_prefix in H5Lexternal.c line 365 if it is not NULL but its contents are 0 when it goes out of scope.

r20039:
Eliminate warnings about nested extern and implicit declarations of parallel_print and address Coverity defects 712-781 by #including h5tools_utils.h in h5diff_array.c, h5diff_attr.c, h5diff_dset.c and h5diff_util.c.

r20046:
Purpose: Address TOCTOU warnings in h5jam and h5unjam

Description: Coverity is afraid that the state of the input file could change
between the call to stat() and the call to open().  This is called a time-of-
check time-of-use (TOCTOU) vulnerability.  Modified stat calls to fstat which
uses an open file pointer so it (hopefully) won't complain any more.

r20047:
Addressed coverity issues 135-137, 462-464.  Local pointers that needed to be freed in case of error were moved out of a switch statement in src/H5Tnative.c, set to NULL, and checked before freeing.

Tested on:
    Mac OS X/32 10.6.6 (amazon) w/debug & production
    (h5committested on Coverity branch)
2011-02-08 16:40:24 -05:00
Jonathan Kim
ab0ad9ff02 [svn-r19893] Purpose:
Bug 2089 - GMQS: h5diff segfault on a compound dataset with fixed length + 
    vlen string type order

Description:
    Merged from HDF5 trunk r19892.
    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), linew (solaris-BE)
2010-12-28 14:36:30 -05:00
Jonathan Kim
bea08cb3a8 [svn-r19760] Purpose:
Fix compile error for Windows from previous checkin r19758.

Description:
    Previous log:
    Improve h5diff performance.
    The following changes for improving h5diff performance:
    1) use HDmemcmp() before comparing each elements 
       (memcmp() is very fast at both linew and jam)
    2) replace the expensive H5Tequals() calls
    3) retrieve datatype information at dataset level not each element level 
       for compound datasets


Tested:
 jam (linux32-LE), Windows
2010-11-11 11:55:51 -05:00
Jonathan Kim
b82c6a4f62 [svn-r19758] Purpose:
Improve h5diff performance.

Description:
    The following changes for improving h5diff performance:
    1) use HDmemcmp() before comparing each elements 
       (memcmp() is very fast at both linew and jam)
    2) replace the expensive H5Tequals() calls
    3) retrieve datatype information at dataset level not each element level 
       for compound datasets
    Merged from hdf5 trunk r19757.


Tested:
 jam (linux32-LE)
2010-11-11 10:31:11 -05:00
Jonathan Kim
13c16c8982 [svn-r19713] 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. 
    Merged from hdf5 trunk r19712.


Tested:
 jam (linux32-LE), heiwa (linuxppc64-BE)
2010-11-02 11:57:16 -05:00
Quincey Koziol
d9af3b4fdf [svn-r19238] Description:
Bring r19237 from trunk to 1.8 branch:

	Clean up misc. compiler warnings.

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        Mac OS X/32 10.6.4 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
        Mac OS X/32 10.6.4 (amazon) w/parallel, in debug mode
2010-08-12 16:27:02 -05:00
Jonathan Kim
8438c335ed [svn-r18427] Purpose:
Fix for bug1814 - NPOESS: h5repack doesn't handle references to the groups 
    as an element of a dataset 

Description:
    Merged from hdf5 trunk r18425
    handles object reference to named-datatype as well.
    Add test cases.

Tested:
    jam
2010-03-18 17:31:00 -05:00
Quincey Koziol
fa1f33701d [svn-r18198] Description:
Trim trailing whitespace from source code files, with following 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:33:04 -05:00
Quincey Koziol
5c8ab3e88d [svn-r17983] Description:
Bring r17981 from trunk to 1.8 branch:

Abstract "print header" code into separate routine.

Tested on:
   Mac OS X/32 10.6.2 (amazon) w/debug
  (too minor to require h5committest)
2009-12-10 09:03:52 -05:00
Peter Cao
aeec66cf49 [svn-r17467] " 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:15:22 -05:00
Peter Cao
3bbdfcd5f7 [svn-r17255] Fixed Bug 1563 - h5diff and Infinity
Added test cases.
2009-07-28 15:08:09 -05:00
Pedro Vicente Nunes
f38ae770ca [svn-r16786] merge 16785
added missing test and compare cases inside compounds for nan
tested: linux
2009-04-18 16:19:56 -05:00
Pedro Vicente Nunes
94838213e6 [svn-r16503] merge 16502 from trunk
bug fix: a comma accidently left on a conditional typedef was causing compilition error on AIX
tested: linux
2009-02-20 16:27:59 -05:00
Allen Byrne
c880943ce9 [svn-r16490] Fixed bug #1459 by eliminating the macro long_long and replacing all instances with long long.
Tested:
   h5comittest
   fedora 10 x64
   XP32, VNET
2009-02-18 15:05:49 -05:00
Pedro Vicente Nunes
87ebee5951 [svn-r16375] merge 16373
replaced some printf statements with parallel_print


tested: linux serial (parallel tested in trunk)
2009-01-29 14:09:30 -05:00
Pedro Vicente Nunes
d2dd85b598 [svn-r16351] merge 16348
#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 15:39:32 -05:00
Pedro Vicente Nunes
2ad37c5958 [svn-r16320] merge 16319
add conditinal nan detection to some missing places

tested: windows, linux
2009-01-14 16:43:26 -05:00
Pedro Vicente Nunes
d496a1c715 [svn-r16312] merge 16300
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-14 11:31:52 -05:00
Pedro Vicente Nunes
2a6e4d4e43 [svn-r16218] Merging trunk 16217
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 10:52:22 -05:00
Pedro Vicente Nunes
0426a9ff06 [svn-r16073] For scalar string datasets print the character position when a difference is found instead of a non-existing array position
Tested: windows, linux
2008-11-13 11:45:08 -05:00
Pedro Vicente Nunes
c9300fbde0 [svn-r16071] For scalar string datasets print the character position when a difference is found instead of a non-existing array position
tested: windows, linux
2008-11-13 11:16:12 -05:00
Pedro Vicente Nunes
7885abab9a [svn-r16027] reintroduce code before 16025 of code freeze 2008-11-04 13:33:57 -05:00
Pedro Vicente Nunes
f0d6f33b74 [svn-r16025] 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:53:41 -05:00
Pedro Vicente Nunes
1b6981c062 [svn-r15938]
for some reason , the use of H5_PRINTF_LL_WIDTH to convert to a unsigned long long format, is not working in ia64 linux (tg-login3)
extra characters are printed, this time in h5ls
hardcoded the format defined in HSIZE_T_FORMAT to "%llu"

tested: windows, linux (kagiso), solaris, ia64 linux (tg-login3)
2008-10-23 16:29:21 -05:00
Pedro Vicente Nunes
b694ad6c87 [svn-r15933] for some reason , the use of H5_PRINTF_LL_WIDTH to convert to a unsigned long long format
is not working in ia64 linux (tg-login3)
hardcoded the format to "%llu"

tested: windows, linux (kagiso), solaris, ia64 linux (tg-login3)
2008-10-22 17:33:58 -05:00
Pedro Vicente Nunes
c7bc8d9d28 [svn-r15866] add support for long double type
tested: windows, linux (32,64)
2008-10-14 15:38:57 -05:00
Quincey Koziol
b9be045596 [svn-r15629] 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 11:22:16 -05:00
Quincey Koziol
a233b8a08d [svn-r14691] Description:
Handle comparing datasets & attributes w/variable-length strings properly.

Tested on:
    Linux/64 2.6.9 (chicago)
2008-02-28 09:53:38 -05:00
Pedro Vicente Nunes
28b47d461f [svn-r14382] bug fix: enable NaN detection for double type
note: RFC at http://www.hdfgroup.uiuc.edu/RFC/HDF5/NaNs_and_HDF5/

tested: windows, linux, solaris
2008-01-08 15:14:59 -05:00
Pedro Vicente Nunes
7bb8728685 [svn-r14256] bug fix: h5diff did not handle NaNs
solution: added a NaN detection function according to RFC
http://www.hdfgroup.uiuc.edu/RFC/HDF5/NaNs_and_HDF5/

tested: windows XP Vs6, linux, freeBsd, solaris 5.10
2007-11-13 13:52:54 -05:00
Quincey Koziol
e15bdb05e6 [svn-r14225] Description:
Change H5Oget_info -> H5Oget_info_by_name and re-add H5Oget_info in a
simpler form for querying a particular object, to align with other new API
routines.

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
2007-10-31 08:13:40 -05:00
Quincey Koziol
a5984f59f7 [svn-r14212] Description:
Make H5Tarray_create() and H5Tget_array_dims() versioned, and drop the
"perm" parameter from the '2' versions.

	Shift internal library usage to '2' versions.

	Add simple regression tests for '1' versions.

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
2007-10-18 17:02:19 -05:00
Quincey Koziol
94153c6c3d [svn-r14148] Description:
Add H5Rget_obj_type() to the API versioning and switch internal
routines to use H5Rget_obj_type2()

	Misc. other code cleanups, etc.

Tested on:
        FreeBSD/32 6.2 (duty)
        FreeBSD/64 6.2 (liberty)
        Linux/32 2.6 (kagiso)
        Linux/64 2.6 (smirom)
        AIX/32 5.3 (copper)
        Solaris/32 2.10 (linew)
        Mac OS X/32 10.4.10 (amazon)
2007-09-13 20:52:38 -05:00
Quincey Koziol
579284f422 [svn-r14144] Description:
Move H5Gget_objinfo() to deprecated symbols section and retarget
internal usage to H5Lget_info()/H5Oget_info().

	Misc. other code cleanups...

Tested on:
	FreeBSD/32 6.2 (duty)
	FreeBSD/64 6.2 (liberty)
	Linux/32 2.6 (kagiso)
	Linux/64 2.6 (smirom)
	AIX/32 5.3 (copper)
	Solaris/32 2.10 (linew)
	Mac OS X/32 10.4.10 (amazon)
2007-09-13 10:44:56 -05:00
Pedro Vicente Nunes
a0d5e09775 [svn-r13441]
make 1.7 h5repack more similar to 1.6 h5repack
2007-03-01 16:36:43 -05:00
Pedro Vicente Nunes
a9d32e4896 [svn-r13431]
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)
2007-02-28 10:07:13 -05:00
Pedro Vicente Nunes
611b8dbb8a [svn-r13396]
Bug fix: Some output was being printed in quiet mode
2007-02-26 15:42:07 -05:00
Pedro Vicente Nunes
67f5810d84 [svn-r13368]
Added a little format alignment to the printing of dimensions
2007-02-21 15:05:04 -05:00
Pedro Vicente Nunes
5af701a32e [svn-r13334] Added a new function to print the dimensions sizes 2007-02-19 15:21:09 -05:00
Albert Cheng
ed7d456e51 [svn-r13253] Updated all C and C++ style source code files with the THG copyright notice.
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.
2007-02-07 09:56:24 -05:00
Pedro Vicente Nunes
aa646b5b43 [svn-r13064]
Fix several bugs

1) the parsing of subsetting was using atoi to convert the parameter to an int, which caused problems for numbers greater that int. Substitute with atof

2) the printing of indices in the subsetting case was not being done. Solution: calculate the element position at the start of the subsetting using the algorythm 

Given an index I(z,y,x) its position from the beginning of an array   of sizes A(size_z, size_y,size_x) is given by
Position of I(z,y,x) = index_z * size_y * size_x 
                              + index_y * size_x
                              + index_x

And pass that position to the function that dumps data, h5tools_dump_simple_data. 

3) several index counters were declared as int, use hsize_t instead

4) modified the test generation program so that it includes test cases for subsetting of 1d, 2d, 3d, and 4d arrays and add these tests to the shell script
2006-12-14 16:18:08 -05:00
Pedro Vicente Nunes
28365eb5b3 [svn-r13042]
added a size of array information when printing differences
modified print_pos and diff_datum for having one extra argument *dims
2006-12-11 15:39:38 -05:00
Pedro Vicente Nunes
801aba05c0 [svn-r13032]
introduced a new macro PDIFF to calculate differences for unsigned types
2006-12-07 14:39:08 -05:00
Pedro Vicente Nunes
d9940e36b2 [svn-r13031]
introduced more ABS macro use
2006-12-07 12:13:41 -05:00
Pedro Vicente Nunes
c9b6db7778 [svn-r13005] removed the PER_FLOAT macro 2006-12-01 11:40:46 -05:00