Commit Graph

1545 Commits

Author SHA1 Message Date
Quincey Koziol
3e8948df52 [svn-r11966] Purpose:
Code cleanup

Description:
    Style fixes for consistency & other minor cleanups

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Mac OSX (amazon)
    Linux 2.4
2006-02-26 22:30:22 -05:00
Quincey Koziol
b2d288804d [svn-r11965] Purpose:
Maintenance

Description:
    Remove half-built (half-baked? :-) implementation of B+tree, block tracker
and segmented heaps.   (In preparation for starting the new heap coding)

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4 (heping)
2006-02-24 08:45:02 -05:00
John Mainzer
c18b328ff1 [svn-r11903] Purpose:
Add files that I forgot in my last checkin.

Description:

cache_api.c cache_common.c cache_common.h are new files that result
from breaking the old cache test into two tests.


Solution:

See above.

Platforms tested:

h5committested before the last checkin.  Will run another
h5committest shortly, but it shouldn't be necessary as there
are no new changes.

Misc. update:
2006-01-28 21:34:14 -05:00
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
d579d6aa5e [svn-r11899] Purpose:
Bug fix & new feature

Description:
    Support variable-length datatypes in compact data storage and chunked
data storage, along with attributes.

    Bug fix on the H5T_vlen_set_loc to allow for changing the file on a
variable-length datatype on disk.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4
    Can't h5committest right now, due to missing cache files.
2006-01-28 13:31:22 -05:00
John Mainzer
dfb1f40cbb [svn-r11897] Purpose:
1) Add parallel test for metadata cache

2) Split serial test for metadata cache into two parts

3) Fix bug in which cache was flushed needlessly when the
   cache wasn't full.

4) Performance improvements

5) Update API for parallel cache coherency bug fix.

Description:

See above.

Solution:

See above.

Platforms tested:

h5committest


Misc. update:
2006-01-27 17:58:48 -05:00
Quincey Koziol
56e3f667d6 [svn-r11886] Purpose:
Code cleanup

Description:
    Check in some of the code cleanups from working on the external link
support.  (This doesn't include any of the external link features)

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Mac OSX.4 (amazon)
    Linux 2.4
2006-01-23 15:46:34 -05:00
Albert Cheng
df8739d8c6 [svn-r11875] Purpose:
Bug fix.

Description:
getenv_all, like some implementations of getenv, keeps an internal buffer
for the getenv values.  Application must make a copy of the content of the
returned pointer before calling getenv_all again IF it wants to use the
first content later.  The previous code violated this rule and caused
error.

Solution:
Did a small revamp of the h5_fixname to fix the above problem by moving
the getenv_all for HDF5_NOCLEANUP eariler to avoid it clashing the
call of getenv_all for HDF5_PARAPREFIX.  No a good permenant fix.  Need
to really recode this routine.

Platforms tested:
h5committested.
2006-01-09 13:17:44 -05:00
Albert Cheng
6cda54bdec [svn-r11871] Purpose:
Bug fix.

Description:
getenv_all will be called even when it is NOT an MPI application.

Solution:
Moved the use of getenv_all("HDF5_NOCLEANUP") to fix_name so that it will
be invoked only if a parallel driver is used.

Platforms tested:
hand tested in copper.
2006-01-09 00:14:54 -05:00
Albert Cheng
16ec392760 [svn-r11866] Purpose:
bug fix 504

Description:
testpar/t_mpi would hang if  $HDF5_NOCLEANUP is set.  E.g.,
% env HDF5_NOCLEANUP=yes mpirun -np 3 ./t_mpi

This happened because the environment variables are not exported to all
mpi processes by the mpirun command.  So, some attempted to do cleanup
while others don't and some hang waiting for others to act.

Solution:
Instead individual program checking getenv, they all just called h5_cleanup
no matter.  h5_cleanup now uses getenv_all to check the $HDF5_NOCLEANUP if
it is in parallel mode.

Platforms tested:
h5committested, tested pp in heping too.
2006-01-06 09:52:25 -05:00
James Laird
216a6e9904 [svn-r11850] Purpose:
Feature

Description:
Added character encoding and attribute creation property lists.

Solution:
Attributes' character encoding is set via the ACPL.
The default is ASCII, with UTF-8 being the other option currently.

Platforms tested:
heping, mir, sleipnir, copper
2006-01-02 14:20:19 -05:00
Quincey Koziol
83929ea716 [svn-r11838] Purpose:
Bug fix

Description:
    Retrieving an object's name could fail (in various ways) under certain
circumstances (mostly having to do with mounted files).

Solution:
    Re-write & simplify "get object name" code to fix error in a better way
than adding yet another hack to the previous pile of hacks... :-)

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    h5committest
2005-12-26 00:28:18 -05:00
Quincey Koziol
48514c008f [svn-r11774] Purpose:
Extra test

Description:
    Add test to make certain that trying to call H5Fopen() on a non-existant
file fails.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-12-08 14:35:34 -05:00
Quincey Koziol
88c15b1617 [svn-r11771] Purpose:
Code cleanup

Description:
    Fix a bunch of warnings flagged by Windows compilers.


Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-12-08 13:34:51 -05:00
Quincey Koziol
8d344f96bc [svn-r11758] Purpose:
New feature

Description:
    Add in a combination of Peter's & my code to support copying
variable-length data from one file to another, although currently only
supported with contiguous data storage.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    h5committest
2005-12-03 21:27:37 -05:00
James Laird
0f870b0f47 [svn-r11741] Purpose:
Bug fix

Description:
Fortran type generation was broken in two ways.  Fixed both.

Solution:
Firstly, there were a couple of path problems.  Fixed a typo and
specified the full path of a file.
Secondly, the dependencies weren't right when building with HDF5-specific
commands (make lib, make check-s, etc.).  Tweaked dependencies
to fix the problem.

Platforms tested:
mir, modi4, sleipnir
2005-11-18 15:31:53 -05:00
James Laird
4f8ca8e026 [svn-r11738] Purpose:
Configure feature

Description:
Added 'make trace' target.

Solution:
Added tracing to 1.7.  This was done automatically in 1.6, but left out
of 1.7 until now (oops!).
Tracing in 1.7 only happens manually, when the user types 'make trace.'
Tracing automatically requires more framework than it's worth.
I also fixed a couple of tracing bugs and ran trace.

Platforms tested:
mir, sleipnir, modi4

Misc. update:
2005-11-18 10:55:22 -05:00
James Laird
75ea10e5f5 [svn-r11737] Purpose:
Bug fix

Description:
Before this checkin, 'gmake check-s' would fail if there was a file in
the current directory named 'check-s'.
This is fixed under gmake (not sure how to fix for other makes).

Solution:
check, progs, install, etc. are what gmake calls "phony" targets,
which means that no file should be created.  These targets can be
specified by a line of the form
.PHONY: check progs install ...
Automake adds this line for targets it knows about, but HDF5 has a
lot of custom rules.  This checkin adds a .PHONY line for those rules.
I believe that only gmake recognizes the .PHONY line (at least, pmake
doesn't seem to), but a partial solution is better than none.
This error should occur very rarely anyway (the user has to manually
create files with names like 'build-check-s' or '_test').

Platforms tested:
mir, sleipnir, modi4
2005-11-17 13:49:28 -05:00
Quincey Koziol
e70783203a [svn-r11732] Purpose:
More tests

Description:
    Add more tests for proper behavior of groups with different group
creation property settings.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4
    Solaris 2.8
2005-11-15 19:52:42 -05:00
James Laird
0efd9ceadf [svn-r11726] Purpose:
Bug fix

Description:
Fixed bug in hl/src Makefile that was deleting y.tab.c.
Running bin/reconfigure changed a few other files as well (somebody
probably updated Makefiles.am but forgot to bin/reconfigure).

Solution:
Automake in its wisdom adds the line "rm *.tab.c" to every distclean
in every directory.  I assume that it assumes that such files are
generated during the build.  Supplied an empty distclean-compile
target to remove this line from the Makefiles.in.

Platforms tested:
mir, sleipnir, shanti
2005-11-15 14:20:06 -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
0891038562 [svn-r11686] Purpose:
New feature

Description:
    Add in baseline "object copy" code from Peter [in the form of a new API
routine: H5Gcopy()].  There's still some work to do (like handling variable-
length datatypes and possibly support for references) and it hasn't been tested
on mounted files yet, but the core functionality is there and working
correctly.

    I've also got a set of patches to update the 1.6 branch with tweaks to
keep the branches mostly in sync, but Elena will kill me if I import them
before the 1.6.5 release is out... :-)

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    h5committested
2005-11-06 22:13:53 -05:00
James Laird
617522e467 [svn-r11646] Purpose:
Bug fix/feature

Description:
Added support for -shlib in h5fc and h5c++.
Made check-install use -shlib when only shared libraries have been installed.

Solution:
h5fc and h5c++ didn't recognize -shlib.  Stole code from h5cc to link against
shared libraries.
When static libraries are disabled, the examples Makefiles will automatically
use the -shlib option to link against shared libraries.  Thus,
--disable-static and make check-install should work together.

Platforms tested:
heping(disable-static, enable-static, fortran, c++), modi4 (disable-static, fortran, c++, parallel, enable-static)
2005-10-31 16:35:49 -05:00
James Laird
91cbcdf42f [svn-r11612] Purpose:
Bug fix

Description:
Failed parallel tests now cause make to exit with an error.

Solution:
Edited config/conclude.am to throw an error if parallel test programs fail.

Platforms tested:
heping, modi4
2005-10-27 17:30:46 -05:00
James Laird
69293e09df [svn-r11602] Purpose:
Bug fix

Description:
Removed detection of pdb from configure.in as a corollary to removal
of pdb2hdf5 tool.


Platforms tested:
mir, modi4
2005-10-24 14:31:06 -05:00
James Laird
8619af74a4 [svn-r11601] Purpose:
Added additional targets to build-all

Description:
Surveyed files to find out which ones are not built.
Added test/space_overflow and perform/benchpar to programs built with
--enable-build-all.
Discovered that tools/misc/pdb2hdf5 and tools/misc/h5import were
obsolete and deleted them.

Platforms tested:
mir, modi4, sol

Misc. update:
Update of release file and removal of --enable-pdb2hdf5 to follow.
2005-10-24 13:58:15 -05:00
James Laird
cf7631c80c [svn-r11590] Purpose:
Bug fix

Description:
test/gen_new_fill.c used some old APIs that didn't compile with the current
library.  Brought it up-to-date.
Some other files (test/gen_old_*) are designed to be compiled only
with older versions of the library.  Removed rules to try to build
them in the current Makefiles.

Platforms tested:
mir
2005-10-20 16:36:24 -05:00
James Laird
87a56d9da2 [svn-r11573] Purpose:
Bug fix

Description:
Changed configure.in to use an environment variable TR to set the path
to the tr utility.

Solution:
There are two kind of tr on Solaris with slightly different syntax.
HDF5's configure relies on the "standard" tr.  Traditionally, HDF5ers
have needed to make sure that the "right" tr was found before the
wrong one in their path; now they can use an environment variable.

Platforms tested:
mir, shanti, sol

Misc. update:
Forgot to update release notes.  Off to do that now.
2005-10-17 16:38:38 -05:00
James Laird
6f85844982 [svn-r11567] Purpose:
Bug fix

Description:
Changed the name of a file from the last fix.
createnoenc.c is not gen_noencoder.c

Solution:
This is just a more standard name for the file.

Platforms tested:
tested in previous check-in; forgot to commit to cvs.
2005-10-14 18:16:29 -05:00
James Laird
bcf3f797d4 [svn-r11566] Purpose:
Makefile bug fix

Description:
Previously, automake didn't output rules to build perform/mpi-perf or
the test/gen_* programs.
Now these can be built by typing 'make mpi-perf' (or 'make foo') or by
configuring with --enable-build-all.

Solution:
Automake doesn't like having rules for programs it doesn't build.  Tricked
it by having these programs built "sometimes"--whenever the user enables
--build-all.  This should be used mostly for testing and to ensure that
these helper programs compile.

***IMPORTANT***
These programs do *not* currently compile.  When --enable-build-all is used
(not the default), gen_new_fill fails because it uses an old API.  This is
an existing "bug" that has simply been exposed by this checkin.

Platforms tested:
sleipnir, modi4, sol

Misc. update:
2005-10-14 17:52:13 -05:00
MuQun Yang
504fbbe27f [svn-r11562] Purpose:
Avoid bug for family file driver backward compatibility with 1.6.

Description:
Because there is no srcdir on windows, string pathname should be
initialized as NULL before using strcat.


Solution:
Changed the code as above.

Platforms tested:
too minor to test.

Misc. update:
2005-10-14 14:16:54 -05:00
Quincey Koziol
b76762fab1 [svn-r11558] Purpose:
Bug fix

Description:
    Check in Kent's fixes to hyperslab rebuilding code that should correctly
detect situation when different sub-hyperslabs exist in a higher dimension.

Solution:
    Remember previous sub-hyperslab information and compare that with newly
generated sub-hyperslab to make certain they are the same.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-10-13 16:39:51 -05:00
Albert Cheng
7b2b61891d [svn-r11542] Purpose:
Inserted Copyright notice.

Platforms tested:
tested in heping.
2005-10-11 13:12:57 -05:00
Albert Cheng
3920d718b7 [svn-r11524] Purpose:
Inserted copyright notice.

Platforms tested:
Tested in heping only since only a comment block was added.
2005-10-10 22:27:47 -05:00
Quincey Koziol
e21f821fc3 [svn-r11490] Purpose:
Bug fix

Description:
    Fix "double root open" bug and apply same fix to datasets & named datatypes.

    Also fix bug in symbol table entry lookup code that would "transfer" an
object from one file handle to another file handle when the two file handles
were opened on the same actual file.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-10-03 00:50:05 -05:00
Fang Guo
3d21af7eb8 [svn-r11479] Purpose:
Maintenance on Windows
Description:
No Alarm function on Windows
Solution:

Platforms tested:
MSVS 6.0 on Windows XP
Misc. update:
2005-09-29 12:33:09 -05:00
Albert Cheng
55c4f63df7 [svn-r11478] Purpose:
bug fix.

Description:
When a parallel test script test fails, make would continue because the
way it was setup inside a for loop.  Fixed it by issuing an exit 1 inside
the loop.

There was also a typo error in the newer command comparision that it
must be $${chkname} in order to be valid.  Also, the test script itself
was not checked in the newer lists.  All fixed.

Platforms tested:
h5committested and also hand tested in heping pp mode.
2005-09-29 00:17:06 -05:00
John Mainzer
c100b0bf26 [svn-r11470] Purpose:
Repair synchronization bug in the metadata cache in PHDF5

Also repair numerous other bugs that surfaced in testing the
bug fix.


Description:

While operations modifying metadata must be collective, we allow
independant reads.  This allows metadata caches on different processes
to adjust to different sizes, and to place the entries on their dirty
lists in different orders.  Since only process 0 actually writes
metadata to disk (all other processes thought they did, but the writes
were discarded on the theory that they had to be collective), this made
it possible for another process to modify metadata, flush it, and then
read it back in in its original form (pre-modification) form.  The
possibilities for file corruption should be obvious.


Solution:

Make the policy that only process 0 can write to file explicit, and
visible to the metadata caches.  Thus only process 0 may flush dirty
entries -- all other caches must retain dirty entries until they are
informed by process 0 that the entries are clean.

Synchronization is handled by counting the bytes of dirty cache entries
created, and then synching up between the caches whenever the sum
exceeds an (eventually user specified) limit.  Dirty metadata creation
is consistent across all processes because all operations modifying
metadata must be collective.

This change uncovered may bugs which are repaired in this checkin.
It also required modification of H5HL and H5O to allocate file space
on insertion rather than on flush from cache.


Platforms tested:

H5committest, heping(parallel & serial)

Misc. update:
2005-09-27 00:20:11 -05:00
Pedro Vicente Nunes
d09ca66a26 [svn-r11448] Purpose:
new features

Description:

add support for compiling the library and testphdf5 in Windows


Solution:

Platforms tested:
Linux
AIX
Solaris
Windows VC6

Misc. update:
2005-09-21 08:41:09 -05:00
James Laird
3267458b64 [svn-r11446] Purpose:
Bug fix

Description:
Massaged the newer script and config/conclude.am to make SX6 happy.


Platforms tested:
SX6, sol, mir
2005-09-20 16:46:24 -05:00
Albert Cheng
465f9be6e3 [svn-r11441] Purpose:
Feature.

Description:
Added ALARM_ON, ALARM_OFF feature to terminate tests that run more than
the default time limit.  So far, the feature is applied in the standard test
frame.

Platforms tested:
heping PP.
2005-09-19 15:32:18 -05:00
Albert Cheng
c0e83899c3 [svn-r11431] Purpose:
New feature.

Description:
Added the time command to the make check target to report time usage
of the execute of each test and test scripts.  This gives us some idea
how long each test takes and some vague idea it is compute bound or
not.

powerpc-ibm-aix5.x:
Change $RUNPARALLEL default setting to allow it being invoked by the
time command.

Platforms tested:
h5committested.
2005-09-17 22:04:28 -05:00
Elena Pourmal
2540abc1c9 [svn-r11426] Purpose: VMS port / bug fix
Description:

On VMS dsets test failed screaming about corrupted stack.
Debugging didn't show any obvious problems. Careful examination
of compilation warning messages (something like "function is used as
data in dsets") made me to search for duplicated names.

It turned out that two variables H5Z_SET_LOCAL and H5Z_CAN_APPLY
were confused with H5Z_set_local and H5Z_can_apply functions from
H5Z.c file.


Solution:

Changed variable names to H5Z_SET_LOCAL_TEST and H5Z_CAN_APPLY_TEST.


Platforms tested: Alpha VMS, heping; minor change

Misc. update:
2005-09-17 17:37:48 -05:00
James Laird
ae2a313b5b [svn-r11421] Purpose:
Feature

Description:
Added H5_CFLAGS, etc. to 1.7 branch.
Now compilation flags can be put in H5_*FLAGS and they'll be used when
building hdf5 but not in h5cc.


Platforms tested:
mir, sleipnir, modi4

Misc. update:
2005-09-16 16:26:17 -05:00
James Laird
b656c90c8a [svn-r11420] Purpose:
Bug fix

Description:
Disabled C++ shared libraries for Sun Workshop compiler.

Solution:
This bug only seems to happen when using the -xarch=v9 flag to compile in
64-bit mode, but disabling shared libraries entirely for this compiler is
an easier fix (I don't know how to detect 64 bit mode from the command line).
The framework for disabling shared libraries for other C++ compilers is
in place.

Platforms tested:
sol, mir, sleipnir, modi4
2005-09-16 16:16:11 -05:00
James Laird
cc8f7d98bf [svn-r11418] Purpose:
Bug fix/feature

Description:
Disabled shared libraries for a number of Fortran compilers that don't
support them.
This allows other compilers to support shared Fortran libraries.

Solution:
Added a conditional, SHARED_FORTRAN_CONDITIONAL, which is true if
Fortran supports shared libraries.  It is set in configure.in.

Platforms tested:
mir, sleipnir, colonelk, heping
2005-09-15 16:30:06 -05:00
Raymond Lu
1143f47e2d [svn-r11415] Purpose: Internal design change.
Description: H5T_register() replaces any existing data conversion path
with a new path.

Solution: Added a parameter to H5T_register() and H5T_path_find() to
signal the library whether the new conversion path is from API function
H5Tregister() or from private function like H5T_init_interface().  If it
is from H5Tregister(), replace existing path.  If it's from H5T_init_interface()
and the library is trying to register default hard conversion functions,
don't replace existing path because the path is registered by the library.
For example, the library registered H5T_conv_int_float() and is trying to
register H5T_conv_long_float().  The size of long is equal to int.  There's
no need to replace the path H5T_conv_int_float().

Platforms tested: h5committest and fuss.
2005-09-14 16:54:19 -05:00
Raymond Lu
f7c075c736 [svn-r11414] Purpose: Rename a API function
Description:  The API function H5Tis_hard() which was recently checked
in has been renamed to H5Tcompiler_conv() to be more descriptive.  No
other changes.


Platforms tested: fuss - simple change.

Misc. update: config/lt_vers.am to update libtool version.
2005-09-14 14:10:37 -05:00
James Laird
33beeb7f55 [svn-r11411] Purpose:
Bug fix

Description:
Building with --disable-static seems to have been broken on several platforms.
Fixed this.
Configure will now disable shared libraries automatically when using pgf90
or when building on Cygwin.

Solution:
To avoid errors when using shared libraries with pgf90 (which I had not
realized were compiler-specific), I had manually set convenience libraries
to use the -static linking flag.  Apparently, this is not necessary, and
caused these libraries to be created as empty archives when --disable-static
was used.
Also, some libraries were including other libraries, which was not
necessary.
I also fixed code in configure.in to correctly detect whether shared
or static libraries are enabled, and moved code that disables shared libraries
to before libtool is created (rather than editing libtool after the fact).
Despite repeated warnings that only one shared library can be linked at a
time, I have yet to have shared libraries break the linking of tests on
any system.  We'll see if the Daily Tests turn up anything.

Platforms tested:
mir (fortran, C++), sleipnir (C++), modi4 (fortran, C++, parallel),
sol (fortran, C++), cygwin
2005-09-13 17:30:33 -05:00
Elena Pourmal
8d2783a2e0 [svn-r11403] Purpose: Maintenance
Description:  Brought back changes from SX-6.

Solution: Tests will not compile. Fixed.

Platforms tested: SX-6, heping and mir with new g95

Misc. update:
2005-09-12 22:20:41 -05:00
Raymond Lu
93e661f16b [svn-r11395] Purpose: Bug fix
Description: Quincey added the condition branch (else if (*((ST*)S) != (ST)((DT)(*((ST*)S)))))
in the definition of the macro H5T_CONV_Fx_CORE.  It handles a special situation
when the source is "float" and assigned the value of "INT_MAX".  Compilers do roundup
making this value "INT_MAX+1".  This branch is to check that situation and return
exception for some compilers, mainly GCC.

The branch if (*((ST*)S) > (DT)(D_MAX) || (S_PREC < D_PREC && *((ST*)S) ==
(DT)(D_MAX))) is for some compilers like Sun, HP, IBM, and SGI where under
the same situation the "int" doesn't overflow.

A test was added to dt_arith.c to check 2 conversions, from float to int where the
float is INT_MAX, and from double to signed char where the double is SCHAR_MAX.


Platforms tested: h5committest and fuss.
2005-09-12 14:39:16 -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
5ffde305cd [svn-r11384] Purpose:
Code cleanup

Description:
    Merge back changes from "compact group" work that improve the
infrastructure of the library and may impact others.  In this round of
merging, that includes:
    - Move datatype allocation into single internal routine, instead of
        duplicated code that was spread out in a dozen or so places.
    - Clean up guts of object header routines (H5O_*) to allow for some of
        the fancieroperations that need to be performed on groups, along with
        some general improvements.
    - Added a new error code
    - Some minor cleanups in other code....

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4
    Mac OS X
2005-09-12 01:02:55 -05:00
Fang Guo
629c693d82 [svn-r11365] Purpose:
Add more assertion error check
Description:

Solution:

Platforms tested:
heping
Misc. update:
2005-09-07 16:44:16 -05:00
Leon Arber
3280e08b9b [svn-r11364] Purpose:
Bug fix

Description:
Incorrectly terminated the received string in getenv_all

Solution:
Tasks would incorrectly terminat the environment string they received from the
root task in getenv_all.

They did the equivalent of:

env[strlen(str) + 1] = '\0'.

This resulted in a single "garbage" character inserted
at the end of the string.  This wasn't noticed until now because it seems that on most
platforms this garbage character was a 0 anyway.

This has been corrected to;

env[strlen(str)] = '\0'.


Platforms tested:
Red Storm (where the bug was discovered)
heping (pp)

Misc. update:
2005-09-07 16:19:06 -05:00
Raymond Lu
7ef46b524b [svn-r11355] Purpose: A new API function and its test.
Description:  Put in a new API funciton, H5Tis_hard.  It checks whether
the conversion function from a native type to another native type is a
compiler (hard) conversion.  Also checked a test in test/dt_arith.c.


Platforms tested: h5committest and fuss.
2005-09-06 13:39:46 -05:00
Quincey Koziol
01a3d9d780 [svn-r11345] Purpose:
Bug fix & code cleanup

Description:
    Address most of datatype conversion exception handling bug that Ed
Hartnett reported.  (He's reported a different problem now, but we're closer
at least).

    Also, condense exception handling #ifdef's into one location instead of
spread out in so many places.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-09-03 12:11:00 -05:00
Quincey Koziol
90103afad6 [svn-r11337] Purpose:
Code cleanup

Description:
    Changed some scale+offset filter symbols from H5_SO_... -> H5Z_SO_...
to indicate that they are in the H5Z package.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-09-01 17:46:16 -05:00
MuQun Yang
6265941e76 [svn-r11324] Purpose:
update dsets.c for scale-offset filter.

Description:
H5Psetscaleoffset has changed parameters.
Solution:


Platforms tested:
sol 2.7, Linux 2.4, AIX 6.4(32-bit and 64-bit)

Misc. update:
2005-08-31 17:04:55 -05:00
Albert Cheng
6d3715e537 [svn-r11323] Purpose:
tidy up.

Description:
MPE option created *.clog file whenever it is executed in MPI.
The cleanup of *.clog files were done in individual Makefile.in.
Often, it is forgotten.

Solution:
Moved the cleaning of *.clog files to CHECK_CLEANFILES in commence.am
so that it is applied whenever check-clean is called.

Platforms tested:
heping pp using MPE.
2005-08-31 15:03:52 -05:00
James Laird
66af6dce17 [svn-r11319] Purpose:
Bug fixes

Description:
This checkin fixes an occasional error on kelgia on sol during distclean.
It also causes test scripts to depend properly on the programs they're
supposed to be testing.

Solution:
The kelgia bug was due to some files being cleaned by automake and manually.
Removed the manual cleaning in src/Makefile.am.
Test script dependencies now need to be specified manually, since the
makefile can't guess what they test from their name.  Currently all test
scripts in a given directory have a single list of dependencies--this was
easy and seems to be sufficient.
These dependencies are listed in the SCRIPT_DEPEND variable in the Makefile.am.

Platforms tested:
heping, mir, modi4, sol

Misc. update:
2005-08-30 18:42:39 -05:00
Raymond Lu
bd4312d049 [svn-r11311] Purpose: New features.
Description:  Added 2 new configure options, --enable-exception and --enable-accuracy.

--enable-exception lets the library check whether user's exception handling
functions are present during compiler data conversions and use them if they are.
When it's disabled, this step is skipped to improve conversion speed.  This
step isn't implemented yet for soft conversions because there would be little
gain in speed.

--enable-accuracy guarantees data accuracy during data conversions.  It means
the library will choose compiler conversions only if the accurate data is
secured.  Otherwise, the library will go for the library's own conversions.  If
this option is disabled, the library uses compiler conversions in favor of
their speed as long as they work even if data can be incorrect.


Platforms tested: h5committest and fuss.  Some systems may fail after this
checkin.
2005-08-29 10:21:58 -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
Albert Cheng
538d37a1bc [svn-r11303] Purpose:
minor tidy up.

Description:
Changed both test programs and test scripts to use the same suffixes
(.chkexe and .chklog).  Changed from .log to .chklog to avoid running
into potential conflicts by other "things" (e.g., config.log).

Tested:
Heping.
2005-08-26 17:24:27 -05:00
Quincey Koziol
a8b272ac25 [svn-r11300] Purpose:
Code cleanup

Description:
    Prevent memory leak when too many links are traversed.  Also add test to
traverse too many links.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4
2005-08-25 16:49:31 -05:00
Fang Guo
5a1bb020a3 [svn-r11299] Purpose:
Improvement for Windows
Description:
thread number can not be printed out on windows. Add a special
macro for WIN32 to print out some helpful  messages
Solution:

Platforms tested:
Heping and MSVS 6.0 on Windows XP
Misc. update:
2005-08-25 15:49:21 -05:00
Quincey Koziol
ab6656c52c [svn-r11295] Purpose:
Bug fix

Description:
    Fix "strong" file closing to handle a dangling dataset which uses a
dangling named datatype.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor too require h5committest
2005-08-25 12:16:02 -05:00
Quincey Koziol
b7d43b0cf0 [svn-r11283] Purpose:
Code cleanup

Description:
    Clean up code somewhat:
        - Move from HDmemset() -> H5G_ent_reset() to clear out group entry info
        - Simplify H5G_unlink() call
        - Use portability macros instead of direct system calls in more places
        - Improve readbility by neatening whitespace, etc.
        - Move some macros into source code module instead of header files

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4
2005-08-20 14:28:40 -05:00
Quincey Koziol
96b3c145b7 [svn-r11282] Purpose:
New debugging feature

Description:
    Add some code to track where memory from the internal free list allocator
is allocated within the library.  It's not quite ready for "prime time" yet,
but it's close enough to be useful.

    This is disabled by default and requires the H5FL_TRACK macro in
src/H5FLprivate.h to be uncommented to activate during debugging.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4
    Too minor to require full h5committest
2005-08-20 13:09:28 -05:00
Quincey Koziol
a0530d368b [svn-r11277] Purpose:
Bug fix

Description:
    Fix core dump when checking whether to invalidate the name of an object
when unlinking an object in a group opened through an object reference.

Solution:
    Check if names of various objects are valid before comparing them, etc.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-08-20 11:32:55 -05:00
Quincey Koziol
eec442a8f6 [svn-r11276] Purpose:
Code cleanup/bug fix

Description:
    Add missing files to manifest

    Remove C++ style single-line comment from recent checkin and also re-indent
in a few places.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/thread-safe
    Not configured w/h5committest
2005-08-20 10:45:13 -05:00
Fang Guo
1cc00ac662 [svn-r11269] Purpose:
Improvement
Description:
ttsafe cancel failed on Windows because pthread mutex and cond are not initialized
Add some assertion statements to locate the errors when they happen
Solution:

Initialize pthread mutex and cond to the default attributes.

Platforms tested:
MSVS 6.0 on windows XP and heping(with pthread)
Misc. update:
2005-08-19 15:06:26 -05:00
Fang Guo
6b181e28a8 [svn-r11268] Purpose:
Improvement
Description:
Add some assertion statements to locate the errors when they happen
Solution:

Platforms tested:
MSVS 6.0 on windows and heping(with pthread)
Misc. update:
2005-08-19 15:01:41 -05:00
Fang Guo
9498eb1770 [svn-r11267] Purpose:
Improvement
Description:
Add some assertion statements to locate the error when errors happen
Solution:

Platforms tested:
MSVS 6.0 on windows XP and heping(enable threadsafe with pthread)
Misc. update:
2005-08-19 15:00:17 -05:00
Quincey Koziol
94d21eed9f [svn-r11248] Purpose:
Code cleanup

Description:
    Fix minor difference in datatype conversion exception callback routine.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/C++
2005-08-15 09:24:16 -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
6562465a2c [svn-r11243] Purpose:
Code cleanup

Description:
    Collapse the various tests on groups opened by dereferencing into one test.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-08-13 14:27:39 -05:00
Quincey Koziol
0e1b41d0fd [svn-r11229] Purpose:
Big fix

Description:
    A group opened by dereferencing a object reference would not work for
H5Giterate(), due to the local heap & B-tree information not being cached.

Solution:
    Get the local heap & B-tree info & point to that structure instead of
the group entry for the group.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-08-10 15:28:32 -05:00
Quincey Koziol
502b4c206d [svn-r11215] Purpose:
Bug fix & code cleanup

Description:
    Fix another bug in the file mounting code and refactor the unmount
code that it is simpler.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4
    Too minor to require h5committest
2005-08-08 13:41:35 -05:00
Albert Cheng
fbb2dd8545 [svn-r11213] Purpose:
Bug fix and improvement.


Description:
The test output were not displayed for parallel tests.
The serial tests output were always displayed whether the test was
actually ran this time or not.


Solution:
Moved the display of test output inside the target where the actual
tests are run.


Platforms tested:
Tested in heping using pp and fortran.
2005-08-08 12:30:23 -05:00
Albert Cheng
ea15f348a1 [svn-r11208] Purpose:
Bug fix and code minor cleanup.

Description:
The attempt to redirect stderr together to the log files were
done in the wrong order such that stderr output goes to where
stdout WAS.  Fixed that.

Code minor cleanup--use shell variables to hold the name of the
log file and the test instead of generating them repeatedly.  This
makes easier code reading, less crowded and avoid typos.

Only conclude.in is changed.  The Makefile.in changes are all
derived from automake.

Platforms tested:
h5committested.
2005-08-08 02:32:27 -05:00
Albert Cheng
4d65048d2d [svn-r11193] Purpose:
fixed typo for uint_fast16_t verification.

Tested in Red storm.
2005-08-03 15:35:54 -05:00
James Laird
e75a185eca [svn-r11185] Purpose:
Makefile feature

Description:
'make check-clean' now cleans *.h5 files created by tests as well as
.log and .chkexe files.

Solution:
check-clean is now a separate target in its own right, which cleans less
than mostlyclean (check-clean < mostlyclean < clean < distclean).

Platforms tested:
mir, heping, modi4 (serial and parallel)
2005-08-02 12:59:03 -05:00
James Laird
c63ef2cba2 [svn-r11179] Purpose:
Feature: check-clean target

Description:
'make check-clean' cleans up output files from tests.

Solution:
Tests create foo.chkexe and foo.log files.  Scripts create foo.chksh and
foo.logsh files.  'make check-clean' will clean these files up so that
the tests can be re-run.
Also suppressed some not-very-useful output of Makefiles when it would
echo commands.

Platforms tested:
mir, sleipnir, modi4

Misc. update:
2005-08-01 17:22:55 -05:00
Quincey Koziol
0c9c34fab6 [svn-r11176] Purpose:
Bug fix

Description:
    Correct problems when querying information about a group that was opened
by dereferencing an object reference.

Solution:
    Read in symbol table information instead of rely on it being cached.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-07-30 13:53:01 -05:00
Quincey Koziol
c92ac94107 [svn-r11145] Purpose:
Bug fix

Description:
    If a named datatype is copied and the copy is used to create a dataset,
the dataset would inadvertantly refer to the original named datatype instead
of a local (possibly modified) copy of the named datatype.

Solution:
    Fixed datatype copying routine.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-07-23 14:58:13 -05:00
Quincey Koziol
34bd25f361 [svn-r11144] Purpose:
New port

Description:
    Elena asked me to check in her NEC SX-6 work, so here it is! :-)

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    NEC SX-6 (by Elena)
2005-07-22 20:55:12 -05:00
James Laird
7236935a9d [svn-r11095] Purpose:
Configuration feature

Description:
Serial test output is now stored in log files and printed when all tests
in a directory complete, or when a test fails.  This should make test output
more readable and useful.
Also made changes to clean up ii_files directories that are created by some
C++ compilers/linkers.
Also fixed a few minor Makefile bugs.

Solution:
When serial tests run, their output is saved in *.log or *.logsh.  While
running, tests only print when they begin and when they complete; their
more specific output (from the log file) is printed if the test fails or
when all tests have completed.
Comments welcome.

Platforms tested:
mir, modi4 (parallel and serial), copper, shanti
2005-07-21 14:28:11 -05:00
Quincey Koziol
bb31e94a92 [svn-r11093] Purpose:
Bug fix

Description:
    Rewrite code for mounting files to clean up layers of kludges and implement
a much cleaner and more maintainable design.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4
2005-07-21 09:48:26 -05:00
Raymond Lu
bd92e1e2a0 [svn-r11087] Purpose: Bug fix.
Description: When converting floating-point numbers to integers and the values of
floating-point number are greater than the maximal value of integer, Cray X1 generates
floating exception.

Solution: Added a test in configure to detect Cray X1's exception.  Set a flag to
indicate the machine that can handle overflow converting all floating-point to all
integer types.  This flag should be set for all machines, except for Cray X1 where
floating exception is generated when the floating-point value is greater than the
maximal integer value.

Platforms tested: Cray X1 and h5committest.
2005-07-19 13:16:33 -05:00
Quincey Koziol
5e98b5bb36 [svn-r11077] Purpose:
Bug fix

Description:
    Further progress on fixing file mounting to work properly.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4
    Too minor to require h5committest
2005-07-16 11:33:15 -05:00
Quincey Koziol
9f37f39b24 [svn-r11047] Purpose:
Bug fix

Description:
    Add dependency of flush2 test on flush1 test

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-07-07 16:28:59 -05:00
Quincey Koziol
9b597516c0 [svn-r11042] Purpose:
Bug fix

Description:
    The ".chksh" file for a test script was being created in the "source"
location rather than the build location.  This can cause problems when
multiple builds are running because "slower" machines will see the ".cshsh"
file from faster machines and will not run the test script as they should.

Solution:
    Use 'basename' command to strip off the path of the script and create
the ".chksh" file in the build location.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    h5committest
2005-07-07 15:46:49 -05:00
Albert Cheng
f68a2e6db7 [svn-r11034] Purpose:
bug fix.

Description:
-nt is not a universal option for the test command in all platforms.
The use of it in conclude.am cause some platforms to bark at the
Makefile generated.

Solution:
Created a command script bin/newer which tests if file1 is newer
than file2.  Replace the "test file1 -nt file2" by
"newer file1 file2".

Platforms tested:
Tested in sol.
2005-07-06 23:52:45 -05:00
Quincey Koziol
82a12612e3 [svn-r11031] Purpose:
New feature

Description:
    Initial checkin of B+ Tree code.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    h5committest

Misc. update:
2005-07-06 13:13:32 -05:00
Quincey Koziol
12d84d4b12 [svn-r11022] Purpose:
Bug fix & code cleanup

Description:
    Don't unmount child files from a parent file if the parent file is
being held open by an object.

    Also, moved the mounting routines into their own source file and the
superblock routines into their own file also.

Solution:
    Moved the code for unmounting child files down in the H5F_close routine
and also add checks to the file and group mounting code to unmount child
files when the last object holding open a file closes.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    h5committest
2005-07-05 16:58:50 -05:00
Quincey Koziol
ddf9e4a4af [svn-r11014] Purpose:
Code cleanup

Description:
    Refactor metadata cache to merge "dirtied" flag in with other flags for
H5AC_unprotect and H5C_unprotect.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    h5committest
2005-07-02 11:36:15 -05:00
James Laird
4cf99e9f28 [svn-r11013] Purpose:
Bug fix

Description:
Fixed bugs that caused tests to be unable to find testhdf5.sh during
daily tests, and another that broke sol and shanti.

Solution:
When tests are run, their path is ./$testname .
When scripts are run, their path has no leading "./".  Fixed.
Sol and shanti don't recognize the -e option for test, but they do know
-f.  Fixed.
Also modified release notes.

Platforms tested:
mir, shanti, heping
2005-07-01 16:22:05 -05:00
Quincey Koziol
5e98cfee43 [svn-r11009] Purpose:
Bug fix

Description:
    When a series of files is mounted on one another and one of those files
is not unmounted, the library gets confused at shutdown and goes into an
infinite loop in the file interface.

Solution:
    If there are still files left in the "closing" state when shutting down
the file API, iterate over those file IDs and unmount any child files that we
find mounted on those files.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-07-01 00:35:29 -05:00
James Laird
43f091f462 [svn-r11008] Purpose:
Feature: tests now use parallel make and only run once

Description:
When make is invoked in parallel (using the -j option), several tests will
now be run simultaneously.  This should speed up testing on a number of
systems.
When a test passes, it creates a foo.chkexe or foo.chksh file, which prevents
the test from running again unless the test or library changes.

Solution:
Most of the changes live in config/conclude.am.  Added *.chkexe and *.chksh
files to the list of files to be cleaned at "make mostlyclean" time.
Parallel tests still run one at a time, but use the same make instructions
as serial tests.

Platforms tested:
mir, eirene, sleipnir, pommier, copper, modi4 (some errors occurred, probably
due to the test being run before updating hdf5.  Will re-run tests after
checkin.)
2005-06-30 18:35:32 -05:00
Albert Cheng
9a76b50453 [svn-r10980] Purpose:
file_handle.c is renamed as vfd.c.
2005-06-24 09:33:12 -05:00
Albert Cheng
40e51ae047 [svn-r10979] Purpose:
Renamed file_handle.c as vfd.c since its tests have evloved from
merely file handles tests to other basic features of VFD's.
Did some minor cosmetic changes in vfd.c.

Updated Makefile.am with the new name.
Makefile.in is regenerated.

Platforms tested:
In heping only since the changes are trivial.

Misc. update:
2005-06-24 09:32:05 -05:00
John Mainzer
7f8e346026 [svn-r10978] Purpose:
Interim checkin of code changes moving management of the is_dirty flag
into the cache code.


Description:

   Prior to this checkin, management of the is_dirty flag was handled
above the level of the metadata cache.  This can no longer be allowed,
as it introduces a race condition in the proposed fix for a cache
coherency bug in PHDF5.


Solution:

   Move management fo the is_dirty flag to the cache code proper.
Entries are now marked as dirty via a flag on the unprotect call.


Platforms tested:

h5committested


Misc. update:
2005-06-24 01:30:29 -05:00
Raymond Lu
b437d2f1f1 [svn-r10962] Purpose: Solve the Difference of Compiler and Library
Description: In this data conversion test, from floating number to floating number,
when the source is bigger than the destination, overflow may happen.  The library
assign INFINITY while compiler's behavior is undefined.  A compiler like SGI assigns
the maximal value for the destination.

Solution: When this situation occurs, simply check if the destination is INFINITY
instead of comparing values.

Platforms tested: modi4 and h5committest.
2005-06-20 16:16:54 -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
d641030436 [svn-r10951] Purpose:
Bug fix

Description:
    Hyperslab selections that had a selection offset and were applied to a
chunked dataset could get into an infinite loop or core dump if the same
selection was used multiple times, with different selection offsets.

Solution:
    "Normalize" the selection with the selection offset, generate the
selections for the chunks overlapped and then "denormalize" the selection.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-06-18 00:10:22 -05:00
James Laird
bd867cf9f6 [svn-r10944] Purpose:
Bug fix

Description:
tid.c is a test for user-defined hid_t's.  It should be part of the
testhdf5 tests, but was not being run.
It also had a couple of minor bugs.

Solution:
Added id test to testhdf5 and fixed bugs.

Platforms tested:
mir, sleipnir, modi4
2005-06-17 14:36:57 -05:00
Raymond Lu
0d6e379701 [svn-r10931] Purpose: Adjust Test Program and Rename
Description: Renamed test/dt_atomic.c to test/dt_arith.c(an abbreviation
of "arithmetic data types") to better describe the program.  This checkin
broke down into three sections when the floating-point numbers are the
source, normalized, denormalized, and special values.  If there's any
difference of destination values, only normalized value test reports
failure.  The other 2 report only as warning.


Platforms tested: h5commitest and fuss

Misc. update: MANIFEST
2005-06-17 08:33:36 -05:00
Quincey Koziol
7e7dd03a32 [svn-r10920] Purpose:
Bug fix

Description:
    Add check for opaque tags that are too long for file format to handle
currently.


Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5commmitest
2005-06-14 16:18:32 -05:00
Quincey Koziol
54188b4abb [svn-r10875] Purpose:
Bug fix

Description:
    Fix several NULL pointer dereferences when tracking the name of open
objects during some unusual sequences of mount & unmount operations.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-06-08 00:22:28 -05:00
Quincey Koziol
8921cbc802 [svn-r10873] Purpose:
Bug fix

Description:
    Tweaks to make new family file compatibility tests work in non-srcdir
(i.e. "inplace") builds.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w & w/o srcdir
    Too minor to require h5committest
2005-06-07 23:44:13 -05:00
Raymond Lu
6f05197488 [svn-r10862] Purpose: Bug fix
Description:See details from Bug #213.  Family member file size wasn't saved
anywhere in file.  When family file is opened, the first member size determine
the member size.

Solution: this is the fifth step of checkin.  Backward compatibility with v1.6
is tested.  A family file created was created with the v1.6 library and opened
with this version of the library.

In the fourth step of checkin, a test suit is added for h5repart,
including a program to generate the test files, a script file to run h5repart,
and a program to verify repartitioned files can be opened by the library.

There's a change from the first step of checkin.  Family name template is no
longer saved in the superblock because different pathname can make the name
different.

In the third step of checkin, h5repart has been modified.  If h5repart is used
to change the size of family member file, the new size(actual member size) is saved
in the superblock.

In the second step of checkin, multi driver is checked against the driver
name saved in superblock.  Wrong driver will result in a failure with an error message indicating
multi driver should be used.  This change includes split driver because it's a special case for multi
driver.

In the first step of checkin.  Family member size and name template(unused at this stage) are saved
in file superblock.  When file is reopened,the size passed in thrin superblock.  A different size
will trigger a failure with an error message indicating the right size.  Wrong driver to open family
file will cause a failure, too.


Platforms tested: h5committest and fuss.

Misc. update: MANIFEST
2005-06-06 17:19:14 -05:00
Albert Cheng
65107926e1 [svn-r10858] Purpose:
bug fix.

Description:
The check-s and check-p targets are not recursively passes down.
Make them so.

Platforms tested:
heping (serial and pp).
2005-06-04 00:01:12 -05:00
Albert Cheng
a2217d58c8 [svn-r10849] Purpose:
bug fix

Description:
check-s and check-p were set as pre-requistics of test.  They
would get executed in parallel if parallel make is used.  This
could cause problems since serial tests are used to be executed
before parallel tests. It is not known if it is always okay to
run serial and parallel tests in simultantously.

Solution:
Change check-s and check-p as actions of the target test so
that they get executed sequnentially.

Platforms tested:
heping PP.
2005-06-02 18:42:48 -05:00
Raymond Lu
7696942940 [svn-r10847] Purpose: Bug fix
Description: See details from Bug #213.  Family member file size wasn't saved
anywhere in file.  When family file is opened, the first member size determine
the member size.

Solution: This is the fourth step of checkin.  A test suit is added for h5repart,
including a program to generate the test files, a script file to run h5repart,
and a program to verify repartitioned files can be opened by the library.

There's a change from the first step of checkin.  Family name template is no
longer saved in the superblock because different pathname can make the name
different.

In the third step of checkin, h5repart has been modified.  If h5repart is used
to change the size of family member file, the new size(actual member size) is saved
in the superblock.

In the second step of checkin, multi driver is checked against the driver
name saved in superblock.  Wrong driver will result in a failure with an error message indicating
multi driver should be used.  This change includes split driver because it's a special case for multi
driver.

In the first step of checkin.  Family member size and name template(unused at this stage) are saved
in file superblock.  When file is reopened,the size passed in thrin superblock.  A different size
will trigger a failure with an error message indicating the right size.  Wrong driver to open family
file will cause a failure, too.


Platforms tested: h5committest and fuss.

Misc. update:  MANIFEST
2005-06-02 16:00:23 -05:00
James Laird
2423bd6cab [svn-r10840] Purpose:
Added check-s and check-p targets.

Description:
Added check-s and check-p targets to 1.7 branch to match changes to 1.6
branch.  Now parallel and serial tests can be run separately.

Platforms tested:
mir, modi4, copper
2005-06-01 20:51:52 -05:00
Quincey Koziol
45bbf45250 [svn-r10837] Purpose:
Bug fix/new feature

Description:
    Setting "SEMI" or "STRONG" file close degrees causes problems when multiple
file IDs exist for the same file on disk.

Solution:
    Make the "SEMI" and "STRONG" settings only apply to the file ID that is
being closed.

    Also, add an "H5F_OBJ_LOCAL" flag for the H5Fget_obj_count() &
H5Fget_obj_ids() calls, so that applications can query about objects opened
with a particular file ID instead of all the objects opened in the file on
disk.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    h5committest
2005-06-01 16:20:10 -05:00
John Mainzer
f4da01545f [svn-r10834] Purpose:
Fix a compile issue with the SX6 port.


Description:

In cache.c, invalid_configs array was declared as const, which caused
problems when elements of the array were passed to H5Pset_mdc_config()


Solution:

Remove the const modifier from the declaration of invalid_configs.


Platforms tested:

Heping (serial)


Misc. update:
2005-05-31 19:47:40 -05:00
Quincey Koziol
78bcbe927f [svn-r10832] Purpose:
Bug fix

Description:
    Fix problems with hyperslab operations with hyperslabs that have count == 0
or block == 0 values. (bugzilla #294)

Solution:
    Detect zero sized selections and translate into appropriate action on the
current hyperslab, rather than go through the formality of generating span
trees with zero-sized spans, etc.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Too minor to require h5committest
2005-05-31 16:20:36 -05:00
Albert Cheng
d81d8e61de [svn-r10806] Purpose:
Cosmic changes when folding getenv_all to v1.6.
No code changes.

Platforms tested:
heping.

Misc. update:
2005-05-26 18:27:24 -05:00
Raymond Lu
a94ac4a3f0 [svn-r10800]
Purpose: Bug fix

Description: The definitions of 2 private functions(test_family_opens()
and test_multi_opens()) fell below the use of them.  g++ on sleipnir
complained they weren't declared.

Solution: Moved the definitions above the use of them.  Problem solved.

Platforms tested: sleipnir - the only platform complained.
2005-05-25 17:08:20 -05:00
Raymond Lu
8ed5f23492 [svn-r10796] Purpose: Bug fix
Description: See details from Bug #213.  Family member file size wasn't saved
anywhere in file.  When family file is opened, the first member size determine
the member size.

Solution:  This is the third step of checkin.  h5repart has been modified.  If h5repart is used
to change the size of family member file, the new size(actual member size) is saved
in the superblock.

In the second step of checkin, multi driver is checked against the driver
name saved in superblock.  Wrong driver will result in a failure with an error message indicating
multi driver should be used.  This change includes split driver because it's a special case for multi
driver.

In the first step of checkin.  Family member size and name template(unused at this stage) are saved
in file superblock.  When file is reopened,the size passed in thrin superblock.  A different size
will trigger a failure with an error message indicating the right size.  Wrong driver to open family
file will cause a failure, too.

Platforms tested: h5committest and fuss

Misc. update: RELEASE.txt
2005-05-24 16:21:35 -05:00
Quincey Koziol
af15547dfe [svn-r10789] Purpose:
Bug fix

Description:
    Rearrange functions to make C++ compiler happy.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/CC=g++
    Outside of h5committest's scope.
2005-05-23 15:44:22 -05:00
Quincey Koziol
5e6b5f30cf [svn-r10786] Purpose:
Add comment

Description:
    Add copyright statement.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-05-23 14:44:45 -05:00
James Laird
985af5617f [svn-r10785] Purpose:
Feature

Description:
Added "support" for UTF-8 character encoding.

Solution:
Wrote tests to check that UTF-8 can be used in a number of places in
HDF5 (object names, data, etc.).  These tests live in test/tunicode.c.
Added a new UTF-8 character encoding for datatypes.

Platforms tested:
mir, modi4, heping

Misc. update:
2005-05-23 13:20:07 -05:00
Raymond Lu
2ae072bb30 [svn-r10779] Purpose: Bug fix
Description:
Description: See details from Bug #213.  Family member file size wasn't saved
anywhere in file.  When family file is opened, the first member size determine
the member size.

Solution:  This is the second step of fixing this bug.  Multi driver is checked against the driver
name saved in superblock.  Wrong driver will result in a failure with an error message indicating
multi driver should be used.  This change includes split driver because it's a special case for multi
driver.

In the first step of checkin.  Family member size and name template(unused at this stage) are saved
in file superblock.  When file is reopened,the size passed in thrin superblock.  A different size
will trigger a failure with an error message indicating the right size.  Wrong driver to open family
file will cause a failure, too.

Test program tries to reopen a multi file with default sec2 driver.

The third step will be changing h5repart to let it change family member size in the superblock if
user uses it to change member file size.

Platforms tested: h5committest and fuss.
2005-05-20 16:51:05 -05:00
Raymond Lu
617a21dbb3 [svn-r10777] Purpose: Bug fix
Description: See details from Bug #213.  Family member file size wasn't saved
anywhere in file.  When family file is opened, the first member size determine
the member size.

Solution:  This is the first step of fixing this bug.  Member size and name
template(unused at this stage) are saved in file superblock.  When file is reopened,
the size passed in through H5Pset_fapl_family is checked against the size saved
in superblock.  A different size will trigger a failure with an error message
indicating the right size.  Wrong driver to open family file will cause a failure,
too.

Test program tries to verify different wrong ways to reopen file will fail.

The second step will change multi driver that wrong driver will cause a failure.

Platforms tested: fuss and h5committest
2005-05-20 13:25:36 -05:00
Quincey Koziol
9b4c1ce9f6 [svn-r10750] Purpose:
New feature.

Description:
    Add "memory pool" internal data structure.  This set of routines is
designed to add a way to allocate small pieces of information for a particular
purpose and then free all the pieces at once (i.e. without having to free each
piece individually).  Memory pools are also good for localizing lots of small
allocations that logically belong together.

    For example, if you were constructing a temporary linked list, you could
create a new memory pool, allocate all the nodes for the list from the memory
pool and when you were done with the list, just destroy the pool instead of
tracking through the list and freeing each block independently.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    h5committest
2005-05-17 14:01:07 -05:00
Quincey Koziol
bbe03d7361 [svn-r10736] Purpose:
Code cleanup

Description:
    Clean up some compiler warnings

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    h5committest
2005-05-07 14:37:48 -05:00
Quincey Koziol
c952661afb [svn-r10734] Purpose:
Bug fix

Description:
    Fix several problems with mounting files on an entry in a group when the
file the group is in has been closed.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    h5committest
2005-05-07 14:34:25 -05:00
John Mainzer
724cbc5615 [svn-r10717] Purpose:
Remove C99 types from new metadata cache related API calls
(take 2 -- missed one in the previous check in)


Description:

Windows (and perhaps others) don't like int32_t and int64_t.  While
we have dealt with the issue internally, it is more of a problem
in API calls.


Solution:

Convert int32_t to int and int64_t to long int in the new metadata
cache related API calls.


Platforms tested:

heping


Misc. update:
2005-05-02 16:36:43 -05:00
John Mainzer
cc44e6af63 [svn-r10715] Purpose:
Remove C99 types from new metadata cache related API calls


Description:

Windows (and perhaps others) don't like int32_t and int64_t.  While
we have dealt with the issue internally, it is more of a problem
in API calls.


Solution:

Convert int32_t to int and int64_t to long int in the
H5AC_cache_config_t structure used by the new metadata cache
related API calls.  Added explicit type casts to convert
between internal and external representations.


Platforms tested:

h5committested


Misc. update:
2005-05-02 13:58:28 -05:00
Quincey Koziol
55f8e19fc7 [svn-r10699] Purpose:
Code cleanup

Description:
    Switch name & logic from H5_LLONG_TO_FP_CAST_BROKEN to
H5_LLONG_TO_FP_CAST_WORKS, to better match the rest of the library.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-04-29 15:31:29 -05:00
John Mainzer
a9ba92287d [svn-r10688] Purpose:
Add API calls allowing user control of the metadata cache.


Description:

Prior to this update, the metadata cache was not configurable
from outside the library.


Solution:

Add API calls allowing the user to configure the metadata cache
either at file open time, or for any open file.  Also added calls
permitting the user to monitor cache size and hit rate.  These
latter facilities are needed for "manual" cache size control


Platforms tested:

h5committested


Misc. update:
2005-04-28 11:40:07 -05:00
Xiaowen Wu
348f391e42 [svn-r10682] Purpose:
Slight modifications.

Description:
	Several constants related to the H5Pset_scaleoffset interface
	are added into H5Zpublic.h. Test cases that calls H5Pset_scaleoffset
	needs slight modifications.

Solution:
	Use the defined names when calling H5Pset_scaleoffset instead of
	using numerical numbers.

Platforms tested:
	heping, shanti

Misc. update:
2005-04-27 12:03:06 -05:00
Xiaowen Wu
c5ed3b9576 [svn-r10674] Purpose:
New feature.

Description:
	The scaleoffset filter has been implemented to
	to compress floating-point data (single precision
	and double precision) using D-scale method from
	GRIB.

Solution:
	Test cases for float and double datatypes are added
	according to the change of scaleoffset filter. Situations
	of fill value defined/undefined are tested.

Platforms tested:
	heping, shanti, copper

Misc. update:
2005-04-26 16:42:42 -05:00
Leon Arber
936f41d3f0 [svn-r10661] Purpose:
Bug fix....

Description:
Despite passing all tests, the previous checkin had a copy/paste typo that
resulted in the tests being run under the wrong conditions.

Solution:
Fixed typo.

Platforms tested:
yet another minor change... copper only.

Misc. update:
2005-04-25 14:40:36 -05:00
Leon Arber
1208855335 [svn-r10660] Purpose:
bug fix (sorta)

Description:
Rename H5_LLONG_TO_FP_CAST_WORKS to H5_LLONG_TO_FP_CAST_BROKEN

Solution:
Since a test for  H5_LLONG_TO_FP_CAST_WORKS is not present in the configure script,
the dtransform test would assume that this cast doesn't work and skip the test.  Change the variable around
so that, by default, it is assumed a long long to double cast does work.

Platforms tested:
minor change: copper, sol

Misc. update:
2005-04-25 14:33:44 -05:00
Leon Arber
0ae785b76b [svn-r10658] Purpose:
Bug fix

Description:
The intel compiler on windows doesn't support long long to double conversion.

Solution:
Added a flag  H5_LLONG_TO_FP_CAST_WORKS.  When it is not defined, the data transform will issue
an error when someone tries to perform a transform from long long to double and the long long to double
dtransform test will be skipped.

Platforms tested:
heping, sol, copper

Misc. update:
2005-04-25 14:14:01 -05:00
Quincey Koziol
0cf3f85cce [svn-r10637] Purpose:
Bug fix/code cleanup

Description:
    Add tests to determine that very long (64K+) object names are working.
Fixed a couple of bugs in h5dump where they weren't...

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-04-21 01:55:42 -05:00
Leon Arber
7058153705 [svn-r10634] Purpose:
Use getenv_all for determining HDF5_PARAPREFIX instead of getenv

Description:
the environment variable HDF5_PARAPREFIX is now determined collectively, instead of
having each task call getenv.

Solution:
Environment variables set for task 0 often do not propogate to other tasks which
leads to obscure and hard to track down bugs.  getenv_all was written to overcome
this by having all tasks query a single task for the value of its environment.
Eventually, all calls to getenv will be migrated to use getenv_all.  For now,
only HDF5_PARAPREFIX will be determined this way.

Platforms tested:
heping pp, sol pp

Misc. update:
2005-04-20 16:48:31 -05:00
Quincey Koziol
af6276f654 [svn-r10628] Purpose:
Code cleanup

Description:
    Clean up various warnings reported by the Windows team.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-04-18 16:21:35 -05:00
Raymond Lu
28a3ec7209 [svn-r10622] Purpose: Bug fix
Description:  Some memory buffers were allocated by HDmalloc() but weren't cleaned
up before use.

Solution:  Use HDmemset() to 0 set the buffers.

Platforms tested: h5committest.
2005-04-16 12:15:38 -05:00
Quincey Koziol
9b68e8e927 [svn-r10620] Purpose:
Bug fix

Description:
    Opening a dataset (or named datatype) with "." for the name and using a
group ID for the location ID was not returning an error value.

Solution:
    Check the type of the object before attempting to open it (internally,
using a group ID and "." for the name maps to the group object).

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
    Too minor to require h5committest
2005-04-16 11:22:16 -05:00
Xiaowen Wu
3604c17051 [svn-r10603] Purpose:
Bug fix.

Description:
     The nbit filter test case (compound datatype with no-op field)
     can not pass the daily test on heping and eirene when the
     enable-production option is set with configure and PGI compiler
     is used. It will generate segmentation fault.

Solution:
     It was found that the seg fault disappears when adding a new
     index variable in the test case and using it instead of using
     an existing index variable twice during initialization.

     This does not make much sense since previous codes is logically
     equivalent to the changed codes. So, some other factors beyond
     the test case codes may have caused the problem.

Platforms tested:
     heping

Misc. update:
2005-04-13 21:05:42 -05:00
Elena Pourmal
5279827823 [svn-r10570] Purpose: Maintenance
Description: Removed support for SRB driver

Solution: Removed or modified appropriate files; ran reconfigure
          to regenerate Makefile.in and configure files.

Platforms tested: heping and shanti

Misc. update: ran bin/chkmanifest on heping
2005-04-07 14:41:25 -05:00
Xiaowen Wu
26b964c8fa [svn-r10569] Purpose:
New feature.

Description:
    The N-Bit filter needs a test case for no-op datatypes.

Solution:
    A test case was added to test a compound datatype with
    N-Bit fields and no-op fields.

Platforms tested:
    heping, shanti

Misc. update:
2005-04-06 21:43:45 -05:00
MuQun Yang
5c7a236baa [svn-r10558] Purpose:
Change maximum test number from 30 to 40 since more collective IO tests were
added into parallel HDF5 test.

Description:

Solution:

Platforms tested:
heping, copper, tungsten, cobalt, SDSC TG.

Misc. update:
2005-04-06 09:15:32 -05:00
Leon Arber
bba7693f56 [svn-r10555] Purpose:
Feature

Description:
Added new function, getenv_all (only for parallel builds)

Solution:
getenv_all is a collective version of getenv.  It is used to the return the value of
an environment variable in another task and can be used to synchronize all of the
environment variables used by all of the tasks.  This helps to fix problems that commonly crop up
(like with HDF5_PARAPREFIX) when an environment variable does not propogate to other tasks.

This commit only includes the function.  Future commits will replace the various getenv calls with getenv_all calls.

Platforms tested:
heping, sol, copper

Misc. update:
2005-04-05 16:42:02 -05:00
Raymond Lu
138abc3279 [svn-r10550] Purpose: Splitting dtypes.c
Description:  Yesterday, dtypes.c was split into two programs, dtypes.c and dt_atomic.c.
After dt_atomic.c was added, dtypes.c remained the same as before waiting for the
daily test to pass.  While dt_atomic.c turned out fine today, the  test in dt_atomic.c
was taken out from dtypes.c.  There's also some minor change in dt_atomic.c.


Platforms tested: h5committest
2005-04-05 15:25:21 -05:00
Quincey Koziol
1104db03b6 [svn-r10542] Purpose:
Code cleanup

Description:
    Clean up more test files

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-04-05 14:10:53 -05:00
Raymond Lu
e0f167780b [svn-r10535] Purpose: Spliting Test
Description:  Split test/dtypes.c because it's so big.  Moved all integer-integer,
floating-floating, integer-floating, floating-integer, derived integer, derived
floating conversion tests to a new test program, dt_atomic.c.  The test remains
the same basically.


Platforms tested: fuss and h5committest

Misc. update: MANIFEST
2005-04-04 17:35:35 -05:00
James Laird
b296a419c4 [svn-r10534] Purpose:
Configuration feature

Description:
Different Fortran compilers mangle function names in different ways
(upper case, lower case, adding underscores).  To link between
Fortran and C functions, we need to know what a given function's
name is under a given compiler.

Solution:
Use autoconf's FC_WRAPPERS check to determine the Fortran
naming scheme and define the FC_FUNC_ macro to name our
functions (in H5f90proto.h).  Removed references to
our old FNAME macro, as well as flags that indicated whether
function names were upper or lower case.

Platforms tested:
mir, pommier, modi4, copper, more
2005-04-04 16:17:51 -05:00
Raymond Lu
3cf7dbbf1d [svn-r10531] Purpose: Bug fix
Description:  In the last checkin, the fix wasn't quite correct.  This round simply corrects the mistake
from last round, especially the endianess was left out.


Platforms tested:  shanti, modi4, fuss - these machines cover both little and big endians.
2005-04-01 09:08:24 -05:00
James Laird
59ec5b3d66 [svn-r10517] Purpose:
Bug fix

Description:
On some machines, $RUNSERIAL variable needs to be used to run
tests.  Set $RUNTESTS (which is used for non-parallel tests) to
be $RUNSERIAL in configure.am.

Also, since I was updating all Makefiles.in anyway, I updated
commence.am to point to autotools installs in AFS instead of
those on heping.

Platforms tested:
mir, sleipnir, modi4, copper
2005-03-31 13:26:17 -05:00
Raymond Lu
54f0b6c66d [svn-r10512] Purpose: Bug fix
Description:  In test_conv_int_float(), when testing special floating-point value NaN, the test program
couldn't detect it for Linux Intel compiler when it's optimized.  The reason is in my_isnan(), a printf
command used "%LLg" to print "long double".

Solution:  Changed it to "%Lg".  Also differentiate cases for NaN, using exception handler if present,
decide if software conversion set converted integer to 0, or simply skip for hardware conversion.

Platforms tested:  heping - simple change.
2005-03-30 17:22:42 -05:00
James Laird
14e06e81cb [svn-r10511]
Purpose:
"Bug fix"

Description:
Hardcoded Makefiles to use /bin/sh instead of letting configure
detect shell automatically.  This is what v1.6 does, and avoids
problems on janus.

Platforms tested:
sleipnir, copper, modi4, mir
2005-03-30 16:14:48 -05:00
James Laird
680fa675fb [svn-r10508]
Purpose:
Bug fix

Description:
test/big fails randomly with a message warning of 'possible overlap.'

Solution:
Have the random number generator check each value to make sure a write at
that position doesn't overlap any previous write.

Platforms tested:
sleipnir, modi4, eirene
2005-03-29 17:14:47 -05:00
Quincey Koziol
a9d5fc42eb [svn-r10506] Purpose:
New feature

Description:
    Add first iteration of "segmented heap" code, which will be used to store
links in groups in a more flexible way than the previous "local heap" mechanism.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Solaris 2.9 (shanti)
2005-03-29 16:45:09 -05:00
Quincey Koziol
d484bd9fb7 [svn-r10504] Purpose:
New feature

Description:
    Add wrapper for v2 B-tree "neighbor" routine.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-29 16:26:25 -05:00
James Laird
7acf3f1b12 [svn-r10475] Purpose:
Feature - conditional compilation

Description:
SRB file driver and tests are now compiled only when SRB is enabled
(using --with-srb during configure).

Solution:
Added an automake conditional in configure.in, altered Makefiles.am in
src and test directories to depend on that conditional.
This should make a nice example for posterity to add conditionally
compiled sources.

Platforms tested:
heping (only configure change)
2005-03-29 12:38:17 -05:00
James Laird
9452992c09 [svn-r10459]
Purpose:
Added C++ wrapper for Packet Table API.

Description:
Added macro for high-level C++ library (LIBH5CPP_HL), which changes every
Makefile.in.
Added directories for high-level C++ library (though currently only Packet
Table API is supported).
Added both C++ source and tests.

Platforms tested:
sleipnir, mir, modi4

Misc. update:
2005-03-28 11:32:20 -05:00
Raymond Lu
293f9f9afb [svn-r10457] *** empty log message *** 2005-03-26 11:16:42 -05:00
Raymond Lu
705b9ec0c9 [svn-r10445] Purpose: Bug fix
Description: In test_conv_flt_1() in dtypes.c, the case of Intel-Linux or
AMD-Linux "long double" wasn't considered.  The precision is smaller than
the size.  There may be some garbage left in the unused bytes during hardware
conversion.

Solution:  Clear those bytes before comparison.

Platforms tested:  h5committest and mir, modi4.
2005-03-25 12:53:19 -05:00
Quincey Koziol
48205a43fe [svn-r10421] Purpose:
New feature & code cleanup

Description:
    Add feature to find first block >= a certain size (useful for allocating
space)

    Cleaned up various comments, etc.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-25 10:22:38 -05:00
Raymond Lu
87252df68c [svn-r10402] Purpose: New way to do conversion test between floating-point types.
Description:  The 5th step of changing conversion test.  This checkin is only for conversion
of special values between floating-point types.

Solution: This test is seperated from regular value conversion.  It reuse the same function
test_conv_flt_1() in test/dtypes.c.  The source buffer of floating-point type is filled up
with 8 special values, +/-0, +/-infinity, +/-QNaN, +/-SNaN.

Platforms tested: h5committest, fuss, and modi4.
2005-03-24 11:27:54 -05:00
Xiaowen Wu
3a64d64ff9 [svn-r10395] Purpose:
Bug fix.

Description:
    One test case of scaleoffset filter has fill value too large for int.

Solution:
    Change the value to be within the range of int.

Platforms tested:
    heping

Misc. update:
2005-03-23 21:08:15 -05:00
Xiaowen Wu
24c88ddadf [svn-r10385] Purpose:
New feature.

Description:
    The scaleoffset filter is now complete for compressing integers. All previous
    bugs have been fixed. The filter does not compress floating-point at present.

Solution:
    Update test cases for the scaleoffset filter. Two for integer types and one for
    floating-point (even though the filter does not compress). The two test cases
    for integer type tests situations where fill value is defined and undefined for
    the dataset.

Platforms tested:
    heping, copper, shanti

Misc. update:
2005-03-23 12:46:46 -05:00
Binh-Minh Ribler
5463c0a62b [svn-r10236] Purpose: Added a util wrapper
Description:
    Added function IncTestNumErrs to increment the number of errors
    that is defined in testframe.c

Platforms tested:
    Linux 2.4 (heping)
    AIX 5.1 (copper)
2005-03-19 09:11:40 -05:00
Quincey Koziol
f7ee415cdb [svn-r10231] Purpose:
Bug fix

Description:
    Opening an object in a group that is located in a file which has been
unmounted would cause a core dump. :-(

Solution:
    Re-arrangement internal code to compute internal "user" and "canonical"
names for the newly opened object in a safer way.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-03-17 21:56:01 -05:00
Quincey Koziol
ba50d969c6 [svn-r10230] Purpose:
New feature

Description:
    Add in support for deleting entire block tracker.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-17 19:33:17 -05:00
Raymond Lu
9525ac98d3 [svn-r10228] Purpose: New way to do conversion test between floating-point numbers.
Description:  The 4th step of change conversion test.  This checkin is only for
conversion between floating-point numbers.

Solution:  The source buffer of floating-point number is filled up in the same
way described in the 3rd step(revision 1.155).

Platforms tested: h5committest and fuss.
2005-03-16 11:11:14 -05:00
Raymond Lu
04b7826ed1 [svn-r10218] Purpose: Bug fix
Description:  This commit is actually revision 1.155, which is the 3rd step of
changing conversion test.  It's for conversion from floating-point to integer.

In this step, the source buffer is filled in with normalized and denormalized
floating-point values.  For the normalized values, it starts from FLT(DBL, or
LDBL)_MIN, multiplied by 10(10000 for double, 100000000 for long double) for
the next value, until reaches to FLT_MAX.  For denormalized values, the
exponent part is always 0.  Mantissa part starts with 000...001, 000...011,
000...111, until reaches to 111...111.  The same is with negative values.

There're also fixes in config/hpux11.00 for kelgia where default macro table
size wasn't big enough to handle the big macro in dtypes.c.


Platforms tested: h5committest and kelgia.
2005-03-15 11:31:48 -05:00
James Laird
d1f8a1e1a9 [svn-r10217] Purpose:
Bug fix

Description:
Fix a typo in my last checkin.  Should make some compilers happier
about "operand types."

Platforms tested:
sleipnir, heping, kelgia
2005-03-15 10:15:40 -05:00
James Laird
d1d9335d7a [svn-r10216]
Purpose:
Bug fix

Description:
Calling H5Iobject_verify on an invalid type of ID (e.g., H5I_BADID) triggers
an assert.

Solution:
Test for this condition and return an error instead of an assert.
Added tests for this case.

Platforms tested:
sleipnir (minor change)
2005-03-14 18:02:21 -05:00
Quincey Koziol
5420387976 [svn-r10203] Purpose:
New feature/tests

Description:
    Add better support & tests for removing blocks being tracked.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-11 17:18:35 -05:00
Quincey Koziol
941edeab91 [svn-r10199] Purpose:
New feature

Description:
    Add basic block removal feature

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-11 16:14:52 -05:00
Quincey Koziol
df886c57fc [svn-r10198] Purpose:
New feature

Description:
    Handle merging new blocks with existing blocks

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-11 14:21:04 -05:00
Quincey Koziol
fcb67f0e86 [svn-r10195] Purpose:
New feature

Description:
    Add feature to modify an existing record in a B-tree

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-11 09:05:32 -05:00
Raymond Lu
d903bca3cf [svn-r10194] Purpose: Roll back change made last time
Description:  Reverse the 3rd step of change just checked in yesterday(revision 1.155) because of some errors
in daily test.  Use the revision 1.154 for now until the problem is fixed.


Platforms tested:  fuss - simple rolled back to previous revision.
2005-03-11 08:21:48 -05:00
Quincey Koziol
fb0a958aec [svn-r10192] Purpose:
New tests

Description:
    Add some validity tests for rejecting overlapping blocks

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-10 23:42:46 -05:00
Quincey Koziol
0813413a78 [svn-r10191] Purpose:
New tests

Description:
    Add some internal validation routines and make certain that the max & min
block sizes get tracked accurately, at least for a simple series of insertions

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-10 23:34:06 -05:00
Quincey Koziol
330a3f1fcb [svn-r10190] Purpose:
New feature

Description:
    Add query for the total size of blocks tracked

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-10 23:01:49 -05:00
Quincey Koziol
da3eeee908 [svn-r10189] Purpose:
New feature & bug fix

Description:
    Support inserting multiple blocks

    Start tracking the metadata about the blocks.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-10 22:45:56 -05:00
Quincey Koziol
4d86e9e8b8 [svn-r10186] Purpose:
New feature

Description:
    Add basic code to insert blocks into block tracker.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-10 21:30:53 -05:00
Quincey Koziol
46dcfc7a49 [svn-r10185] Purpose:
New feature & bug fix

Description:
    Allow NULL 'op' for find operations to easily query the existance of a
record for a key during H5B2_find() operations.

    Fix H5B2_neighbor() to work properly with empty B-tree

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-10 21:27:59 -05:00
Quincey Koziol
5b7ebc2ff9 [svn-r10184] Purpose:
New feature

Description:
    Add new "block tracker" data structure to library, for tracking blocks of
bytes in a file.  Block trackers will be used to keep track of the blocks
belonging to the soon-to-be-implemented "segmented heap" which is designed to
replace the current local & global heaps (starting with the local heap).
Block trackers will also keep track of the free space in the segmented heap
and someday could be used to track the free space in the entire HDF5 file.
    They are implemented as a small header of information to cache the state
of the blocks (max & min sizes of blocks tracked, etc.) and the records of
the blocks themselves are stored in a v2 B-tree.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
    h5committest
2005-03-10 19:44:03 -05:00
Raymond Lu
4f3d64fd3d [svn-r10180] Purpose: New way to do conversion test from floating-point to integer.
Description: This is the 3rd step of change conversion test.  This checkin is
only for conversion from floating-point to integer.

Solution:  The source buffer is filled in with normalized and denormalized
floating-point values.  For the normalized values, it starts from FLT(DBL, or
LDBL)_MIN, multiplied by 10(10000 for double, 100000000 for long double) for
the next value, until reaches to FLT_MAX.  For denormalized values, the
exponent part is always 0.  Mantissa part starts with 000...001, 000...011,
000...111, until reaches to 111...111.  The same is with negative values.

Platforms tested: h5committest and fuss.
2005-03-10 16:49:28 -05:00
Quincey Koziol
451e55aac0 [svn-r10176] Purpose:
New feature

Description:
    Add routine to delete entire B-tree from a file.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-10 11:13:58 -05:00
Quincey Koziol
e79c145d91 [svn-r10173] Purpose:
Code cleanup

Description:
    Remove some extraneous ifdef's

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor for other testing
2005-03-09 14:53:27 -05:00
Quincey Koziol
ec169e7bc2 [svn-r10172] Purpose:
Bug fix & New feature

Description:
    Correct some situations where a write lock on the data in the metadata
cache was requested, but only a read lock is necessary.

    Add routine to find nearest neighbor record < or > to a query key.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-09 14:39:20 -05:00
Quincey Koziol
7f88485025 [svn-r10168] Purpose:
Bug fix & new tests

Description:
    Fix another couple of issues with record removal and add some more tests to
make certain removals work correctly.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-08 14:56:29 -05:00
Raymond Lu
eca2e81266 [svn-r10163] Purpose: New way to do conversion test from integers to floating numbers.
Description:  This is the 2nd step of changing conversion test.  This checkin is
only for conversion from integer to floating number.  The source buffer of
integer is filled up in the same way described in the last checkin(revision
1.153).


Platforms tested: fuss, sol, and heping - copper was down.  Couldn't do
h5committest.
2005-03-08 12:10:02 -05:00
Quincey Koziol
2df8540798 [svn-r10162] Purpose:
Bug fix & new tests

Description:
    Fix several errors in record removel routines, which should now be feature
complete for removing records at any location in the B-tree (further testing
will verify this)

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-08 11:18:58 -05:00
Quincey Koziol
4bcd59d351 [svn-r10159] Purpose:
Bug fix

Description:
    Corrected errors in record removal code to handle removing records in
higher nodes in the B-tree.

Platforms tested:
    FreebSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-07 15:12:57 -05:00
James Laird
25df1908bc [svn-r10158] Purpose:
Automake version upgrade

Description:
Upgraded automake version from 1.6.2 to 1.9.5.
Changed bin/reconfigure script to use automake 1.9.5.
Changed configure.in and Makefiles to use new FCFLAGS and FC variables
instead of FFLAGS and F9X.
Automake and configure should now do the lion's share of the work
supporting Fortran 9X; macros in acsite.m4 are now mostly unused (will
be cleaned later).
Altered how configure handles pmake; now root-level Makefile.in is
processed by bin/reconfigure to have a .MAKEFLAGS target, since
automake no longer allows us to define unused variables.
Configure now always checks for C++ compiler even if it is not
used, since automake thinks this is the Right Thing To Do and
will break otherwise.

Platforms tested:
Sol, copper, heping, mir, sleipnir, eirene, pommier, kelgia, modi4.
2005-03-07 12:57:27 -05:00
Quincey Koziol
630b2901c5 [svn-r10156] Purpose:
Bug fix & new feature

Description:
    Allow B-tree's height to be reduced when removing records.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-05 02:50:17 -05:00
Quincey Koziol
36b45feae5 [svn-r10155] Purpose:
More tests

Description:
    Add tests for removing records in the root of a level-1 B-tree and
promoting and merging leaf nodes.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-05 00:27:45 -05:00
Quincey Koziol
8d2ddf5170 [svn-r10154] Purpose:
Bug fix/new feature

Description:
    Tweak the record promotion algorithm to get it working correctly when
promoting and redistributing records.

    Added tests for that case.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-05 00:04:13 -05:00
Quincey Koziol
9845d40eb5 [svn-r10153] Purpose:
New feature

Description:
    Allow records in internal nodes to be removed, not just records in leaf
nodes.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-04 23:04:54 -05:00
Quincey Koziol
009f57c1ba [svn-r10152] Purpose:
Bug fix & new feature

Description:
    Fix error in 3-node redistribution when nodes are only moving into the
middle node from the left & right nodes (which happens sometimes during
record removals).

    Clean up internal insert & remove routines to remove lots of redundant
checking.

    Added 3->2 node merge routine to handle more record removal cases.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    Solaris 2.11 (shanti)
2005-03-04 21:51:55 -05:00
Quincey Koziol
156505bbf9 [svn-r10151] Purpose:
New feature

Description:
    Add code to handle 2->1 node merges during record removal.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-04 18:49:15 -05:00
Raymond Lu
7e0e9edc44 [svn-r10150] Purpose: A new way to do conversion test
Description: This is the first step of changing conversion test.  This checkin is only for conversion
between integers.  Instead of filling source buffer with randomly generated bit pattern, this new way
uses more sensible bit patterns.  It's easier to see using "char" as source for example.  The bit patterns
will be
        00000001, 00000010, 00000100, 00001000, 00010000, 00100000, 01000000, 10000000
        00000000, 00000011, 00000111, 00001111, 00011111, 00111111, 01111111, 11111111
        11111111, 11111110, 11111100, 11111000, 11110000, 11100000, 11000000, 10000000

The main point of this way is to avoid casting and comparison between source and destination types by
compiler.  The bit patterns will cover positive maximum and minimum, negative maximum and minimum if
the source is signed integer.


Platforms tested: h5committest and fuss.
2005-03-04 18:10:49 -05:00
Quincey Koziol
c153ca4d5e [svn-r10149] Purpose:
Bug fix & new feature

Description:
    Fix a couple of off-by-one errors in assertions (code was actually correct)
for 3 node redistributions.

    Remove "old" node removal code that is unused now.

    Add more tests that verify that 2-node and 3-node redistributions are
working correctly for removals.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-04 17:22:34 -05:00
Quincey Koziol
831be556f4 [svn-r10148] Purpose:
New test

Description:
    Add a couple more tests for removing records before I start modifying the
code further.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-04 16:48:54 -05:00
Quincey Koziol
84ffc9d1c1 [svn-r10135] Purpose:
Bug fix & new feature

Description:
    Fix problem with inserting existing keys into B-tree corrupting record
counts along the path to the failed insertion.

    Add more support for removing records, it's now handling removing records
from leaves of level-1 B-trees.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Solaris 2.9 (shanti)
2005-03-03 16:39:57 -05:00
Albert Cheng
f5c24bc9a4 [svn-r10130] Purpose:
Retired GASS driver.

Platforms tested:
H5committested.
2005-03-03 13:10:16 -05:00
Albert Cheng
85917a7341 [svn-r10129] Corrected typos which should have said SRB instead of GASS.
NOt tested since there is no SRB server to test with.
2005-03-03 12:26:26 -05:00
Albert Cheng
0d514907a9 [svn-r10123] Purpose:
Removed GASS configuration and software packages associated with
it.  The following software are no longer configurable.

checking for main in -lcrypto... yes
checking for SSL_get_version in -lssl... yes
checking globus_common.h usability... yes
checking globus_common.h presence... yes
checking for globus_common.h... yes
checking for globus_module_activate in -lglobus_common... yes
checking for main in -lglobus_gass_cache... yes
checking for main in -lglobus_gaa... yes
checking for main in -lglobus_gss... yes
checking for main in -lglobus_gss_assist... yes
checking for main in -lglobus_io... yes
checking for main in -lglobus_gass_transfer_assist... yes
checking for main in -lglobus_gass_transfer... yes
checking for globus_gass_open in -lglobus_gass_file... yes

Platforms tested:
h5committested (but copper was down.) tested in modi4 too.
2005-03-02 15:02:55 -05:00
Quincey Koziol
11a9d30177 [svn-r10094] Purpose:
New features & refactor

Description:
    Add basic record removal (only handles level-0 B-trees currently)

    Add query routine to check the number of records in a B-tree

    Add debugging routine to check the address of the root node in the B-tree

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-02-26 08:05:41 -05:00
Raymond Lu
82ae8ac4e0 [svn-r10087] Purpose: New feature and test
Description:  Somehow, the hardware conversions between "long double" and other native floating-point
types were left out.

Solution:  Added the hardware conversion functions in H5Tconv.c and test cases in dtypes.c.

Platforms tested: h5committest and fuss.

Misc. update: updated MANIFEST to replace bin/reconfigure.sh with bin/reconfigure
2005-02-25 15:26:32 -05:00
Raymond Lu
b0c346caa2 [svn-r10081] Purpose: Some Kind of Verification
Description:  The library didn't handle incorrect hardware conversion for datatype.  It simply did
convert to incorrect data if any hardware didn't handle correctly.

Solution:  During configuration, incorrect hardware conversion is detected and some macros are
defined.  Use these macros to decide whether to register hardware conversion in H5T.c.  If no hardware
conversion function is registered for certain pair of datatypes, software conversion function will
be used as the conversion path.  Although slower than hardware conversion, we're more confident
software conversion is accurate.

So in one sentence to describe library's behavior, if some hardware conversion doesn't work well,
software conversion will be used instead.

Platforms tested:  h5committest and fuss.

Misc. update:  some changes to configure's comments.
2005-02-24 17:54:05 -05:00
Quincey Koziol
2be0f58f60 [svn-r10078] Purpose:
Bug fix & new feature

Description:
    Fix errors in tracking the total number of records "below" a node.

    Add feature to find the n'th record in a B-tree

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-02-24 16:44:30 -05:00
Quincey Koziol
b1485cfdcf [svn-r10077] Purpose:
New feature, refactor code

Description:
    Add call to search for a record in a B-tree by key value

    Refactored some of the existing callbacks to simplify them.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-02-24 12:23:26 -05:00
Quincey Koziol
e0a6b93e02 [svn-r10071] Purpose:
Bug fixes

Description:
    Fix several bugs in B-tree insertion code, which now appears to be fully
functional.  (Tested to 1,280,000 records at least...)

    Add random record insertion test to shake out boundary conditions, etc.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-02-23 16:32:06 -05:00
James Laird
0b83fea125 [svn-r10066] Purpose:
Libtool upgrade

Description:
HDF5 was using libtool 1.4.2.  Upgraded to libtool 1.5.14.

Platforms tested:
verbena, heping, pommier, copper, modi4, arabica
2005-02-23 11:47:00 -05:00
Quincey Koziol
e03fe7a647 [svn-r10047] Purpose:
New feature

Description:
    Allow internal nodes to perform 3->4 splits.  Inserting records should now
be feature complete.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-02-19 12:46:33 -05:00
Quincey Koziol
b5b1d7f713 [svn-r10046] Purpose:
New feature

Description:
    Allow 3 node redistributions to work on internal nodes.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-02-19 10:32:26 -05:00
Quincey Koziol
e0c3218a0a [svn-r10045] Purpose:
New feature

Description:
    Allow internal nodes in v2 B-tree to undergo 2->3 splits

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-02-19 09:49:20 -05:00
Quincey Koziol
cd93442df6 [svn-r10044] Purpose:
New feature

Description:
    Allow internal nodes in v2 B-tree to perform 2 node redistribution

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-02-18 16:21:47 -05:00
Quincey Koziol
29ccf4aa7a [svn-r10038] Purpose:
New test

Description:
    Add tests for splitting leaves in level-2 B-tree

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-02-17 16:43:36 -05:00
Quincey Koziol
9181ed0fa4 [svn-r10036] Purpose:
New test

Description:
    Add more regression tests for redistributing leafs in a level-2 B-tree

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-02-17 16:12:45 -05:00
Quincey Koziol
45f2b11026 [svn-r10034] Purpose:
New test

Description:
    Add extra tests for v2 B-tree iterator

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Too minor to require h5committest
2005-02-17 15:40:13 -05:00
Xiaowen Wu
8493009bd4 [svn-r10026] Purpose:
New feature.

Description:
    Add a test case for scaleoffset filter (integer type). For debugging purpose only.
    The test case is not turned on.

Solution:

Platforms tested:
    heping, copper, arabica

Misc. update:
2005-02-16 22:14:05 -05:00
Xiaowen Wu
7b4b65be1c [svn-r10025] Purpose:
New feature.

Description:
    Add the scaleoffset internal library filter.

Solution:

Platforms tested:
    heping, copper, arabica

Misc. update:
2005-02-16 22:03:50 -05:00
Quincey Koziol
27dbdb8c71 [svn-r10020] Purpose:
New feature

Description:
    Add code to iterate over all the records in a v2 B-tree.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-02-16 19:37:04 -05:00
James Laird
8ed95c0011 [svn-r10016]
Purpose:
Bug fix

Description:
modi4 dies during build with strange errors.
The root cause of these is a two-year-old hack in HDF5's libtool
script that only takes effect on IRIX.

Solution:
Edited the libtool hack (by editing ltmain.sh) to correct a bug in
the hack.
Also made sure that compiler-specific DEFAULT_LIBS are used
when linking.

Platforms tested:
sleipnir, copper, modi4, sol
2005-02-16 14:27:27 -05:00
Quincey Koziol
7316f0e7e7 [svn-r9995] Purpose:
New feature & bug fix

Description:
    Allow root node to split, forming a level 2 B-tree

    Fix error where wrong record was being copied up to parent node for a 2
node redistribution on the "right" side of the B-tree.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Solaris 2.9 (shanti)
2005-02-11 18:36:08 -05:00
James Laird
b96f342722 [svn-r9993] Purpose:
Bug fix

Description:
Arabica exhibited strange errors when linker found wrong versions of
header files.  This happened because include directories were
given to linker in the wrong order.

Solution:
Move include directories from AM_CFLAGS variable to INCLUDES
variable to put them before CPPFLAGS variable.  Trust me, it works.
This bug may also have contributed to strange errors on other platforms
(kelgia?).

Platforms tested:
copper, sleipnir, arabica.
	(h5dump broke while building on arabica, but this happened in
	a clean checkout, too).
2005-02-11 16:32:22 -05:00
James Laird
3f0a35a4ea [svn-r9988] Purpose:
Bug fix

Description:
pmake (on modi4, for instance) complains about undefined variables
if it is run without the -V flag, which turns those errors to warnings.

Solution:
Added test to configure.in to see if $MAKE will allow Makefiles
with undefined variables.  If not, sets -V flag in AM_MAKEFLAGS.
Ensured that all custom make targets use AM_MAKEFLAGS.
Also defined all variables that caused errors in top-level Makefile.am.
This means that pmake can be used to build hdf5 *from the top level
only*.  To run make from a subdirectory, still need to use -V flag
(or use make or gmake).

Platforms tested:
modi4, heping, copper, sleipnir
2005-02-11 12:40:52 -05:00
Raymond Lu
54f376edbb [svn-r9987] Purpose: bug fix
Description:  For hardware conversion from integers to "long double" on AMD machine, the test
failed because the size of "long double"(can be 16 bytes) is bigger than the precision(80 bits).
There can be some garbage in the unused bytes in "long double".  That caused failure during
byte comparison.

Solution:  Clean these unused bytes before comparison.

Platforms tested:  mir and fuss; simple change
2005-02-11 11:59:50 -05:00
Quincey Koziol
9bda1fcfd8 [svn-r9986] Purpose:
New feature & code cleanup

Description:
    Change some references from 'keys' to 'records', which is more correct for
this implementation.

    Added feature to allow preemptive 3 node record redistributions (for leaves
only currently)

    Added feature to perform preemptive 3->4 node splits (for leaves only
currently)

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Solaris 2.9 (shanti) w/purify
    Too minor to require h5committest
2005-02-11 01:50:20 -05:00
Quincey Koziol
ebfc303556 [svn-r9985] Purpose:
New feature & bug fixes

Description:
    Checkpoint v2 B-tree code after getting preemptive 2->3 node splitting
working (for leaf nodes only at the moment, however).

    Also, correct a problem with redistributing records that was probably
causing the failures on mir in yesterday's daily tests.

    Ran code through purify on shanti and cleared up some warnings.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Solaris 2.9 (shanti) w/purify
2005-02-10 21:40:16 -05:00
Raymond Lu
479bdb0bbd [svn-r9984] Purpose: New feature and test
Description:  Added support of hardware conversion between "long double" and integers(mainly
in H5Tconv.c) and some test cases(mainly in test/dtypes.c).


Platforms tested:  h5committest and fuss.

Misc. update:  RELEASE.txt
2005-02-10 17:19:39 -05:00
Quincey Koziol
9f76f83f48 [svn-r9971] Purpose:
New feature

Description:
    Checkpoint v2 B-tree code after getting 2 leaf record redistribution
working and tested.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Too minor to require h5committest
2005-02-09 16:32:07 -05:00
Raymond Lu
86c18b7e4f [svn-r9966] Purpose: Bug fix
Description: H5Tget_member_value didn't return correct value if called after
H5Tenum_valueof.  It's because there's a sorting on the members of enum type in
H5Tenum_valueof which changed the order of members.

Solution:  Made a copy of original type and do sorting on it to protect the
original order.

Platforms tested:  fuss; tested v1.6 with h5committest

Misc. update:  RELEASE.txt
2005-02-09 10:54:44 -05:00
Quincey Koziol
71434c4d03 [svn-r9962] Purpose:
Bug fix & code update

Description:
    Fix error in new free-list factory routines that was causing errors on
tungsten, et al.

    Also, checkpoint v2 B-tree code.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Linux 2.4 (tungsten)
    Otherwise too minor to require h5committest
2005-02-08 16:48:14 -05:00
Raymond Lu
70c0ba03ce [svn-r9959] Purpose: Bug fix
Description: For variable-length string, H5Tget_class returned H5T_STRING as
its class.  But H5Tdetect_class and H5Tget_member_class considered it as
H5T_VLEN.  This is fixed to let all these 3 functions treat it as H5T_STRING.
Some test cases have been added to dtypes.c


Platforms tested:  heping - already tested for v1.6 with h5committest

Misc. update:  RELEASE.txt
2005-02-08 13:30:29 -05:00
Quincey Koziol
b4153b4f5e [svn-r9955] Purpose:
New feature & bug fix

Description:
    Allow h5debug tool to dump "test" v2 B-trees correctly.

    Also, fix incorrect parameter passing that was causing failures on
various platforms.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    AIX 5.2 (copper)
2005-02-07 20:03:48 -05:00
Quincey Koziol
a0c833a287 [svn-r9944] Purpose:
Bug fix (sorta)

Description:
    Disable btree2 testing until Monday, when I can look into the failures
without a toddler on my lap. :-)

Platforms tested:
    FreeBSD 4.11 (sleipnir)
2005-02-05 15:43:22 -05:00
Quincey Koziol
24770bf218 [svn-r9939] Purpose:
New feature

Description:
    Expand v2 B-tree code to support splitting the root node when enough
records are inserted and move metadata cache callbacks into their own source
file.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Too minor for h5committest
2005-02-04 16:14:42 -05:00
James Laird
db2575baa9 [svn-r9930]
Purpose:
Bug fix

Description:
Parallel builds were breaking in tools/lib

Solution:
talign didn't realize it depended on libh5tools.la because its
dependencies listed the full path (../../tools/lib/libh5tools.la).
Changed this, and made similar changes in a couple of other
directories.
This checkin should also add the --foreign flag to every Makefile.in

Platforms tested:
sleipnir (minor change)
2005-02-03 16:59:40 -05:00
Quincey Koziol
0b332ace5e [svn-r9928] Purpose:
New feature

Description:
    Add basic code for new B-tree implementation.  They don't do much yet,
aren't hooked up to anything yet and the format may change, but I'd like to
start getting them into the daily tests.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Too minor to require h5committest
2005-02-03 14:59:05 -05:00
James Laird
ab243bf369 [svn-r9920] Purpose:
Bug fix

Description:
Found the permanant fix to automake/CVS dependency problem

Solution:
Added AM_MAINTAINER_MODE macro to configure.in.
Now automake will never try to regenerate Makefiles, Makefiles.in,
configure, H5config.h, etc. when they are out of date, nor will it
print any warnings.
Developers should  be very very careful to use reconfigure script,
and can add --enable-maintainer-mode flag to configure on heping
to regenerate these files correctly.

Platforms tested:
heping sleipnir copper
2005-02-02 15:59:46 -05:00
James Laird
ed8685acd2 [svn-r9915] Purpose:
Bug fix

Description:
Configuration files' timestamps were incorrect.

Solution:
Update Makefiles.in.  Also added correct paths to autotools on heping,
so heping build should be able to re-generate configuration files even
if they are still broken.

Platforms tested:
sleipnir
2005-02-02 11:00:36 -05:00
James Laird
e3dacb31be [svn-r9912] Purpose:
Bug fix

Description:
Dependencies between configure files (aclocal, configure.in, configure,
Makefiles.am and .in) are still causing Makefiles to try to run autotools
during build.

Solution:
Committed all Makefiles.in to update their timestamps.
As a temporary measure, forcibly prevented automake from running
autotools during build by redefining the variables it uses.

Platforms tested:
sleipnir (No changes to Makefile content)
2005-02-01 16:05:33 -05:00
Raymond Lu
ae02f3f80a [svn-r9909] Purpose: Bug fix for test
Description:  To avoid randomly generating NaN for "long double" during
conversion test, decrease the exponent by 1 if all exponent bits are set
1s.


Platforms tested:  eirene(production) and fuss.
2005-02-01 13:48:27 -05:00
James Laird
30bfb1e0ea [svn-r9907] Purpose:
Bug fix

Description:
Different compilers use different flags to include Fortran module files

Solution:
Changed boilerplate to use configure variable rather than hardcoded -M flag.

Platforms tested:
sleipnir, sol, copper
2005-02-01 10:27:37 -05:00
James Laird
26303241fe [svn-r9902] Purpose:
Configuration feature

Description:
HDF5 now uses automake to generate Makefiles

Solution:
Makefile.in files are now generated from Makefile.am files.
To reconfigure (after chaning a Makefile.am or configure.in):
/bin/sh bin/reconfigure.sh

Platforms tested:
Many
2005-01-31 22:17:02 -05:00
Quincey Koziol
9f17319144 [svn-r9899] Purpose:
Code cleanup

Description:
    Clean up some leftover testfiles...

Platforms tested:
    Too minor to require h5committest...
2005-01-31 20:50:00 -05:00
Raymond Lu
593d0c490a [svn-r9898] Purpose: Bug fix for test program
Description:
For Intel machines, the size of "long double" is 12 byte, precision
is 80 bits, mantissa size is 64 bits, and no normalization.  So the
most significant bit of mantissa is always 1 unless the floating number
has special value.  This step tries to compensate this case by turning
on the most significant bit of mantissa if the mantissa bits aren't
all 0s.


Solution:
Tries to compensate this case by turning on the most significant bit of
mantissa if the mantissa bits aren't all 0s.

Platforms tested: eirene and fuss(production enabled).  Small change for
production only.
2005-01-31 17:08:09 -05:00
Xiaowen Wu
3926845f87 [svn-r9895] Purpose:
Add test cases of nbit filter, tests are now turned on

Description:
Six test cases are added for testing the nbit filter with different
datatypes including int, float, double, array datatype, a simple
compound datatype and a complex compound datatype. Improvements are
made to testing of int and floating point.

Solution:

Platforms tested:
AIX 5.1 and Linux 2.4.

Misc. update:
2005-01-31 10:14:01 -05:00
Raymond Lu
c078598b6e [svn-r9886] Purpose: New test
Description:  Added a test of data type conversion between user-defined integer
types.


Platforms tested: h5committest and fuss
2005-01-29 16:08:01 -05:00
Quincey Koziol
aea13bdb44 [svn-r9878] Purpose:
New tests

Description:
    Add some tests for H5Fis_hdf5() routine.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Too minor to require h5committest
2005-01-28 12:32:44 -05:00
John Mainzer
866b37b337 [svn-r9868] Purpose:
Reduce the run time of the cache tests.


Description:

Some of the cache tests run for quite a while, which has been
causing problems with our daily build and test.  In my last
modification to cache.c, I added code to skip these stress
tests unless we were building in production mode.  Since
things go faster in production mode, the extra tests are not
a major problem here.

However, this means that the stress tests are only run once
or twice a week.


Solution:

To try to deal with this, I modified the four longest tests
to throttle depending on whether NDEBUG is defined.  When
NDEBUG is not defined, runtime for the cache tests should
be about 1/5th its regular run time.  We will see if this
is enough of a reduction to avoid problems.

There is some doubt in my mind as to just how much good the
throttled tests do, but they should be better than nothing.
As mentioned before, the correct solution is to build some
proper, random test code.


Platforms tested:

h5committested
production and debug builds on heping.


Misc. update:
2005-01-24 16:02:48 -05:00
Quincey Koziol
0d5a2ed80a [svn-r9862] Purpose:
Code cleanup

Description:
    Add new test file to 'distclean' target

Platforms tested:
    None, very minor...
2005-01-23 22:51:27 -05:00
Xiaowen Wu
631394faa8 [svn-r9855] Purpose:
Adding N-bit testing source code into CVS tree.
This is for debugging purpose only. N-bit filter won't be included in the daily test.

Description:
Integer, Float, Array datatype and Compound datatype tests are included.
More comprehensive tests need to be done.

Solution:

Platforms tested:
copper(AIX 5.1) and heping(Linux 2.4).

Misc. update:
2005-01-21 13:19:51 -05:00
Raymond Lu
e5a161ffda [svn-r9853] Purpose: Minor Bug fix
Description:  A very minor bug fix and some minor changes to reduce the warning messages during
compiling.


Platforms tested: sleipnir and fuss
2005-01-21 10:01:32 -05:00
John Mainzer
3b90c189ca [svn-r9850] Purpose:
1) Provide facilities in cache to allow us to avoid a potential cache
   consistency bug in the parallel case.

2) Clean up a off by one sanity checking bug.

3) Turn off execution of long running tests in debug mode.


Description:

1) In the parallel case, all writes to metadata must be collective,
   but reads may not be.  In pricipal, this allows us to different
   contents in different caches.  This isn't a problem as long as the
   correct data is always on disk, but unless we can force certain
   writes immediately, that need not be the case.

2) & 3) should need no further explanation.


Solution:

1) Add code allowing us to mark cache entries, and then force
   these entries to be flushed at a later time.

   Note that to actually avoid the bug, we will have to modify
   existing code to use these new features.

2) & 3) should need no further explanation.


Platforms tested:

heping (serial debug and production)

committest (copper, sol, and heping).  test failed on heping in the
c++ portion of the build, but at Quincey's siggestion, I am proceeding
with the checkin.


Misc. update:
2005-01-20 17:40:37 -05:00
Raymond Lu
3d83546b36 [svn-r9849] Purpose: New test and a few bug fix
Description:  Test conversion from native integer to derived floating-point type and convert back;
test conversion from derived floating-point to derived floating-point types and convert back.  Fixed
a few minor bugs related to type conversion in the library.


Platforms tested: h5committest and fuss
2005-01-20 17:19:13 -05:00
Raymond Lu
72df6506b4 [svn-r9841] Purpose: Minor correction in comments
Platforms tested:  No test needed.
2005-01-20 14:53:56 -05:00
Raymond Lu
dad89387a3 [svn-r9840] Purpose: Bug fix and new test
Description:  The functions for user-define floating-point type, like
H5Tset_fields, H5Tset_offset, H5Tset_precision, H5Tset_size, have some
minor bugs.  For error checking, the library didn't include offset value
somehow.

Solution:  Corrected those bugs.

Platforms tested: h5committest and fuss

Misc. update:
2005-01-20 12:32:06 -05:00
Quincey Koziol
fda3252166 [svn-r9839] Purpose:
Bug fix

Description:
    Don't print very long description, check that it's correct internally.

Platforms tested:
    Linux 2.4 (heping)
    Solaris 2.7 (arabica)
2005-01-19 15:15:26 -05:00
Raymond Lu
35985b6dba [svn-r9827] Purpose: Minor correction
Description:  There was a #ifdef statement with logical AND in it.

Solution:  Change it to #if statement.

Platforms tested: sleipnir and eirene.  Simple change
2005-01-14 15:36:32 -05:00
Raymond Lu
105bee4ead [svn-r9826] Purpose: Bug fix
Description:  Intel compiler on Linux has some problem to convert long double to
unsigned int correctly.

Solution:  Detect the problem in configure and define a macro to skip this test
if it happens.

Platforms tested: eirene and fuss.  Simple change.
2005-01-14 15:15:34 -05:00
Quincey Koziol
23130b569c [svn-r9825] Purpose:
Bug fix

Description:
    Fix possible overrun in error description string by allocating large enough
string on the fly.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Too minor to require h5committest
2005-01-14 14:36:01 -05:00
Raymond Lu
96cc43235e [svn-r9819] Purpose: Bug fix
Description:  The fix of the loss problem of the last 2 bytes of mantissa on sleipnir has
not been successful.  It happens when converting from unsigned long long to long double.
 The failure has been on and off.

Solution:  Hard set a macro to disable unsigned long long->long double for FreeBSD until
a good solution is found to solve this elusive problem.

Platforms tested: sleipnir and fuss.  Only sleipnir is concerned.

Misc. update:
2005-01-13 17:01:52 -05:00
Raymond Lu
524830d67e [svn-r9814] Purpose: Bug fix
Description:  the last 2 bytes of mantissa can be lost when converting from unsigned long long
to long double.  In last check-in, a fix was made to ignore that precision loss.  But sometimes,
the last 2 bytes are rounded up to the 3rd last byte.

Solution:  Ignore the 3rd last byte, too, when comparing values.

Platforms tested: sleipnir - only this system is concerned.
2005-01-12 15:40:36 -05:00
Raymond Lu
a985c4c525 [svn-r9807] Purpose: bug fix
Description: For FreeBSD (sleipnir), when GNU compilers do conversion from
unsigned long long to long double, the last 2 bytes of mantissa are lost.
The impact of precision loss isn't significant.

Solution:  Detect this case on FreeBSD in configure, ignore it in dtypes.c
test instead of return failure.

Platforms tested: sleipnir, fuss, modi4.  These systems are mainly concerned.
2005-01-11 13:17:01 -05:00
Quincey Koziol
76ba1a99d3 [svn-r9805] Purpose:
Code cleanup

Description:
    Remove obsolete support for Watcom C compiler.

Platforms tested:
    None - too minor to require any.
2005-01-11 10:43:13 -05:00
John Mainzer
7092659dfa [svn-r9790] Purpose:
Reduce run time of daily tests.


Description:

cache, the test program for the metadata cache has been taking a while
to execute.


Solution:

As a short term "fix", I have commented out all but one of the long
running test functions.  Of course that means that we aren't running
these tests at present.  I'm not sure that this is a good idea.


Platforms tested:

Serial on Heping.


Misc. update:
2005-01-10 12:41:36 -05:00
Raymond Lu
7faa297ea6 [svn-r9783] Purpose: Bug fix
Description: For HP-UX 11.00, the compiler generates 'floating exception'
when converting 'long double' to most of integer types.

Solution: Define a macro for all other systems except HP-UX 11.00.  Hard set
this macro to 'no' in config/hpux11.00 to skip this test for HP-UX 11.00.

Platforms tested:  modi4, kelgia, fuss
2005-01-08 15:56:12 -05:00
Quincey Koziol
0977cfecd9 [svn-r9780] Purpose:
Bug fix

Description:
    Print the thread ID in a little more portable of a fashion, disallowing
negative thread IDs.

Platforms tested:
    Linux 2.4 (heping) w/threadsafe
    Too Minor to require h5committest
2005-01-08 10:26:31 -05:00
Quincey Koziol
3e582deaae [svn-r9778] Purpose:
Remove feature

Description:
    Retire threaded, balanced binary tree code from HDF5 use.  Requiescat in
    pace...

    Also, regenerate dependencies files.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    Too minor to require full h5committesting  (the code is already
    disconnected from everything except its tests)
2005-01-07 21:06:46 -05:00
Raymond Lu
9dbf9e9e76 [svn-r9777] Purpose: Bug fix
Description:  Windows .NET 2003 can't handle float(double)->long_long hardware conversion.
While the problem hasn't been determined, we temporarily disable that test by using a
condition macro.  Let Windows define that macro.  Other systems don't have it defined.


Platforms tested:  mir and eirene.
2005-01-07 15:30:23 -05:00
Raymond Lu
9aa2ed3a52 [svn-r9774] Purpose: Bug fix
Description:  integer->long double conversion test failed on some of Linux
systems(mir and eirene) when Intel compiler is used.  I'm not able to repeat
the problem.  So I just made a best guess and fix it.  The problem is minor.
The long double on Linux is 12 bytes long but precision is 10 bytes.  The
unused 2 bytes may have garbage in them causing value comparison wrong.


Platforms tested: mir and eirene with Intel compiler.
2005-01-07 13:40:33 -05:00
Raymond Lu
78293f94d7 [svn-r9767] Purpose: Bug fix
Description:  2 small things to correct:
1.  the change in H5config.h.in was wept out by a later change.
2.  long long isn't supported on Windows.  It's long_long instead.


Platforms tested:  fuss(linux 2.4)
2005-01-06 18:06:34 -05:00
Quincey Koziol
e9109df3f2 [svn-r9764] Purpose:
New feature

Description:
    Add some additional features to the skip list code that was needed to
fully support all the features that the threaded, balanced binary tree code
has.

    Also, updated the property list code to take advantage of a few of the
new features.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Too minor to require h5committest
2005-01-06 17:30:10 -05:00
Xiaowen Wu
a43bce5d04 [svn-r9756]
Purpose:
For debugging N-bit filter; it will not affect the library.

Description:
Adding N-bit tests, the library will not run those tests.

Solution:

Platforms tested:

heping(Linux 2.4), copper(AIX 5.1),arabica(sol 2.7)
Misc. update:
2005-01-06 13:27:26 -05:00
Raymond Lu
82f6a72ec9 [svn-r9755] Purpose: New feature
Description:  Start to support software conversion between long double and
all integers.

Solution:  No major changes to the algorithm.  Changes to configure is to
exclude SGI for long double to integers test because there're too many problems
in their compiler.

Platforms tested:  h5committest, modi4, fuss, Teragrid, arabica

Misc. update:  RELEASE.txt
2005-01-06 13:17:59 -05:00
Quincey Koziol
03edfaa6e9 [svn-r9753] Purpose:
Small bug fix

Description:
    Patch szip_can_encode() test routine to return a value for all code paths.

Platforms tested:
    None - very, very minor
2005-01-06 12:20:14 -05:00
Quincey Koziol
7fae6be03c [svn-r9734] Purpose:
Code cleanup

Description:
    Convert chunk iteration code to use skip lists instead of threaded, balanced
binary trees.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel & szip
    Too minor to require h5committest
2004-12-30 11:26:45 -05:00
Quincey Koziol
a56a1205d2 [svn-r9732] Purpose:
Bug fix

Description:
    szip tests were failing due to a few "H5_SZIP_CAN_ENCODE" ifdefs still
lying around in the source code.

Solution:
    Eliminate compile time testing by using new SZ_encoder_enabled() routine
at run time.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/szip
2004-12-30 09:52:51 -05:00
Quincey Koziol
11631664fd [svn-r9730] Purpose:
Code cleanup (sorta)

Description:
    Transition the generic property list code from using the threaded, balanced
binary tree code (H5TB<foo>() routines) to use skip lists (H5SL<foo>() routines)
for internal management of properties, etc.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Too minor to require h5committest
2004-12-30 09:27:29 -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
John Mainzer
5c415042a3 [svn-r9687] Purpose:
Modify the cache code (H5C) to support automatic cache resizing to
adapt to the work load at run time.


Description:

   Different applications require different sized caches to maintain
an acceptable hit rate.  This set of changes attempts to provide the
ability to adjust to circumstances automatically.


Solution:

   Added highly configurable code to allow the user to either set a
fixed cache size, or allow the cache to grow and shrink according to
conditions.

   If enabled, cache size increases are triggered when the hit rate
drops below a user specified threshold in a user specified interval.

   Cache size reductions (if enabled) are triggered when either the
hit rate exceeds some user specified threshold over a user specified
interval, when the cache contains "enough" entries that haven't been
accessed for a user specified interval, or some mix of the above.

   See the header comments on the H5C_auto_size_ctl_t structure in
H5Cprivate.h for further details.

   At present, the cache resize configuration options are not
accessible via the user API.  Must add this.


Platforms tested:

   h5committested, heping (serial), and copper (parallel)


Misc. update:
2004-12-17 20:30:34 -05:00
Quincey Koziol
aa87029f12 [svn-r9615] Purpose:
New feature

Description:
    Add callback iteration routine to skip lists.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    Too minor to require h5committest
2004-12-03 22:36:08 -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
Quincey Koziol
5d104d60c9 [svn-r9601] Purpose:
New feature

Description:
    Allow skip list keys to be strings (needed for property list support)

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Too minor to require h5committest
2004-11-29 23:42:40 -05:00
Quincey Koziol
73df82dcdf [svn-r9598] Purpose:
New internal feature

Description:
    Add a "release" routine to the skip lists, which releases all the nodes
in the skip list, but keeps the skip list active.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Linux 2.4 (verbena)
    Too minor to require h5committest
2004-11-29 16:01:20 -05:00
Quincey Koziol
51ed85b277 [svn-r9596] Purpose:
Code optimization

Description:
    Retarget metadata cache code from using TBBT routines to using new skiplist
routines, for a reasonable speedup (when dealing with dirty metadata)

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    Solaris 2.7  (arabica)
    Too minor to require h5committest
2004-11-29 14:55:18 -05:00
Quincey Koziol
b52107a42a [svn-r9580] Purpose:
Add new internal data structure

Description:
    Add an implementation of skip lists to the library (see comment in
src/H5SL.c for references to the papers describing them) as a potential
replacement for our current threaded, balanced binary tree container.
Skip lists are much simpler to implement and should be faster to use.

    Also, added new error codes to release branch, so bump the minor version
number to indicate that the library is no longer perfectly compatible with
the 1.6.3 release.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    Solaris 2.7 (arabica)
    Too minor to require further testing (the skip lists aren't actually
    used by any library code yet)
2004-11-27 11:07:11 -05:00
Quincey Koziol
ac4e04fbc2 [svn-r9567] Purpose:
Cleanup & add test

Description:
    Clean up test makefile a bit and add metadata cache test to 1.6 branch.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Too minor to require h5committest
2004-11-23 22:15:27 -05:00
Raymond Lu
7016b6e5ed [svn-r9539]
Purpose:  Correction to previous bug fix.  This checkin is mainly to let user
test his program.

Description:   For family driver bug(#213), the previous fix was imperfect.  The problem
was when user create family file, the member size information wasn't saved in file.  When
the file was re-opened, the library simply use the size of 1st member file as member size.

Solution:
              When file is re-opened, member size passed in from access property
              is checked to see if it's reasonable.  If there is only 1 member
              file, member size can't be smaller than current member size.
              If there are at least 2 member files, member size can only be equal
              to the 1st member size.

Platforms tested:  h5committest and fuss
2004-11-18 11:52:12 -05:00
Raymond Lu
22a72b911e [svn-r9531] Purpose: Bug fix(#213)
Description:  H5Pset_fapl_family sets family member size only for creating
new file.  The file doesn't keep this size information.  When the file is
re-opened, the size of first member file is used as the member size.

Solution:  Assume user knows the original member size and sets it through
H5Pset_fapl_family.  That will be the member size.  User can pass in value 0
as member size if he doesn't know the original member size.  Library will
choose the size of current first member size as the member file size.

Platforms tested: h5committest and fuss.
2004-11-16 11:38:28 -05:00
Quincey Koziol
8d422da811 [svn-r9526] Purpose:
Bug fix, sorta.

Description:
    Revert change to H5Pget_data_transform() which changed len of buffer
returned to be inconsistent with H5Iget_name(), etc.  We should discuss this
change and apply it to all the similar functions if we decide to change the
return value.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Too minor to require h5committest
2004-11-12 09:16:58 -05:00
Leon Arber
091fbb49e0 [svn-r9518] Purpose:
New tests

Description:
Added tests for chunked reads/writes.

Platforms tested:
eirene + sol + copper

Misc. update:
2004-11-11 12:15:33 -05:00
Leon Arber
9268be2d0d [svn-r9501] Purpose:
Code clean-up

Description:
Rewrote code to make it simpler.

Added more data type tests

Solution:
Simplified code a lot in preparation for addition of new test cases.


Platforms tested:
heping + sol + copper
2004-11-03 12:28:26 -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
Quincey Koziol
17fec21284 [svn-r9486] Purpose:
Code cleanup

Description:
    Change loops for comparing results to use 2-D array lookups, since that's
what we've really got and the older 1-D array lookups was making the PGI C
compiler whine about array bounds issues.

Platforms tested:
    Linux 2.4 (heping) w/PGI C
    Not relevent to other platforms, no h5committest
2004-10-28 22:32:24 -05:00
Quincey Koziol
c274ffe1c9 [svn-r9466] Purpose:
Bug fix

Description:
    Clean up potential buffer overflow in strncpy()

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Too minor to require h5committest
2004-10-26 21:12:02 -05:00
Leon Arber
22696535f5 [svn-r9464] Purpose:
Bug fix.

Description:
dtransform test still failed on windows because it was attempting to create a
ullong dataset.

Solution:
Removed creation of ullong dataset as well if H5_ULLONG_TO_FP_CAST_WORKS was
not defined.

Platforms tested:
windows
2004-10-26 16:48:15 -05:00
Leon Arber
1a869e39dc [svn-r9463] Purpose:
Bug fix.

Description:
unsigned long long test fails on windows because windows cannot convert from
ullong to double

Solution:
Skip unsigned long long test if H5_ULLONG_TO_FP_CAST_WORKS is not defined.

Platforms tested:
eirene and will do windows test asap.
2004-10-26 16:04:31 -05:00
Leon Arber
4c8429e3d2 [svn-r9462] Purpose:
Added tests
Code cleanup

Description:
New tests added for new version of H5Pget_data_transform and additional tests
to make sure that error conditions are handled properly by both
H5Pset_data_transform and H5Pget_data_transform.

Also cleaned up code to make it more compact.

Platforms tested:
sol + eirene + copper

Misc. update:
2004-10-26 15:47:22 -05:00
Quincey Koziol
3b63db5f7f [svn-r9459] Purpose:
Code cleanup

Description:
    Clean up minor warnings and align with release branch.


Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel & FPH5
    Solaris 2.7 (arabica) w/production mode
    Linux 2.4 (heping) w/C++ and FORTRAN
2004-10-26 15:07:10 -05:00
Albert Cheng
06a81051f0 [svn-r9450] Purpose:
"Improvement"?

Description:
Long double is a standard C89 type.  Promoted it from
a conditional tested type to an assumed supported type.

Platforms tested:
H5committested.

Misc. update:
2004-10-22 16:11:16 -05:00
Raymond Lu
cacc8fa4c6 [svn-r9445] Purpose: Bug fix
Description:  "char" was considered as always "signed char" in data type conversion.  However, ISO C leaves
the definition of "char" to individual implementation.  i.e. for IBM AIX C compiler, it's treated as "unsigned
char".

Solution: Changed all "char" to "signed char".  Don't even do "char" anymore because its definition is up
to each vendor.

Platforms tested:  h5committest
2004-10-21 11:04:08 -05:00
Leon Arber
b7a3a55b77 [svn-r9442] Purpose:
Add code more code to test H5Pget_data_transform and H5Pset_data_transform

Description:
Added a test to verify that H5Pset_data_transform will correctly replace a
data transform with a new one and properly use the new transform on the data.

Added a test to verify that H5Pget_data_transform properly returns the
transform string.

Platforms tested:
sol + eirene + copper

Misc. update:
2004-10-20 16:09:54 -05:00
Quincey Koziol
a4c0ed0374 [svn-r9433] Purpose:
Bug fix

Description:
    Fix core dump when flushing a file with a newly created attribute which
hasn't had a value written to it still open.

Solution:
    Write the attribute fill value when appropriate.

Platforms tested:
    FreeBSd 4.10 (sleipnir)
    Linux 2.4 (verbena)
    Solaris 2.7 (arabica)
2004-10-18 22:31:11 -05:00
Leon Arber
4f846baa4a [svn-r9432] Purpose:
Skip test.

Description:
Known failure in char and schar types for dtransform test on AIX and SGI.

Solution:
Temporary skip this test until bug is fixed.

Platforms tested:
copper (minor change)
2004-10-18 17:54:55 -05:00
Leon Arber
b6fa15d1bb [svn-r9431] Purpose:
Bug fix.

Description:
If a subtest failed, the error would not propogate properly to the main
function, thereby resulting in a succesful run, even though the test failed.

Solution:
Fixed error return values.  The dtransform test will now fail for real.

Platforms tested:
sol + eirene + copper
2004-10-18 17:47:53 -05:00
Albert Cheng
1de960855f [svn-r9427] Purpose:
Bug fix.

Description:
AIX defines different sizes of the signed and unsigned int_fast8_t.
Changed the code to check each type individually and do not verify
they must be the same size.

Platforms tested:
Tested in copper only since the change is trivial.

Misc. update:
2004-10-14 16:25:59 -05:00
Leon Arber
841a072c93 [svn-r9423] Purpose:
Description:
Make the test check transforms on all types, and expanded testing for unsigned types.

Solution:

Platforms tested:
sol + eirene
2004-10-14 14:56:27 -05:00
Albert Cheng
a7073e240e [svn-r9420] Bug fix.
tconfig.c:
    Verified only the unsigned int types and did not detect inconsistencies
    on signed type such as int_fast16_t.
    Changed code to verify both signed and unsigned int types wherever
    applicable.  It also depends on signed and unsigned forms of an
    int type must be of the same sizes.

testhdf5.c:
    Shorten the configure test name to 'config'--easier to type.

Tested on LLNL Frost and Snow.  Will test in Copper after commit.
2004-10-14 14:12:44 -05:00
Albert Cheng
7d1bf17b3d [svn-r9419] Bug fix.
tconfig.c:
    Verified only the unsigned int types and did not detect inconsistencies
    on signed type such as int_fast16_t.
    Changed code to verify both signed and unsigned int types wherever
    applicable.  It also depends on signed and unsigned forms of an
    int type must be of the same sizes.

testhdf5.c:
    Shorten the configure test name to 'config'--easier to type.

Tested on LLNL Frost and Snow.  Will test in Copper after commit.
2004-10-14 14:12:44 -05:00
Quincey Koziol
e1c1f5cc15 [svn-r9395] Purpose:
Bug fix

Description:
    Correct a couple of array bounds issues exposed by the PGI compiler

Platforms tested:
    Linux 2.4 (verbena) w/PGI compilers
    Too minor too requie h5committest
2004-10-10 14:22:03 -05:00
Quincey Koziol
166580844b [svn-r9393] Purpose:
Code cleanup

Description:
    Clean up formatting and some mis-casts, etc.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Linux 2.4 (verbena)
    Solaris 2.7 (arabica)
2004-10-08 23:28:33 -05:00
Leon Arber
5d9f7ebd4c [svn-r9369] Purpose:
Added tests for most of the types that were added to the data transform code.

Further tests will also be added shortly.


Platforms tested:
sol + eirene

Misc. update:
2004-10-05 17:44:17 -05:00
Raymond Lu
d595bab80e [svn-r9366]
Purpose:  feature change

Description:  Prevent creating datatype of size 0.


Platforms tested:  fuss(simple change)
2004-10-05 13:36:03 -05:00
Raymond Lu
7ba45c05b3 [svn-r9364]
Purpose:  change feature

Description:  Back up support bitfield and time datatypes in H5Tget_native_type.Leave it to future support.  Let it return "not supported" error message for
now.


Platforms tested:  h5committest and fuss.

Misc. update:  RELEASE.txt
2004-10-05 09:31:14 -05:00
Raymond Lu
753190f8c1 [svn-r9350] *** empty log message *** 2004-10-01 13:28:18 -05:00
James Laird
5c0011a713 [svn-r9329]
Purpose:
Feature

Description:
Datatypes and groups now use H5FO "file object" code that was previously
only used by datasets.  These objects will hold a file open if the file
is closed but they have not yet been closed.  If these objects are unlinked
then relinked, they will not be destroyed.  If they are opened twice (even
by two different names), both IDs will "see" changes made to the object
using the other ID.
When an object is opened using two different names (e.g., if a dataset was
opened under one name, then mounted and opened under its new name), calling
H5Iget_name() on a given hid_t will return the name used to open that hid_t,
not the current name of the object (this is a feature, and a change from the
previous behavior of datasets).

Solution:
Used H5FO code that was already in place for datasets.  Broke H5D_t's, H5T_t's,
and H5G_t's into a "shared" struct and a private struct.  The shared structs
(H5D_shared_t, etc.) hold the object's information and are used by all IDs
that point to a given object in the file.  The private structs are pointed
to by the hid_t and contain the object's group entry information (including its
name) and a pointer to the shared struct for that object.
This changed the naming of structs throughout the library (e.g., datatype->size
is now datatype->shared->size).  I added an updated H5Tinit.c to windows.zip.

Platforms tested:
Visual Studio 7, sleipnir, arabica, verbena

Misc. update:
2004-09-28 14:04:19 -05:00
Quincey Koziol
3f2fb8bed1 [svn-r9322] Purpose:
Bug fix

Description:
    Fix situation where deleting a chunked datasets with B-tree nodes that
weren't in the metadata cache would die with a core dump.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Linux 2.4 (heping)
    Solaris 2.7 (arabica)
2004-09-27 13:06:11 -05:00
Quincey Koziol
9fc48a0097 [svn-r9312] Purpose:
Bug fix.

Description:
    Allow I/O to occur on 0 element selections.

Platforms tested:
    h5committest
2004-09-22 22:05:15 -05:00
Albert Cheng
0a69acf992 [svn-r9298] Purpose:
Bug fix.

Description:
the Data transformation code that failed when a data transform property
for simple expression is fixed.  Turned the tests back on.

Platforms tested:
Tested in copper (pp) where the failure appeared.  Also in eirene
as double check.  No h5committest as the change is trivial.
2004-09-21 20:19:54 -05:00
Albert Cheng
68f16ab5fa [svn-r9272] Purpose:
Bug fix.

Description:
THe trivial transform property list creation triggered a code
error.  Skip these two tests temporary.  Will fix it later.

Platforms tested:
Copper where it exposed the failures.

Misc. update:
2004-09-17 18:56:57 -05:00
Leon Arber
5075bb85d7 [svn-r9268] Purpose:
Added tests for polynomial transforms.

Platforms tested:
sol + eirene

Misc. update:
2004-09-16 13:12:19 -05:00
Quincey Koziol
ad9617109e [svn-r9261] Purpose:
Code cleanup

Description:
    Remove some test files generated from new tests.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Too minor to require h5committest
2004-09-15 00:04:54 -05:00
Quincey Koziol
eb3e9ccd8a [svn-r9234] Purpose:
Code cleanup

Description:
    Tweak recent "forward compatibility" changes to the H5E* API (which allowed
for the old H5E API functions to remain unchanged) by allowing for the error
stack callback function (H5E_auto_t) to also remain unchanged from the 1.6
branch.  This required changing the H5E{get|set}_auto routines to have the
old style H5E_auto_t type (which didn't have a stack ID parameter) and the new
H5E{get|set}_auto_stack routines to have a newer "H5E_auto_stack_t" type (which
has a stack ID parameter).  This should make the H5E API changes as forwardly
compatible as possible.
    One side-affect of this change was that it was impossible to determine if
the current auto error callback was the old style (H5E_auto_t) or the new style
(H5E_auto_stack_t) of callback, so a new API function (H5Eauto_is_stack) was
adde to query this.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    IRIX64 6.5 (modi4)
    h5committest
2004-09-08 21:37:02 -05:00
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