Commit Graph

56 Commits

Author SHA1 Message Date
Quincey Koziol
6e0ea943fa [svn-r11901] Purpose:
Bug fix/additional tests

Description:
    Add additional tests for holding open an object of a given type (dataset,
group, etc) while incorrectly trying to open that object with a different
type of API routine (i.e. using the group open call on a dataset, etc.)


Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2006-01-28 17:09:27 -05:00
Quincey Koziol
a1708eb023 [svn-r11712] Purpose:
New feature

Description:
    Check in baseline for compact group revisions, which radically revises the
source code for managing groups and object headers.

WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!
WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!

    This initiates the "unstable" phase of the 1.7.x branch, leading up
to the 1.8.0 release.  Please test this code, but do _NOT_ keep files created
with it - the format will change again before the release and you will not
be able to read your old files!!!

WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!
WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!


Solution:
    There's too many changes to really describe them all, but some of them
include:
    - Stop abusing the H5G_entry_t structure and split it into two separate
        structures for non-symbol table node use within the library: H5O_loc_t
        for object locations in a file and H5G_name_t to store the path to
        an opened object.  H5G_entry_t is now only used for storing symbol
        table entries on disk.

    - Retire H5G_namei() in favor of a more general mechanism for traversing
        group paths and issuing callbacks on objects located.  This gets us out
        of the business of hacking H5G_namei() for new features, generally.

    - Revised H5O* routines to take a H5O_loc_t instead of H5G_entry_t

    - Lots more...

Platforms tested:
    h5committested and maybe another dozen configurations.... :-)
2005-11-14 21:55:39 -05:00
Quincey Koziol
5ad2673fde [svn-r11386] Purpose:
Code cleanup/reorganization

Description:
    Merge back some more changes extracted from the "compact group" set.
This bunch cleans up and prepares the H5G_* routines for eventual import of
new features.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4
    Mac OS X.4
2005-09-12 09:29:54 -05:00
Quincey Koziol
e1747e456c [svn-r11307] Purpose:
Code cleanup

Description:
    Clean up internals of group creation & iteration code.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Mac OS X (nile)
    Too minor to require h5committest
2005-08-29 00:36:16 -05:00
Quincey Koziol
fefbe61aca [svn-r11304] Purpose:
Code cleanup (sorta)

Description:
    Adjust H5G_stat_t to prepare for eventual "external link" information.
This also puts the information for regular objects and soft links into more
obviously separate places.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4
2005-08-27 08:34:28 -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
1f35ebc88b [svn-r10958] Purpose:
New feature

Description:
    Add group creation & access property lists, dataset access property lists
and named datatype creation & access property lists.  Currently have
<foo>_extend() API names, which will need to be changed for the final release.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4 (heping)
2005-06-20 13:11:57 -05:00
Quincey Koziol
427ff7da28 [svn-r9727] Purpose:
Bug Fix/Code Cleanup/Doc Cleanup/Optimization/Branch Sync :-)

Description:
    Generally speaking, this is the "signed->unsigned" change to selections.
However, in the process of merging code back, things got stickier and stickier
until I ended up doing a big "sync the two branches up" operation.  So... I
brought back all the "infrastructure" fixes from the development branch to the
release branch (which I think were actually making some improvement in
performance) as well as fixed several bugs which had been fixed in one branch,
but not the other.

    I've also tagged the repository before making this checkin with the label
"before_signed_unsigned_changes".

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel & fphdf5
    FreeBSD 4.10 (sleipnir) w/threadsafe
    FreeBSD 4.10 (sleipnir) w/backward compatibility
    Solaris 2.7 (arabica) w/"purify options"
    Solaris 2.8 (sol) w/FORTRAN & C++
    AIX 5.x (copper) w/parallel & FORTRAN
    IRIX64 6.5 (modi4) w/FORTRAN
    Linux 2.4 (heping) w/FORTRAN & C++


Misc. update:
2004-12-29 09:26:20 -05:00
Albert Cheng
d8f332bcb9 [svn-r9608] Purpose:
Added comment of the fix.

Platforms tested:
only tested in heping as it is only a comment added.
2004-11-30 20:13:29 -05:00
Quincey Koziol
17daa748fa [svn-r9603] Purpose:
Bug fix

Description:
    Correct integer overflow situation for computing the size of a dataset.

Solution:
    Rachet one of the dimensions down far enough that the total size of the
dataset's raw data doesn't overflow a 64-bit int.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    IRIX 6.? (tesla) w/-n32
    Too minor to require h5committest
2004-11-30 15:53:53 -05:00
Robert E. McGrath
3f0abcc71f [svn-r9494] Purpose:
Fix SZIP filter to dynmically detect encoder.

Description:

Solution:
See:
http://hdf.ncsa.uiuc.edu/RFC/SZIP/Szip_dynamic_12_Oct.pdf

Changes to library tests, contingent on detecting SZIP encoder.
2004-11-02 14:12:06 -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
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
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
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
Quincey Koziol
28404e2813 [svn-r8614] Purpose:
Refactor code

Description:
    Move chunk and contiguous cached raw data from file information to dataset
information.  This simplifies a number of internal interfaces, aligns the
code with it's purpose better and should allow more optimizations to the
chunked data I/O performance.

Platforms tested:
    Solaris 2.7 (arabica)
    FreeBSD 4.10 (sleipnir)
    h5committest
2004-06-05 14:06:24 -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
2ce06c3912 [svn-r8590] Purpose:
Code optimization & bug fix

Description:
    When dimension information is being stored in the storage layout message
on disk, it is stored as 32-bit quantities, possibly truncating the dimension
information, if a dimension is greater than 32-bits in size.

Solution:
    Fix the storage layout message problem by revising file format to not store
dimension information, since it is already available in the dataspace.

    Also revise the storage layout data structures to be more compartmentalized
for the information for contiguous, chunked and compact storage.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w/parallel
    Solaris 2.7 (arabica)
    h5committest
2004-05-27 15:24:08 -05:00
Raymond Lu
1dad73cae0 [svn-r8331] Purpose: Last step of check-in for Null dataspace
Description:  Mainly are header message changes for dataspace.  In last round
of check-in, a new header message for dataspace to created, which is not a good
way.  Now, there will be no new message for dataspace, but just add the type of
dataspace in the message while increment its version number.  Backward compatibility
is addressed.  The attribute design is modified accordingly.  Took out Null
dataspace test from tmisc.c and put it in th5s.c.


Platforms tested: h5committest
2004-04-08 16:23:19 -05:00
Raymond Lu
e0a446b479 [svn-r8315] *** empty log message *** 2004-04-06 15:08:26 -05:00
Quincey Koziol
987f5d5e4d [svn-r8048] Purpose:
Code cleanup & reorganization

Description:
    Move further in the testing framework cleanup, eliminating all the
global variables (moving them into testframe.c as static variables) from the
testing framework code and moving it into the libh5test.a.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w & w/o thread-safety, c++ & parallel
    h5committested
2004-01-09 20:41:13 -05:00
Quincey Koziol
c44fd88805 [svn-r7932] Purpose:
Add new feature

Description:
    Add new H5I{dec|get|inc}_ref() routines and tests for them.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2003-12-11 13:26:51 -05:00
Quincey Koziol
b04c09522b [svn-r7582] Purpose:
Bug fix

Description:
    The tests recently added for checking a file's freespace and verifying the
new fields added to the H5G_stat_t structure use H5T_NATIVE_INT as the type for
the datasets and attributes they create.  Because the tests check explicit file
sizes, this causes problems on Crays, where a native int is 64-bit instead of
32-bit.

Solution:
    Change the tests to use H5T_STD_U32LE instead of H5T_NATIVE_INT.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    Cray SV1 (wind)
2003-10-09 11:55:03 -05:00
Quincey Koziol
58c03f79fd [svn-r7561] Purpose:
Feature add

Description:
    Add a few new fields to the H5G_stat_t structure, to allow more information
about the object header to be retrieved.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2003-10-07 10:27:19 -05:00
Quincey Koziol
c58d85f10e [svn-r7527] Purpose:
Code cleanup

Description:
    Clean up a few loose ends and warnings for the 1.6 compatibility changes
to the error API.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2003-09-30 11:20:46 -05:00
Raymond Lu
6953e9a010 [svn-r7474] Purpose: Add more test
Description: test fixed-length strings in two ways: array of strings and
    array of character.


Platforms tested: h5committest
2003-09-15 15:06:55 -05:00
Quincey Koziol
303d35202a [svn-r7441] Purpose:
Bug fix

Description:
    The VFL driver ID in a file's access proprty list wasn't being reference
counted correctly, causing the VFL driver to get prematurely closed after
several calls to "H5Pget_access_plist->H5Pclose".

Solution:
    Increment VFL driver ID reference count when copy of file's access property
list is made in H5Pget_access_plist()

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2003-09-03 21:04:45 -05:00
Quincey Koziol
a3888a3b00 [svn-r7426] Purpose:
Bug fix

Description:
    When datasets are deleted from a file, they are removed from the sieve
buffer, but instead of invalidating only the part of the sieve buffer affected,
the sieve buffer code would throw away the entire sieve buffer, potentially
including other raw data in the buffer that hadn't been written to disk yet.

Solution:
    Improve the sieve buffer clearing code to handle partial invalidations.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest
2003-08-28 11:02:21 -05:00
Quincey Koziol
4105dfedb9 [svn-r7379] Purpose:
Code cleanup

Description:
    Changed version #'s returned from H5Pget_version from 'int *' to
'unsigned *' since we are never going to be using negative version #'s... :-)

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    too small to need h5committest
2003-08-18 11:29:33 -05:00
Quincey Koziol
f29e3e1097 [svn-r7362] Purpose:
Bug fix

Description:
    Allow a user block to be "inserted" in front of a file (probably by
writing a validly-sized userblock to a new file and then appending another
HDF5 file to the new file).

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committested
2003-08-14 07:18:34 -05:00
Quincey Koziol
95bf191857 [svn-r7320] Purpose:
Refactored code

Description:
    Chase changes for the 'fileno' and 'objno' fields in H5G_stat_t

Platforms tested:
    h5committested
2003-08-08 14:25:18 -05:00
Quincey Koziol
b7dbfc3796 [svn-r7243] Purpose:
Bug fix

Description:
    Fix bug with combination of fill-values, chunked datasets and
    variable-length strings.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest
2003-07-21 08:54:23 -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
4e23c80758 [svn-r7181] Purpose:
Version update

Description:
    Removed 1.4 compatibility code in the library.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest
2003-07-07 14:02:46 -05:00
Quincey Koziol
300e769567 [svn-r7038] Purpose:
Test bug fix

Description:
    The fill time in a dataset with no fill value information created with an
older version of the library was getting set to H5D_FILL_TIME_ALLOC instead of
the new default H5D_FILL_TIME_IFSET and was causing H5Dcreate() calls with that
dataset creation property list to fail now.

Solution:
    Set the new default in the fill time initialization for missing fill value
information.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest
2003-06-13 15:35:24 -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
Elena Pourmal
156bf14dbf [svn-r6757]
Purpose: Bug fix

Description: on Cray T90IEEE compact storage test (in test_misc8)
             fails since dataset dimensions are too big; dataset
             will not fit into the message header.

Solution: Reduced dimension sizes from 100 to 50.

Platforms tested: h5committested on arabica and mod4; verbena failed
                  because of the F90 license problem. I tested on verbena
                  by hand and C only; Cray T90IEEE

Misc. update:
2003-04-25 16:39:09 -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
a6542d06b1 [svn-r6330] Purpose:
Bug Fix

Description:
    When calling H5Fopen with the core VFL driver, but without the
    H5F_ACC_CREAT flag goes ahead and creates a memory file.

Solution:
    Check for the H5F_ACC_CREAT flag before allowing the memory file to be
    created.

Platforms tested:
    FreeBSD 4.7 (sleipnir)
2003-01-24 13:09:57 -05:00
Quincey Koziol
b5e3e19f86 [svn-r6115] Purpose:
Code Cleanup & New Tests

Description:
    tmisc.c:
        Switched from using H5_HAVE_COMPRESSION flag in favor of
        H5_HAVE_FILTER_DEFLATE.

    dsets.c:
        Switched from using H5_HAVE_COMPRESSION flag in favor of
        H5_HAVE_FILTER_DEFLATE.

        Refactored I/O filter tests to allow new filters to be [more] easily
        added.

        Added tests for shuffle & deflate+shuffle I/O filters (if the filter(s)
        are enabled).

        Added test for creating a new dataset with a filter that is not
        available.

        Added test for attempting to read a dataset created with a filter that
        is not available.

Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
        modi4 (parallel, fortran)}
    FreeBSD 4.7 (sleipnir)
2002-11-20 08:19:37 -05:00
Quincey Koziol
12f8879c40 [svn-r5926] Purpose:
API name change

Description:
    Change all "space time" references to "alloc time", including API functions
    and macro definitions, etc.

Platforms tested:
    FreeBSD 4.6 (sleipnir) w/C++
    Solaris 2.7 (arabica) w/FORTRAN
    IRIX64 6.5 (modi4) w/parallel & FORTRAN
2002-09-13 11:57:46 -05:00
Quincey Koziol
c2869d6a57 [svn-r5895] Purpose:
Code cleanup/More tests

Description:
    Cleaned up some compiler warnings and wrote additional tests for space
    allocation and storage size routines.

Platforms tested:
    FreeBSD 4.6 (sleipnir) w/serial & parallel.  Will be testing on IRIX64
    6.5 (modi4) in serial & parallel shortly.
2002-08-27 08:42:22 -05:00
Raymond Lu
d85657351a [svn-r5893]
Purpose:
    bug fix
Description:
    The H5Dget_storage_size test doesn't handle the situation when no
    compression is configured.
Platforms tested:
    IRIX 6.5
2002-08-26 16:01:42 -05:00
Quincey Koziol
caf088c960 [svn-r5887] Purpose:
Regression test for bug fix

Description:
    Adjust selection so chunked data needs to be read from pre-allocated chunks
    w/filters, to verify that filter is applied correctly.

Platforms tested:
    FreeBSD 4.6 (sleipnir) w/parallel
2002-08-23 07:43:58 -05:00
Raymond Lu
29da4951f8 [svn-r5879]
Purpose:
    Design for compact dataset
Description:
    Compact dataset is stored in the header message for dataset layout.
Platforms tested:
    arabica, eirene.
2002-08-20 11:18:02 -05:00
Quincey Koziol
841ee1c05a [svn-r5875] Purpose:
Additional regression tests & bug fixes

Description:
    There was no testing for the H5Dget_storage_size function and it seemed to
    be having problems with compressed, chunked datasets, so write some tests
    to verify that its working correctly.

    Also, fix case for allocating storage early for chunked datasets

Platforms tested:
    FreeBSD 4.6 (sleipnir) serial & parallel
2002-08-14 09:34:01 -05:00
Quincey Koziol
33a1bc03c4 [svn-r5586] Purpose:
Bug Fix

Description:
    H5Dcreate and H5Tcommit allow "empty" compound and enumerated types (i.e.
    ones with no members) to be stored in the file, but this causes an assertion
    failure and is somewhat vapid.

Solution:
    Check the datatype "makes sense" before using it for H5Dcreate and
    H5Tcommit.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-06-11 11:03:04 -05:00