Commit Graph

48 Commits

Author SHA1 Message Date
Dana Robinson
d8e3d8e908 [svn-r26333] Eliminates gcc warnings due to -Wunsuffixed-float-constants.
- Adds 'F' suffixes for most float constants.

- A few constants MUST be of type double. These now receive the long
  double L suffix and are then cast to double. I do this via a new
  H5_DOUBLE() macro which was added to H5private.h.

Fixes: HDFFV-9148

Tested on: h5committest
2015-03-01 13:48:54 -05:00
Neil Fortner
7610dd20af [svn-r20529] Purpose: Add testing for bug 1864
Description:
Added internal tesitng routines to traverse a file and verify that symbol table
information is *always* cached, whenever possible.  Added this check to the end
of many tests to check all the test files, right before the call to h5_cleanup.

Tested: jam, amani, heiwa (h5committest)
2011-04-15 17:05:23 -05:00
Quincey Koziol
c5bfe49ea6 [svn-r19352] Description:
Align w/changes on revise_chunks branch

Tested on:
    Mac OS X/32 10.6.4 (amazon) w/debug & production
    (too minor to require h5committest)
2010-09-03 22:44:19 -05:00
Quincey Koziol
52839cdf69 [svn-r19297] Description:
Whack a few more memory errors exposed by valgrind.

    Make the debugging dump output a little bit prettier.

Tested on:
    Mac OS X/32 10.6.4 (amazon) w/debug
    (h5committest forthcoming)
2010-08-25 15:27:07 -05:00
Neil Fortner
3f837fc323 [svn-r18894] Purpose: Improve allocation performance of filtered datasets with non-default VL
fill values.

Description:
Previously, H5D_chunk_allocate would, if a dataset were filtered and had a non-default VL fill value, allocate a new buffer for every chunk.  Changed
H5D_chunk_allocate to reuse the existing buffer if possible.  Also other
miscellaneous cleanup.

Tested: jam, linew, amani (h5committest)
2010-05-25 15:39:52 -05:00
Neil Fortner
2db0e8ecf3 [svn-r18868] Purpose: Fix bug in dataset shrinking algorithm
Description:
Previously, it was possible for a chunk to be flushed due to chunk operations in
the callback from H5B_iterate in H5D_chunk_prune_by_extent.  Because flushing
the chunk can force it to be reallocated if it is filtered, this can change the
contents of the chunk b-tree in the middle of H5B_iterate.  Because H5B_iterate
uses a locally cached copy of the b-tree, this causes subsequent operations
to be passed incorrect data.  Rewrote H5D_chunk_prune_by_extent to avoid
H5B_iterate entirely.

Also fixed a bug in the dataset expand algorithm that could cause extra chunks
to be created.

Tested: jam, linew, smirom (h5committest)
2010-05-20 16:55:55 -05:00
Neil Fortner
d3d4d8782b [svn-r18445] Purpose: Fix bug 1637
Description:
Modified algorithm for extending a dataset with early allocation so it only
deals with the new chunks.  Formerly, it would loop over all chunks, checking
to see if each existed in cache and on disk, causing major performance issues
with large numbers of chunks.

Tested: jam, linew, amani (h5committest)
2010-03-24 11:41:14 -05:00
Neil Fortner
7c82bbf030 [svn-r18262] Purpose: Fix bug in b-tree code
Description:
In certain cases, removal of an object in a v1  b-tree would cause the leftmost
key in the right neighbor to be overwritten.  While this did not pose a problem
for group b-trees, with chunked datasets it would overwrite the offset value
of the neighbor's leftmost child, causing corruption.  Reworked the code to
differentiate between b-trees whose children are fundamentally associated with
their left key and those who are associated with their right key.

Tested: jam, linew, amani (h5committest)
2010-02-16 12:18:38 -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
Neil Fortner
ef425724f7 [svn-r16523] Purpose: Fix bugs related to H5Dset_extent and fill values
Description:
In some situations it was possible for the fill value to not be written to parts
of a chunked dataset, particularly when extending and/or shrinking.  Prior to
the fix for the chunk cache (1015) these bugs would have been exceedingly rare.

Tested: jam, smirom, linew (h5committest)
2009-02-27 12:01:00 -05:00
Pedro Vicente Nunes
d77d4b1742 [svn-r16511] bug fix: TESTING2 macro introduced recently for the test suite (it adds an extra space at the beginning of output, for indentation) was already available for HL and caused compilation problems on AIX. Replaced the name with TESTING_2
tested: h5committest
2009-02-23 14:56:24 -05:00
Pedro Vicente Nunes
9de3088234 [svn-r16431] Uncomment a h5cleanup() call previously accidently left commented
Tested: linux
2009-02-05 09:52:47 -05:00
Pedro Vicente Nunes
89f033b661 [svn-r16423] bug fix: a open call was not made the expected FAPL
tested: windows, linux (split, sec2)
2009-02-04 14:37:58 -05:00
Pedro Vicente Nunes
50fa98277d [svn-r16419] #1449 Change set_extent test to use standard standalone test framework
Call h5_fixname (with an array of test filenames) for generating the  
filename to create and then call h5_cleanup() when the tests pass, to delete the files  
created and close the FAPL from h5_fileaccess(). 

Defined a macro 
#define TESTING2(WHAT)	{printf(" Testing %-62s",WHAT); fflush(stdout);}
Similar to TESTING, except that it has a initial indentation space.
The effect is for nested loop tests

Testing with old file format:
 Testing with fill value, no compression                                PASSED

tested: windows, linux
2009-02-04 10:29:01 -05:00
Quincey Koziol
4d0c4686ea [svn-r16417] Description:
Bring r16416 from revise_chunks branch to trunk:

	Bring closer to standard standalone test format, add checks for using
the latest file format and close dataset ID leaked.

Tested on:
	FreeBSD/32 6.3 (duty)
	(too minor to require h5committest)
2009-02-03 20:32:49 -05:00
Pedro Vicente Nunes
dfaf4dec8e [svn-r16405] #1449 Change set_extent test to use standard standalone test framework
use a fapl obtained by h5_fileaccess to the call of H5Fcreate
and redo the test calls with

h5_reset();
    fapl = h5_fileaccess();

    nerrors += do_ranks( fapl ) < 0 ? 1 : 0;
    nerrors += test_external( fapl ) < 0 ? 1 : 0;
    nerrors += do_layouts( fapl ) < 0 ? 1 : 0;

tested: windows, linux
2009-02-03 10:55:56 -05:00
Quincey Koziol
6416329ef8 [svn-r16372] Description:
Clean up files produced from set_extent testing.

Tested on:
	FreeBSD/32 6.3 (duty)
	(too minor to require h5committest)
2009-01-29 13:18:39 -05:00
Pedro Vicente Nunes
9b1f93283c [svn-r16273] Added a test for shrinking to 0 dimemsions
Tested: windows, linux
2009-01-08 09:50:01 -05:00
Pedro Vicente Nunes
dc869ba584 [svn-r16229] merge 16228
cleaned more linux warnings
tested: linux
2008-12-29 16:56:48 -05:00
Pedro Vicente Nunes
e1590a56b1 [svn-r16227] cleaned some linux warnings
tested: linux
2008-12-29 16:40:37 -05:00
Pedro Vicente Nunes
b962f97e1a [svn-r16225] removed some debug messages
tested: windows, linux
2008-12-29 16:24:09 -05:00
Pedro Vicente Nunes
75951cfcf8 [svn-r16223] Modified H5Dset_extent so that it fails when called for compact datasets and contiguous with no external storage
new test program: It adds tests for several ranks, use of fill value or not, compression, different fill value allocation times, use of different storage layouts, and external files

tested: windows, linux
2008-12-29 15:36:34 -05:00
Pedro Vicente Nunes
7b5df92ac8 [svn-r16158] Test the non deletion of a chunk for the case chunk_offset == dimension by shrinking first, then expanding to original size and compare buffers of initialized values
Tested: windows, linux
2008-12-03 22:47:40 -05:00
Pedro Vicente Nunes
2ef8c372c5 [svn-r16156] close & re-open the file for the test of non-default B-tree internal 'K' value (There was a bug where a non-default B-tree internal 'K' value was not being stored in the file)
this is a rewrite of the old set_extent.c test program
tested: windows, linux
2008-12-03 21:25:21 -05:00
Pedro Vicente Nunes
0e3797d58a [svn-r16152] added comments and removed unnecessary code
tested: windows, linux
2008-12-02 15:52:58 -05:00
Pedro Vicente Nunes
7c4b4e32d0 [svn-r16148] reorganized the set_extent test to be more modular
tested: windows, linux
2008-12-02 14:37:46 -05:00
Pedro Vicente Nunes
4c221f9e0e [svn-r16143] add a test for recent fixes of H5Dset_extent
tested: windows, linux
2008-12-01 15:20:46 -05:00
Pedro Vicente Nunes
413bedbddf [svn-r15807] correction in test name, testing "non" initialized chunks
tested: windows, linux
2008-10-07 13:10:49 -05:00
Pedro Vicente Nunes
8e97904f5f [svn-r15757] Bug #1312
Solution:
Check for the existence of chunks before pruning them (an assertion was triggered when attempting to do so)

Tested: windows , linux, solaris
2008-10-02 14:56:45 -05:00
Quincey Koziol
771bae8888 [svn-r15131] Description:
Finish omnibus chunked dataset I/O refactoring, to separate general
actions on chunked datasets from actions that are specific to using the v1
B-tree index.

	Cleaned up a few bugs and added some additional tests also.

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.5.2 (amazon) in debug mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
2008-06-03 14:44:12 -05:00
Quincey Koziol
d9e5ca72f3 [svn-r14199] Description:
Add H5Dcreate to API versioned routines, replacing internal usage with
H5Dcreate2

	Fix thread-safe error stack initialization for API versioned error
stack printing 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-11 11:24:11 -05:00
Quincey Koziol
16683943c6 [svn-r14193] Description:
Make H5Dopen versioned and change all internal usage to use H5Dopen2

	Add simple regression test for H5Dopen1

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-08 14:59:36 -05:00
Quincey Koziol
10a6685aaa [svn-r13741] Description:
Minor formatting & warning reduction code cleanups

Tested on:
    Mac OS X/32 10.4.9 (amazon)
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2007-05-10 10:06:49 -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
Quincey Koziol
6b45f5172c [svn-r11245] Purpose:
Code cleanup

Description:
    Trim trailing whitespace, which is making 'diff'ing the two branches
difficult.

Solution:
    Ran this script in each directory:

foreach f (*.[ch] *.cpp)
    sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f
end


Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-08-13 15:53:35 -05:00
Quincey Koziol
1ec351813b [svn-r8600] Purpose:
Code optimization

Description:
    Don't recompute the internal index value for looking up the chunk in the
hash table, just use the value already computed from iterating through the
chunks.

Platforms tested:
    Solaris 2.7 (arabica)
    FreeBSD 4.9 (sleipnir) w/parallel
2004-05-31 14:59:59 -05:00
Quincey Koziol
e9cc951e03 [svn-r7232] Purpose:
Bug fix

Description:
    When a non-default indexed storage B-tree internal 'K' value is set by the
user, the chunked datasets created in that file (until it is closed) use the
user's 'K' value and the data can be accessed correctly, but the 'K' value is
not stored in the file.
    However, once the file is closed and re-opened, the non-default 'K' value
is lost and the data in the chunked datasets will not be able to be accessed
correctly.

Solution:
    Store the indexed storage B-tree internal 'K' value in the superblock.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest
2003-07-16 09:56:58 -05:00
Quincey Koziol
2629b6e4d3 [svn-r7109] Purpose:
Code cleanup

Description:
    Clean up varios compiler warnings flagged by SGI compiler and gcc 3.3

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest
2003-06-25 21:10:33 -05:00
Quincey Koziol
b8632ce735 [svn-r7029] Purpose:
New feature/Bug fix

Description:
    Add new fill time value - H5D_FILL_TIME_IFSET which writes the fill value
to a dataset if the user has defined one, otherwise not writing the fill value
to the dataset.

Platforms tested:
    FreeBSD 4.8 (sleipnir) serial & parallel
    h5committest
2003-06-11 22:40:34 -05:00
Quincey Koziol
43e3b45021 [svn-r6825] Purpose:
New feature/enhancement

Description:
    Chunked datasets are handled poorly in several circumstances involving
certain selections and chunks that are too large for the chunk cache and/or
chunks with filters, causing the chunk to be read from disk multiple times.

Solution:
    Rearrange raw data I/O infrastructure to handle chunked datasets in a much
more friendly way by creating a selection in memory and on disk for each chunk
in a chunked dataset and performing all of the I/O on that chunk at one time.

    There are still some scalability (the current code attempts to
create a selection for all the chunks in the dataset, instead of just the
chunks that are accessed, requiring portions of the istore.c and fillval.c
tests to be commented out) and performance issues, but checking this in will
allow the changes to be tested by a much wider audience while I address the
remaining issues.


Platforms tested:
    h5committested, FreeBSD 4.8 (sleipnir) serial & parallel, Linux 2.4 (eirene)
2003-05-07 16:52:24 -05:00
Bill Wendling
44022e598c [svn-r6538] Purpose:
Update

Description:
    Updated the Copyright statement

Platforms tested:
    Linux (This change is only in the comments, so I just check that the
    modules still compile)

Misc. update:
2003-03-31 12:59:04 -05:00
Quincey Koziol
6680e94aeb [svn-r5843] Purpose:
Code cleanup

Description:
    Clean up a few warnings which were showing up with --enable-production
    turned on.

Platforms tested:
    FreeBSD 4.6 (sleipnir) serial & parallel
2002-08-08 12:52:17 -05:00
Pedro Vicente Nunes
ce18afe663 [svn-r5313]
Purpose:
    added more tests to the H5set_extent function
Description:

 there was a bug in the H5S_select_fill call when the fill value was not defined
 added 2 more set of tests that call H5set_extent without the fill value being defined
 there are now 4 sets of tests:
 Test H5Dset_extent with chunks on the raw data cache, with and without fill value
 Test H5Dset_extent with chunks written to file (b-tree routines),  with and without fill value

Platforms tested:
    w2000
    linux
2002-05-01 10:54:56 -05:00
Quincey Koziol
80043b04c0 [svn-r5271] Purpose:
Bug Fix.

Description:
    When the fill value for a dataset is not set, the size is set to zero,
    causing problems with filling unused areas in previously defined chunks
    (i.e. when the dataset shrinks in size)

Solution:
    Use the size of the elements in the dataset directly, instead of relying on
    the size of the fill value (which must be the same size).

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-04-26 07:38:50 -05:00
Quincey Koziol
ef9c40754b [svn-r5200] Purpose:
Code Cleanup

Description:
    Clean up compiler warnings from the last bunch of checkins

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-04-18 09:05:38 -05:00
Pedro Vicente Nunes
19c8cfa861 [svn-r5169]
Purpose:
    test for the H5Dset_extent API function
Description:

there are 2 types of tests:
Test H5Dset_extent with chunks on the raw data cache
Test H5Dset_extent with chunks written to file


Platforms tested:

    Windows 2000
    SUN( arabica)
    LINUX (eirene)
    IRIX64 (modi4)
2002-04-11 16:30:42 -05:00
Pedro Vicente Nunes
03520e73ed [svn-r5167]
Purpose:

turned temporarely off this test, while the rest of the code is not checked in
2002-04-11 10:54:39 -05:00
Pedro Vicente Nunes
4b8ccc422d [svn-r5154]
Purpose:

Renamed the all the functions "set_extend" to "set_extent".
Renamed the test file accordingly
2002-04-09 12:31:21 -05:00