Commit Graph

914 Commits

Author SHA1 Message Date
Raymond Lu
7570de4e35 [svn-r9221] Purpose: Bug fix
Description:  One place was left out for update after the Error API was modified.
Changed it from H5Eset_auto to H5Eset_auto_stack.


Platforms tested:  sleipnir(with threadsafe) - simple change.
2004-09-08 09:48:58 -05:00
Pedro Vicente Nunes
9abba8efdf [svn-r9213] Purpose:
new test for the native types test

Description:

on the Cray SV1 an INT type was wrongly converted to a SHORT type
by the get_native_integer function

Choose the type based on the precision; this is to support cases
like the Cray SV1, where the size of short is 8 but precision is 32
 (e.g an INT (size 8, prec 64) would be converted to a SHORT
    (size 8, prec 32) if the size was the deciding factor)



Solution:

Platforms tested:
linux
solaris
aix

Misc. update:
2004-09-07 11:42:56 -05:00
Raymond Lu
922e8a4a8b [svn-r9208] Purpose: Bug fix
Description:  A few items were left out when tried to restore the old Error API.
There are also a few minor bug fixes.


Platforms tested:  arabica fuss h5committest.
2004-09-04 16:06:48 -05:00
Raymond Lu
cb7f03a26f [svn-r9183] Purpose: New feature
Description:  Restore 6 old error API functions back to the library to be backward
compatible with v1.6.  They are H5Epush, H5Eprint, H5Ewalk, H5Eclear, H5Eset_auto,
H5Eget_auto.  These functions do not have error stack  as parameter.

Solution:  Internally, these functions use default error stack.

Platforms tested:  h5committest and fuss.

Misc. update: RELEASE.txt
2004-09-01 12:43:30 -05:00
Quincey Koziol
22d00ce23f [svn-r9155] Purpose:
Bug fix (sorta)

Description:
    Change reading of "missing" chunks from datasets with undefined fill
values to not overwrite the application buffer with random garbage from
memory.  Note that this is almost the same, since whatever garbage the
application had in those locations will still be there...

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    IRIX64 6.5 (modi4)
    h5committested
2004-08-25 03:30:32 -05:00
Albert Cheng
731fc09dad [svn-r9139] Purpose:
Bug fix.

Description:
The return value of TestPrivateParser() was not tested, thus program
would keep on going incorrectly even if errors were detected in
TestPrivateParser.

Solution:
Check the return and exit accordingly.

Platforms tested:
Tested in Eirene and Sol in both serial and pp modes.
2004-08-23 18:35:17 -05:00
Albert Cheng
3c59678775 [svn-r9115] Purpose:
feature

Description:
Another revamp of the test interface.
TestInit: is used to register Test Program name, test program specific
   Usage and option parsing routines.
TestUsage: will invoke extra usage routine if provided.
TestParseCmdLine: will invoke extra option parsing routine if provided.
GetTestSummary() and GetTestCleanup() replaces the previous Summary and
CleanUp arguments of TestParseCmdLine.

test/testhdf5, test/ttsafe.c, testpar/t_mpi.c, testpar/testphdf5.c:
   All have been updated to use the new Test Routines.

testpar/t_mpi.c:
   Also a fix of a compiler optimization bug when pgcc in Linux is
   used to compile it.  Changed buf[] and expected to unsigned char
   type to avoid a bug that failed to do sign-extension.

Platforms tested:
"h5committested"
Also tested thread-safe option in eirene.
2004-08-19 01:32:47 -05:00
Albert Cheng
46cd0e0838 [svn-r9086] Purpose:
Bug fix

Description:
Updated it to use the new TestParseCmdLine() syntax.

Platforms tested:
"h5committested" and in eirene with threadsafe enabled.
2004-08-14 16:03:49 -05:00
Albert Cheng
60412f524d [svn-r9079] Purpose:
Feature

Description:
Changed TestParseCmdLine to accept an optional extra_parse()
function provided by indidivual test application.  Extra_parse()
can handle extra options special to that test application.

Updated testhdf5.c to use the new syntax of TestParseCmdLine().

Platforms tested:
On eirene both serial and parallel.
2004-08-13 16:53:26 -05:00
Raymond Lu
08fde753d9 [svn-r9073] Purpose: bug fix
Description:  The test tried to read a dataset of H5T_STD_I32LE type and verify with the size
of H5T_NATIVE_INT in function test_misc20().  This will fail on some machines like Crays where the
size of H5T_NATIVE_INT is 8 bytes.

Solution:  Changed from H5T_NATIVE_INT to H5T_STD_I32LE.

Platforms tested:  Crays - very simple change.
2004-08-12 10:24:46 -05:00
Quincey Koziol
6ae26dba82 [svn-r9053] Purpose:
Bug fix

Description:
    Correct possible core dump when a datatype conversion function is
registered with the library after a compound datatype has been converted
(having it's type conversion information cached by the library).  The compound
datatype must have been created by inserting the fields in non-increasing
offset order to see the bug.

Solution:
    Re-sort the fields in the compound datatypes before recalculating the
cached information when performing the conversion on them.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    h5committested
2004-08-08 17:12:18 -05:00
Albert Cheng
7464e1fb1d [svn-r9050] Purpose:
Feature

Description:
Added a feature such that if the test name starts with '-', do not run it
by default.

Platforms tested:
Eirene both serial and parallel.

Misc. update:
2004-08-07 21:26:44 -05:00
Quincey Koziol
f16e814f51 [svn-r9039] Purpose:
Code cleanup

Description:
    At user's suggestion, convert some "naked" standard library calls to use
the HD*() macros.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Too minor to require h5committest
2004-08-06 14:29:57 -05:00
John Mainzer
5d05a022f9 [svn-r9023] *** empty log message *** 2004-08-05 13:14:21 -05:00
Quincey Koziol
a5bd3e42ea [svn-r9016] Purpose:
Code cleanup

Description:
    Clean up ifdef's and close leaked ID.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Too minor to require h5committest
2004-08-05 00:01:50 -05:00
Elena Pourmal
7de13f9663 [svn-r9014]
Purpose: Small bug fix

Description: When SZIP filter is present but encoding is not enabled
             test_misc21 and h5repack tests failed.

Solution: Those tests should not run in this situation at all.
          Used conditonal compilation to disable the tests.

Platforms tested: sol (today I will enable the daily tests with the szip library
                  that doesn't have encoder for few other platforms)


Misc. update:
2004-08-04 15:27:28 -05:00
Robert E. McGrath
7138ca34a6 [svn-r9010] Purpose:
Tests for SzIP n-bit precision (and other dt's)

Description:
See earlier checkins

Solution:

Platforms tested:

Misc. update:
2004-08-04 11:01:52 -05:00
Quincey Koziol
3df2828991 [svn-r8981] Purpose:
Code cleanup

Description:
    Various minor tweaks to clean code up and bring it into closer
syncronization with the release branch.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    h5committested
    IRIX64 6.5 (modi4)
2004-08-02 09:03:40 -05:00
Quincey Koziol
c4015e03e5 [svn-r8969] Purpose:
Bug fix.

Description:
    Address two problems:
        - The computation of the scanline in the szip filter was being
            performed in the "can apply" callback routine instead of the
            "set local" routine.
        - The routine which allocated all the chunks for an entire dataset
            (which is invoked when the allocation time is early or late,
            rather than incremental) wasn't recording a failed filter in
            the information for the chunk, causing the library to believe
            that the chunk had the filter applied when it really hadn't.

Solution:
    - Move the scanline computation to the "set local" callback.

    - Record the filter mask with each chunk created when allocating them.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/szip
    Too obscure to require h5committest
2004-07-29 22:34:15 -05:00
Quincey Koziol
d60d367930 [svn-r8964] Purpose:
Revise new feature

Description:
    Add buffer type and version # bytes to the encoded datatype and dataspace
buffers (for H5Tencode & H5Sencode)

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Too minor to require h5committest
2004-07-27 22:51:43 -05:00
Quincey Koziol
ae0ae15956 [svn-r8962] Purpose:
Bug fix

Description:
    Allow I/O on extendible chunked datasets with (currently) zero-sized
dimensions to proceed harmlessly instead of dumping core on an assertion.

Solution:
    Removed assertion and added checks to avoid problem situation in H5TB_end

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/ & w/o parallel
    Too minor to require h5committest
2004-07-27 22:22:12 -05:00
Quincey Koziol
4c7a64cc73 [svn-r8960] Purpose:
Bug fix

Description:
    Clean up new testfile from earlier checkin.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Too minor to require h5committest
2004-07-27 22:16:31 -05:00
Quincey Koziol
8df0288b6d [svn-r8958] Purpose:
Bug fix

Description:
    Always write fill values to chunks when initializing entire B-tree and
any filters are defined.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    Solaris 2.7 (arabica)
    Too minor to require h5committest
2004-07-27 15:41:57 -05:00
James Laird
5a19f181b3 [svn-r8953]
Purpose:
Bug fix

Description:
When a simple dataspace is created, its extent should be set before using it,
or it will silently function as a NULL dataspace.

Solution:
Added checks on user-supplied dataspaces.  Now dataspaces without extents set
will throw errors; users must explicitly set a dataspace to be NULL.

Platforms tested:
sleipnir, windows
2004-07-27 11:55:19 -05:00
James Laird
375f0745a7 [svn-r8938]
Purpose:
Bug fix

Description:
Modification time test (mtime) would die silently on some systems.  This is
because the code is very system-dependant (it relies on getting the current
time and the timezone from the OS).

Solution:
mtime test now uses TEST_ERROR macro to print "FAILED" and to output where the
failure occurred.  Configure script is a little smarter about whether
gettimeofday() function returns the timezone correctly.
Further bugs will need to be addressed on a system-by-system basis.

Platforms tested:
sleipnir, arabica, verbena, copper, windows (VC7)
2004-07-23 12:29:16 -05:00
James Laird
e047136588 [svn-r8928] Purpose:
Code cleanup

Description:
Fixed reserved.c test to use h5_fileaccess/h5_fixname/h5_cleanup.
Updated RELEASE.txt for previous bug fix


Platforms tested:
sleipnir, verbena
2004-07-22 11:26:54 -05:00
Raymond Lu
7fe5ff1fed [svn-r8921] Purpose: new feature
Description:  This is the second step of checkin for encoding and decoding objects.
H5Tencode and H5Tdecode have been committed in the previous step.  H5Sencode
and H5Sdecode are checked in this time.

Solution: Given object ID, these functions encode and decode object information
into and from binary buffer and return new object ID.  They take advantage of the
existing codes of object header message and encode in the same format.

Platforms tested:  fuss and h5committest.

Misc. update:  RELEASE.txt
2004-07-21 16:30:26 -05:00
Elena Pourmal
560d1127e9 [svn-r8916]
Purpose: Improvement

Description: HDF5 Library set pixels_per_scanline parameter to the size of the chunk's
             fastest changing dimension.  As a result, fastest changing dimension
             of the chunk could not be bigger than 4K and smaller than pixels_per_block
             value and szip compression couldn't be used for many real datasets.

Solution: Reworked algorithm how HDF5 sets pixels_per_scanline value; only chunks
          with the total number of elements less than pixels_per_block value are rejected.
          There is no restriction on the size of the chunk's fastest changing
          dimension anymore.

          Modified the test according to the new algorithm.


Platforms tested: verbena, copper, sol

Misc. update:
2004-07-21 15:41:41 -05:00
Quincey Koziol
00909f278d [svn-r8901] Purpose:
Bug fix

Description:
    Allow buffer parameter to H5Dread & H5Dwrite to be NULL if there are no
elements to transfer.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    Too minor to require h5committest
2004-07-20 12:11:36 -05:00
James Laird
129f72fb3e [svn-r8899]
Purpose:
Bug Fix

Description:
Calling H5Sset_extent_simple to change a dataspace's maxdims from nonzero to
zero causes errors (infinite loops, seg faults, asserts) because the pointer
to the maximum size isn't cleaned up properly

Solution:
Clean up that pointer.  Added a test for this case.

Platforms tested:
sleipnir (very minor change)
2004-07-20 11:26:40 -05:00
James Laird
24d36e1613 [svn-r8897]
Purpose:
Bug Fix

Description:
Trying to create the root group or the working group ("/" or ".") fakes out
HDF5 so that it neither creates a group nor returns an error.

Solution:
H5G_namei now throws an error if it was supposed to insert but didn't.

Platforms tested:
sleipnir, Visual Studio 7 (very minor change)

Misc. update:
2004-07-19 19:47:37 -05:00
Quincey Koziol
c97fddc786 [svn-r8892] Purpose:
Code cleanup

Description:
    Clean up a bunch of warnings and bring new code better inline with current
library coding practice.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    Too minor to require h5committest

Misc. update:
2004-07-16 15:48:40 -05:00
James Laird
89c9bfc05b [svn-r8881]
Purpose:
Bug fix

Description:
Replaced "unsigned long long" with hsize_t in H5MF
Added "return 0" at end of reserved.c test

Platforms tested:
arabica, sleipnir
2004-07-15 10:43:18 -05:00
Raymond Lu
fbc2aaadaf [svn-r8879]
Purpose:  New feature

Description:  New API H5Tencode and H5Tdecode.  Given object ID, H5Tencode encodes object information into a binary form.  H5Tdecode decode an object information in a binary form, reconstructs the object and return a new object ID.

Solution:  Use object header functions H5O_dtype_decode and H5O_dtype_encode to
facilitate them.  The encoded binary is exactly like object header information.
This is the first step checkin.  Will check in H5Sencode  and H5Sdecode later.

Platforms tested:  h5committed and fuss.

Misc. update: will update release.txt after 2nd step checkin.
2004-07-14 16:45:23 -05:00
James Laird
9b2aafa18b [svn-r8878]
Purpose:

Description:
Missed adding a test file in previous commit.

Solution:

Platforms tested:

Misc. update:
2004-07-14 15:18:28 -05:00
James Laird
a0c466cd99 [svn-r8877]
Purpose:
Bug Fix

Description:
If an HDF5 file grows larger than its address space, it dies and is unable to
write any data.  This is more likely to happen since users are able to change
the number of bytes used to store addresses in the file.

Solution:
HDF5 now throws an error instead of dying.  In addition, it "reserves" address
space for the local heap and for object headers (which do not allocate space
immediately).  This ensures that after the error occurs, there is enough address
space left to flush the entire file to disk, so no data is lost.
A more complete explanation is at /doc/html/TechNotes/ReservedFileSpace.html

Platforms tested:
sleipnir, copper (parallel), verbena, arabica, Windows (Visual Studio 7)


Solution:

Platforms tested:

Misc. update:
2004-07-14 14:34:24 -05:00
Quincey Koziol
769ee96c1f [svn-r8874] Purpose:
Bug fix

Description:
    Correct problems with "resurrecting" a dataset in a file.  (This occurs
when a dataset which is open gets unlinked from the group hierarchy (making it
"dead" and marked for deletion in the file) and then is re-linked to the group
hierarchy).  Note that the current solution applies only to datasets, further
work will fix this for groups and named datatypes also.
    Also, fix the "debug" routines to be a little more helpful in certain
situations.
    Additionally, fix a locking bug in the symbol table node splitting routine
which could be [one of] the cause[s] of the file corruption in flexible
parallel operation.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    h5committested
2004-07-14 14:08:34 -05:00
Quincey Koziol
fe76fb1b58 [svn-r8844] Purpose:
Bug fix

Description:
    The "shared" raw B-tree node can get freed before all the B-tree nodes
had been flushed out to disk and released by the cache.

Solution:
    Implement a simple reference counting wrapper for objects in the library
and use it to hold the shared raw B-tree nodes so they aren't freed before all
references to them in memory are released.

Platforms tested:
    Solaris 2.7 (arabica)
    FreeBSD 4.10 (sleipnir)
    IRIX64 6.5 (modei4)
2004-07-08 21:06:29 -05:00
Quincey Koziol
688fa02c0a [svn-r8832] Purpose:
Remove testing file after verifying that binary adds of *.h5 files are
working correctly.
2004-07-07 23:17:44 -05:00
Quincey Koziol
2d8840c412 [svn-r8831] Purpose:
Testing "binary" addition of new *.h5 files.  (This file will be removed
immediately)
2004-07-07 23:16:55 -05:00
Raymond Lu
c949e7c391 [svn-r8818]
Purpose:  Potential bug fix

Description:  In H5Fget_filesize, file size was returned as haddr_t.  Change it to hsize_t
and return it as parameter to make fortran interface easier.


Platforms tested:  fuss(simple change).
2004-07-07 12:03:02 -05:00
Quincey Koziol
7cac82cf68 [svn-r8801] Purpose:
Code optimization

Description:
    Set up datatype ID for dataset's datatype on disk.  This allows us to avoid
repeatedly copying the datatype when an ID is needed.

    Also, clean up a few warnings in various other places.

Platforms tested:
    Solaris 2.7 (arabica)
    FreeBSD 4.10 (sleipnir) w/parallel
    Too minor to require h5committest
2004-07-03 15:03:09 -05:00
Quincey Koziol
153444fed7 [svn-r8800] Purpose:
Code cleanup

Description:
    Fix problems when compiling with C++ compiler.

    Also clean up some warnings with gcc 3.4.x

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Too minor to require h5committest
2004-07-03 12:00:01 -05:00
John Mainzer
c49dd7fa36 [svn-r8791] Purpose: Rewrote metadata cache (H5AC.c, etc.) to improve performance.
Description:

Replaced the old metadata cache with a cache with a modified LRU
replacement policy.  This should improve the hit rate.

Solution:

Since we want to flush cache entries in increasing address order, I
used the threaded binary B-tree code to store the cache entries.
There is a fair bit of overhead here, so we may want to consider
other options.

While the code is designed to allow the support of other replacement
algorithms, at present, only a modified version of LRU is supported.

The modified LRU algorithm requires that a user selectable portion
of the cache entries be clean.  The clean entries are evicted first
when writes are not permitted.  If the pool of clean entries is used
up, the cache grows beyond its user specified maximum size.  The
cache can also exceed its maximum size if the combined size of the
protected (or locked) entries exceeds the maximum size of the cache.


Platforms tested:

eirene (serial, parallel, fp), h5committested


Misc. update:
2004-07-02 14:35:04 -05:00
Quincey Koziol
e5e786f589 [svn-r8782] Purpose:
Code cleanup

Description:
    Clean up almost all warnings from Windows builds.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    Too minor to require h5committest
2004-07-01 15:02:47 -05:00
James Laird
eab58732d8 [svn-r8781]
Purpose:
HDF5 now supports SZIP with no encoder.

Description:
SZIP can be configured to have both encoder and decoder or just to have the decoder.  HDF5 can now query the configuration of any filter, and will throw errors if users try to write using a filter with encoding disabled.

Solution:
Added H5Zget_filter_info function, changed API for H5Pget_filter and H5P_get_filter_by_id.  See SZIP RFC.

Platforms tested:
Copper (fortran, C++, parallel), Sleipnir (C++), Arabica (fortran, C++), Verbena (fortran, C++)

Misc. update:
2004-07-01 12:38:04 -05:00
Nat Furrer
3f500747fa [svn-r8779]
Purpose:
Fixed problem in tid.c that broke daily tests.

Description:

Solution:

Platforms tested:
  Sleipnir

Misc. update:
2004-07-01 09:37:12 -05:00
Quincey Koziol
7afa78d822 [svn-r8778] Purpose:
Bug fix

Description:
    Correct use of H5Eprint() when 1.6 compatibility is turned on.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/compatibility
    h5committest doesn't test this, so it wasn't run.
2004-07-01 08:14:59 -05:00
Nat Furrer
cedec27552 [svn-r8772]
Purpose:
Needed to change the type of a variable in tid.c from int to hsize_t to
accomodate the change in H5Inmembers.

Description:
I lied... this is the last commit.  Really, it is.

Solution:

Platforms tested:

Misc. update:
2004-06-30 12:29:36 -05:00
Nat Furrer
8e468d9dec [svn-r8766]
Purpose:
Small H5I API changes.

Description:
Changed public version of H5Inmembers to return the number of IDs in a
type by reference.  This allows the user to differentiate between the
case when H5Inmembers has an error and when the ID type is just empty.
Added a new API function, H5Itype_exists, which allows the user to
find out whether an ID type exists or not, without throwing an error.

Solution:

Platforms tested:
   Copper

Misc. update:
2004-06-30 10:33:19 -05:00