Commit Graph

270 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Albert Cheng
f5c24bc9a4 [svn-r10130] Purpose:
Retired GASS driver.

Platforms tested:
H5committested.
2005-03-03 13:10:16 -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
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
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
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
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
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
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
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
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
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
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
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
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
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
James Laird
a0c466cd99 [svn-r8877]
Purpose:
Bug Fix

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

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

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


Solution:

Platforms tested:

Misc. update:
2004-07-14 14:34:24 -05:00
John Mainzer
c49dd7fa36 [svn-r8791] Purpose: Rewrote metadata cache (H5AC.c, etc.) to improve performance.
Description:

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

Solution:

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

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

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


Platforms tested:

eirene (serial, parallel, fp), h5committested


Misc. update:
2004-07-02 14:35:04 -05:00
Raymond Lu
358b8545dd [svn-r8765] Purpose: New feature and its test.
Description:  Added new API H5Fget_name and new test program called filename.c.  This function
returns the name of the file by object ID(file, group, dataset, named datatype, and attribute)
which belongs to the file.


Platforms tested:  h5committest and fuss.

Misc. update:  MANIFEST and RELEASE.txt
2004-06-30 08:45:07 -05:00
Raymond Lu
a89057a2cd [svn-r8741] *** empty log message *** 2004-06-24 17:20:08 -05:00
Quincey Koziol
19644d7593 [svn-r8730] Purpose:
Code cleanup

Description:
    Add more testfiles to the "clean" targets

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    h5committest
2004-06-23 10:31:06 -05:00
James Laird
f249eed71d [svn-r8707] Changed the way HDF5 handles hid_t's and added API functions to allow users to register IDs and ID types at runtime. 2004-06-18 11:56:04 -05:00
Quincey Koziol
958d370d13 [svn-r8655] Purpose:
Code cleanup

Description:
    Add more files that should be removed to the clean & distclean targets.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Too minor to require h5committest
2004-06-11 09:02:48 -05:00
Albert Cheng
0c6229a68d [svn-r8479] Purpose:
New Feature

Description:
Add the data transform function, H5Pset_transform().

Platforms tested:
"h5committested".
Copper was down.  Ran parallel tests in sol instead.

Misc. update:
2004-05-03 18:34:42 -05:00
Albert Cheng
b45703bf89 [svn-r8274] Purpose:
Code cleanup.

Description:
The routines residing in testframe.c was defined in testhdf5.h due to
historical reason.  It really belongs to h5test.h because those routines
reside in libh55test.a.

Solution:
Moved them to the right place.  Also removed the duplicated occurance
of testframe.c in the TEST_SRC.

Platforms tested:
Tested in o2 (SGI) parallel.
2004-03-22 23:43:12 -05:00
Quincey Koziol
00edaf52c5 [svn-r8053] Purpose:
Bug fix

Description:
    Correct two problems with variable-length datatypes in datasets:
        - When overwriting an entire dataset, writing the fill value to the
            file would be skipped, causing problems for VL datatypes when
            objects in the file had been unlinked (and thus the space in the
            file was not all zeros)
        - When an application has set a fill-value for a dataset and the
            dataset's datatype contained a VL datatype, the library was filling
            space on disk with the memory form of the VL information, instead
            of the disk form.


Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2004-01-13 13:00:59 -05:00
Quincey Koziol
987f5d5e4d [svn-r8048] Purpose:
Code cleanup & reorganization

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

Platforms tested:
    FreeBSD 4.9 (sleipnir) w & w/o thread-safety, c++ & parallel
    h5committested
2004-01-09 20:41:13 -05:00
Quincey Koziol
ce2b03097b [svn-r8022] Purpose:
Code cleanup

Description:
    Refactor library testing framework (used for the testhdf5 & ttsafe tests)
to remove almost all of the duplicated code, moving the common code into a
new 'testframe.c' source file.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w & w/o thread-safety
    h5committest
2004-01-06 12:53:13 -05:00
Raymond Lu
54540e224d [svn-r7869] *** empty log message *** 2003-11-21 12:07:44 -05:00
Quincey Koziol
bbe23c026f [svn-r7786] Purpose:
Code cleanup & add a feature

Description:
    Added support for querying the file ID of named datatypes to new
H5Iget_file_id function.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2003-10-29 13:27:37 -05:00
Bill Wendling
4ded0a4fa7 [svn-r7772] Purpose:
Very trivial fix

Description:
    Removed spaces from file that was causing pmake to issue a warning.

Platforms tested:
    Modi4

Misc. update:
2003-10-28 12:58:52 -05:00
Raymond Lu
9db7c79487 [svn-r7522] *** empty log message *** 2003-09-29 15:19:02 -05:00
Raymond Lu
21ffbeda9e [svn-r7513] Purpose: Disable Error API test
Description: The error test script compares the error messages to the standard
    output.  The file names and line numbers in the messages can be different
    for users.

Solution: Temporarily disable the test until find a good solution.

Platforms tested: None.  Disabling a test.
2003-09-25 10:16:03 -05:00
Raymond Lu
7e79a8d71e [svn-r7507] *** empty log message *** 2003-09-24 14:26:50 -05:00
Quincey Koziol
a3888a3b00 [svn-r7426] Purpose:
Bug fix

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

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

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest
2003-08-28 11:02:21 -05:00
Quincey Koziol
f29e3e1097 [svn-r7362] Purpose:
Bug fix

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

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committested
2003-08-14 07:18:34 -05:00
Quincey Koziol
b7dbfc3796 [svn-r7243] Purpose:
Bug fix

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

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest
2003-07-21 08:54:23 -05:00
Raymond Lu
2a5bb6c896 [svn-r7206] Purpose: Update for new error test program
Description: added new error test.


Platforms tested: RH 8.
2003-07-10 15:08:37 -05:00
Quincey Koziol
f3999dd430 [svn-r6870] Purpose:
New test

Description:
    Added test to check for dangling objects being handled correctly by the
library.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committested
2003-05-13 15:07:05 -05:00
Albert Cheng
a072be18b7 [svn-r6525] Purpose:
New test feature

Description:
Added the VFD_LIST definition to support the "make check-vfd" tests.

Platforms tested:
h5committested.
Since check-vfd is not invoked by default, I went to each machine
to invoke them by hand.  The target worked fine but there were
errors reported from those driver tests.  (Those errors were beyond
the scope of this make target test.)

Misc. update:
2003-03-26 19:15:29 -05:00
Quincey Koziol
474a1434bd [svn-r6436] Purpose:
New internal feature

Description:
    Add internal API for building and working with heaps (H5HP).  This will be
    used for the LRU algorithm in the new metadata cache code.

Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}
    FreeBSD 4.7 (sleipnir)
2003-02-24 15:25:13 -05:00
Quincey Koziol
a6542d06b1 [svn-r6330] Purpose:
Bug Fix

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

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

Platforms tested:
    FreeBSD 4.7 (sleipnir)
2003-01-24 13:09:57 -05:00
Quincey Koziol
9a433b99a5 [svn-r6252] Purpose:
Lots of performance improvements & a couple new internal API interfaces.

Description:
    Performance Improvements:
        - Cached file offset & length sizes in shared file struct, to avoid
            constantly looking them up in the FCPL.
        - Generic property improvements:
            - Added "revision" number to generic property classes to speed
                up comparisons.
            - Changed method of storing properties from using a hash-table
                to the TBBT routines in the library.
            - Share the propery names between classes and the lists derived
                from them.
            - Removed redundant 'def_value' buffer from each property.
            - Switching code to use a "copy on write" strategy for
                properties in each list, where the properties in each list
                are shared with the properties in the class, until a
                property's value is changed in a list.
        - Fixed error in layout code which was allocating too many buffers.
        - Redefined public macros of the form (H5open()/H5check, <variable>)
            internally to only be (<variable>), avoiding innumerable useless
            calls to H5open() and H5check_version().
        - Reuse already zeroed buffers in H5F_contig_fill instead of
            constantly re-zeroing them.
        - Don't write fill values if writing entire dataset.
        - Use gettimeofday() system call instead of time() system when
            checking the modification time of a dataset.
        - Added reference counted string API and use it for tracking the
            names of objects opening in a file (for the ID->name code).
        - Removed redundant H5P_get() calls in B-tree routines.
        - Redefine H5T datatype macros internally to the library, to avoid
            calling H5check redundantly.
        - Keep dataspace information for dataset locally instead of reading
            from disk each time.  Added new module to track open objects
            in a file, to allow this (which will be useful eventually for
            some FPH5 metadata caching issues).
        - Remove H5AC_find macro which was inlining metadata cache lookups,
            and call function instead.
        - Remove redundant memset() calls from H5G_namei() routine.
        - Remove redundant checking of object type when locating objects
            in metadata cache and rely on the address only.
        - Create default dataset object to use when default dataset creation
            property list is used to create datasets, bypassing querying
            for all the property list values.
        - Use default I/O vector size when performing raw data with the
            default dataset transfer property list, instead of querying for
            I/O vector size.
        - Remove H5P_DEFAULT internally to the library, replacing it with
            more specific default property list based on the type of
            property list needed.
        - Remove redundant memset() calls in object header message (H5O*)
            routines.
        - Remove redunant memset() calls in data I/O routines.
        - Split free-list allocation routines into malloc() and calloc()-
            like routines, instead of one combined routine.
        - Remove lots of indirection in H5O*() routines.
        - Simplify metadata cache entry comparison routine (used when
            flushing entire cache out).
        - Only enable metadata cache statistics when H5AC_DEBUG is turned
            on, instead of always tracking them.
        - Simplify address comparison macro (H5F_addr_eq).
        - Remove redundant metadata cache entry protections during dataset
            creation by protecting the object header once and making all
            the modifications necessary for the dataset creation before
            unprotecting it.
        - Reduce # of "number of element in extent" computations performed
            by computing and storing the value during dataspace creation.
        - Simplify checking for group location's file information, when file
            has not been involving in file-mounting operations.
        - Use binary encoding for modification time, instead of ASCII.
        - Hoist H5HL_peek calls (to get information in a local heap)
            out of loops in many group routine.
        - Use static variable for iterators of selections, instead of
            dynamically allocation them each time.
        - Lookup & insert new entries in one step, avoiding traversing
            group's B-tree twice.
        - Fixed memory leak in H5Gget_objname_idx() routine (tangential to
            performance improvements, but fixed along the way).
        - Use free-list for reference counted strings.
        - Don't bother copying object names into cached group entries,
            since they are re-created when an object is opened.

        The benchmark I used to measure these results created several thousand
        small (2K) datasets in a file and wrote out the data for them.  This is
        Elena's "regular.c" benchmark.

        These changes resulted in approximately ~4.3x speedup of the
        development branch when compared to the previous code in the
        development branch and ~1.4x speedup compared to the release
        branch.

        Additionally, these changes reduce the total memory used (code and
        data) by the development branch by ~800KB, bringing the development
        branch back into the same ballpark as the release branch.

        I'll send out a more detailed description of the benchmark results
        as a followup note.

    New internal API routines:
        Added "reference counted strings" API for tracking strings that get
            used by multiple owners without duplicating the strings.
        Added "ternary search tree" API for text->object mappings.

Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}
    Other platforms/configurations tested?
        FreeBSD 4.7 (sleipnir) serial & parallel
        Solaris 2.6 (baldric) serial
2003-01-09 12:20:03 -05:00
Raymond Lu
a9dea215ed [svn-r6060]
Purpose:
    Add new functions
Description:
    add H5Tget_native_type and H5Tis_variable_str.
Platforms tested:
    arabica, eirene, modi4
Misc. update:
    MANIFEST and release_docs/RELEASE updated.
2002-11-06 16:08:45 -05:00
Raymond Lu
3ed57b880a [svn-r6054]
Purpose:
    Makefile update
Description:
    Update Makefile.in to handle more output file for cleanup
Platforms tested:
    arabica
2002-11-05 11:28:58 -05:00
Quincey Koziol
a47135b29e [svn-r5989] Purpose:
Code cleanup

Description:
    Added more test datafiles to clean directive.

Platforms tested:
    FreeBSD 4.6 (sleipnir) w and w/o parallel
    Linux 2.2.x (eirene) w/FORTRAN & C++
    Solaris 2.7 (arabica) w/FORTRAN
    IRIX64 6.5 (modi4) w/FORTRAN & parallel
2002-10-14 14:42:27 -05:00
Raymond Lu
d1e26ae328 [svn-r5951]
Purpose:
    New API functions
Description:
    Added API functions to return pointer to low-level file handle
    (H5Fget_vfd_handle and H5FDget_vfd_handle) and related property list
    setting functions(H5Pset_family_offset and H5Pset_multi_type).
Platforms tested:
    Linux 2.2(eirene), Solaris 2.7(arabica), IRIX64 6.5(modi4)
2002-09-30 11:31:55 -05:00
Pedro Vicente Nunes
7bff4eb559 [svn-r5904]
Purpose:
    Added 'ID to name' support
Description:

    There is a new API function H5Iget_name
    Most of the changes are on H5G.c , regarding the symbol table entry struct H5G_entry_t
    which has 2 new fields 'name' and 'old_name'

    A new private function was introduced H5G_ent_copy, that does a deep copy
    between 2 symbol table entries

    The test file is getname.c


Platforms tested:
    windows 2000, Linux, Solaris
2002-08-28 13:34:12 -05:00
Quincey Koziol
c2869d6a57 [svn-r5895] Purpose:
Code cleanup/More tests

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

Platforms tested:
    FreeBSD 4.6 (sleipnir) w/serial & parallel.  Will be testing on IRIX64
    6.5 (modi4) in serial & parallel shortly.
2002-08-27 08:42:22 -05:00
Quincey Koziol
841ee1c05a [svn-r5875] Purpose:
Additional regression tests & bug fixes

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

    Also, fix case for allocating storage early for chunked datasets

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

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

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

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-06-11 11:03:04 -05:00
Quincey Koziol
44a72a6777 [svn-r5502] Purpose:
Test Bug Fix

Description:
    Under certain [obscure] circumstances, an object header would get paged out
    of the metadata cache, and when it was accessed again and brought back into
    the cache, and immediately had additional metadata added to it (an
    attribute, usually, or perhaps adding an object to a group), and needed to
    be extended with a continuation message, but there was no room in any
    existing object header chunks for the continuation message and an existing
    object header message needed to be moved to the new object header chunk (I
    told you it was obscure :-), the object header message moved to the new
    chunk (not the new metadata being added) would get corrupted. *whew* :-)

Solution:
    Actually copy the "raw" object header message information of the object
    header message being moved to the new chunk, instead of relying on the
    "native" object header message information being re-encoded when the object
    header is flushed.  This is because when an object header is paged out of
    the metadata cache and subsequently brought back in, the "native"
    information pointer in memory is reset to NULL and only the "raw"
    information exists.

    [Actually, this additional testing doesn't trigger the bug, which needs
    _lots_ of objects to be created and accessed, but it does execise the
    object header continuation code more than other tests in the library.]

Platforms tested:
    Solaris 2.7 (arabica) & FreeBSD 4.5 (sleipnir)
2002-05-31 22:11:34 -05:00
Albert Cheng
112fb8d45c [svn-r5257] Purpose:
Bug fix
Description:
    $(LT_RUN) was used to execute ./H5detect in src/Makefile.in.
    $RUNTEST was set to $(LT_RUN) which was used to execute sequential
    executable.  $(LT_RUN) is "../libtool --mode=execute".  But libtool
    invokes some commands that are not supported in the Tflops machine.
    That caused failures during the build and check processes.
Solution:
    Upon investigation, there does not seem to be need to use $(LT_RUN)
    any more.  The "libtool --mode=link" now generates a "fake" executable
    that is actually a command-script file that can regenerate the real
    executable with dynamic libraries hooks setup properly.
    Undo all those $LT_RUN substitute and let $RUNSERIAL execute those
    sequential executables.
Platforms tested:
    Eirene(serial), modi4(parallel)
2002-04-25 09:48:52 -05:00
Quincey Koziol
fa314a767e [svn-r5191] Purpose:
Bug fix

Description:
    When several level deep nested compound & VL datatypes are used, the data
    in the nested compound datatypes is incorrectly sharing the same "background
    buffer", causing data corruption when the data is written to the file.

Solution:
    Allocate a separate background buffer for each level of the nested types
    to convert.  (Also allocate temporary background buffers for array
    datatypes, where this sort of problem could occur also)

    Added more regression tests to check for these errors.

Platforms tested:
    FreeBSD 4.5 (sleipnir) & Solaris 2.6 (baldric)
2002-04-17 11:47:47 -05:00
Pedro Vicente Nunes
4a77525456 [svn-r5177]
Purpose:
    added 2 files to remove by set_extent test
2002-04-12 11:11:15 -05:00
Bill Wendling
6febdcf5fc [svn-r5158] Purpose:
Update
Description:
	Changed set_extend to set_extent to reflect the change in the
	filename...
2002-04-10 10:35:27 -05:00
Quincey Koziol
0cb78c2087 [svn-r5097] Purpose:
Bug Fix

Description:
    Regression test for following bug:

    The H5Gget_objinfo() function was not setting the 'fileno' field in the
    H5G_stat_t struct passed in.

Solution:
    Added a "file serial number" to each file currently open in the library
    and put that in the 'fileno' field.  If a file is opened twice (with
    H5Fopen) and the VFL driver detects that it is the same file (i.e. the
    two file structures have the same "shared file info" in the library's
    memory structures), they will have the same serial number.

    This serial number has two drawbacks:
        - If a VFL driver doesn't/can't detect that two calls to H5Fopen with
            the same file actually _are_ the same file, each will get a
            different serial number
        - If the same file is closed and re-opened, the serial number will be
            different.

    It is be possible to fix the second drawback for many VFL drivers, but it
    would be a lot of effort and probably isn't worth it until we've got a
    good reason to do it.  Dunno if we'll ever be able to fix the first
    drawback...

Platforms tested:
    FreeBSD 4.5 (sleipnir)
VS: ----------------------------------------------------------------------
2002-03-27 15:25:48 -05:00
Bill Wendling
f1bfb5ce8f [svn-r4943] Purpose:
Cleanup
Description:
	Added set_extend.h5 file to the CLEANUP macro in the Makefile so that
	it'll be removed when the other temp files are removed.
Platforms tested:
	Linux
2002-02-12 14:08:10 -05:00
Bill Wendling
f81bca3fc6 [svn-r4942] Purpose:
Feature Add
Description:
	Added set_extend to the MANIFEST and test/ directory Makefile.
2002-02-12 11:20:56 -05:00
Quincey Koziol
f4bc9f929e [svn-r4869] Purpose:
Add regression tests
Description:
    Added regression test for using a VL-datatype in two separate files.
Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-01-27 00:23:11 -05:00
Quincey Koziol
5e7ed206ea [svn-r4851] Purpose:
Bug Fix
Description:
    When file space was returned to the file space free-list for reuse,
    occasionally raw data allocations which used space from the free-list
    would overlap with the metadata accumulator and get over-written with
    the cached information in the accumulator, corrupting the data.
Solution:
    Check if the space about to be recycled on the free-list is going to be
    used for raw data and also overlaps with the metadata accumulator cache,
    avoiding using space that fits those criteria.

    This fixes bug #701

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-01-23 16:28:24 -05:00
Albert Cheng
e22c095636 [svn-r4757] Purpose:
Removing the DPSS (gridstorage) driver source code.
Description:
    The DPSS (using Grid-Storage) driver is retired.
    Removed the configure option with-gridstorage from configure.in.
    Cvs remove the following files
    ./src/H5FDdpss.c
    ./src/H5FDdpss.h
    ./test/dpss_read.c
    ./test/dpss_write.c

    Regenerated Dependencies files (some had to be hand-edited since
    'make depend' did not cover them.)
    Removed reference to DPSS Virtual file driver from H5F.c.
Platforms tested:
    modi4 (Parallel; -with-gass=...), eirene, arabica (fortran, cxx).
2001-12-30 00:23:38 -05:00
Albert Cheng
2612814874 [svn-r4474] Purpose:
New feature.
Description:
    Added a test to verify the correctness of information provided by
    configure in H5config.h.  Some information, such as SIZEOF some
    types can be hardcoded by config/<machine>.  This test verified
    the information is indeed correct.
    Currenly, only size of C language types are verified.
Platforms tested:
    Eirene, regular, arabica.
2001-09-26 00:37:15 -05:00
Albert Cheng
34b8cca115 [svn-r4364] Purpose:
cleanup
Description:
    chunk, iopipe, overhead have been moved to perform/.
Platforms tested:
    eirene(parallel).
2001-08-16 00:27:33 -05:00
Quincey Koziol
bbae8bfdcd [svn-r4281] Purpose:
Additional test
Description:
    Added metadata cache abuser code to the 'timings' target in the tests.
Platforms Tested:
    FreeBSD 4.3 (hawkwind)
2001-07-30 15:03:25 -05:00
Quincey Koziol
7921315a33 [svn-r3304] Purpose:
Code update
Description:
    Remove ragged array code & tests from library before release.
Platforms tested:
    FreeBSD 4.2 (hawkwind)
2001-01-18 18:30:23 -05:00
Quincey Koziol
7a4d4b9aa2 [svn-r2872] Purpose:
Code update
Description:
    Added stub for generic property testing, although it doesn't do anything
    yet.
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-11 19:10:08 -05:00
Quincey Koziol
f178100d14 [svn-r2844] Purpose:
New Feature
Description:
    Added array datatype tests to the regression tests.  These datatype
    combinations are tested currently:
        1-D array of atomic datatypes
        3-D array of atomic datatypes
        array of array of atomic datatypes
        array of compound of atomic datatypes
        array of compound of array datatypes
        array of VL of atomic datatypes
        array of VL of array datatypes

    Also added a test to verify that the older style compound datatype with
    array fields works correctly.
Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-11-09 16:47:59 -05:00
Quincey Koziol
95445613ca [svn-r2699] Purpose:
Bug fix
Description:
    "Time" datatypes (H5T_UNIX_D*) were not being stored and retrieved in
    the datatype object header message correctly.
Solution:
    Store endian-ness and precision in the datatype object header message and
    added test to continue to track them working correctly.

    This fixes bug #512.

Platforms tested:
    FreeBSD 4.1.1 (hawkwind)
2000-10-19 11:42:33 -05:00
Thomas Radke
90a95467e6 [svn-r2561] Purpose:
Add the Stream VFD test program to the 'make check' targets.

Description:
     Added stream_test to the TEST_PROGS variable and a rule to build it.
2000-09-15 06:54:06 -05:00
Bill Wendling
7bedd301a0 [svn-r2539] Removed the -R$(ZLIB_DIR) flag since that is now being taken care of much
more nicely in the config/commence file...
2000-09-12 02:55:38 -05:00
Bill Wendling
32bdf68ff8 [svn-r2529] Added a -R<directory> flag to the LT command line. If we compile with
zlib, and zlib isn't in our LD_LIBRARY_PATH or in a standard system
library place (/usr/lib or /lib), then the tests can't run. This fixes it
if the person configures the source with the flag:

	--with-zlib=/usr/fnord/include,/usr/fnord/lib

This only works if you're pointing to the shared library version in the
above flag...
2000-09-08 18:02:10 -05:00
Chee-Wai Lee
e26f4e5eed [svn-r2264] Added Thread-safe feature. This is the phase 1 implementation
that all HDF5 API functions are protected by a mutex lock. Basically,
serialized all API calls.  To use it, use
configure --enable-threadsafe --with-pthread
2000-05-18 14:13:33 -05:00
Quincey Koziol
04152995a9 [svn-r2222] Added TBBT testing code. 2000-05-08 18:09:09 -05:00
Quincey Koziol
ccca207708 [svn-r2142] Re-added titerate.c to makefile... 2000-04-13 12:03:59 -05:00
Raymond Lu
10a6fb73ee [svn-r2138] Add SRB as a new VFL, these are its testing programs. 2000-04-13 10:17:14 -05:00
Quincey Koziol
1300bf5d8c [svn-r2082] Added additional group & attribute iteration tests. 2000-04-05 15:51:44 -05:00
Raymond Lu
173c0b6fe5 [svn-r1925] DPSS is checked in. 1999-12-21 17:17:55 -05:00
Robb Matzke
eb8747499d [svn-r1802] Changes since 19991019
----------------------

./MANIFEST
./configure.in
./configure			[REGENERATED]
	Added more checking for `make' features.

./Makefile.in
./doc/Makefile.in
./doc/html/Makefile.in
./doc/html/Tutor/Makefile.in
./examples/Makefile.in
./pablo/Makefile.in
./src/Makefile.in
./test/Makefile.in
./testpar/Makefile.in
./tools/Makefile.in
./config/commence.in
./config/conclude.in
./config/depend.in		[REMOVED]
./config/depend1.in		[NEW]
./config/depend2.in		[NEW]
./config/depend3.in		[NEW]
./config/depend4.in		[NEW]
./config/dependN.in		[NEW]
	The directory search stuff was moved into commence.in, thereby
	shortening the Makefile.in prologues.

./doc/html/Dependencies		[NEW]
./doc/html/Tutor/Dependencies	[NEW]
./examples/Dependencies		[NEW]
./src/Dependencies		[NEW]
./test/Dependencies		[NEW]
./testpar/Dependencies		[NEW]
./tools/Dependencies		[NEW]
	The `.distdep' files were all renamed to `Dependencies' to make them
	more obvious. They are required (but may be empty) in every directory
	that has a Makefile.in that ends with @CONCLUDE@ (you'll get an
	obvious error from make if you forgot to create one).

./bin/trace
./src/H5.c
	Added H5E_major_t and H5E_minor_t although tracing only prints the
	integer value.

./src/H5E.c
./src/H5Epublic.h
	Added tracing information.

./src/H5FDcore.c
./src/H5FDfamily.c
./src/H5FDgass.c
./src/H5FDmpio.c
./src/H5FDsec2.c
./src/H5FDstdio.c
	Fixed places where FUNC_LEAVE() evaluated it's argument more than
	once.

	Added tracing information.

	Wrapped long lines.

./config/gnu-flags
	Fixed a syntax error when we don't have a gnu compiler.
1999-11-01 10:21:16 -05:00
Quincey Koziol
523f5cebb2 [svn-r1690] Added VL string test code. 1999-09-28 19:30:47 -05:00
Albert Cheng
06c8da20b1 [svn-r1621] Added GASS driver. Coded by Saurabh Bagchi, bagchi@uiuc.edu.
Minor changes done to test/gass_xxx.c so that they print the
test skip message when GASS driver is not available.

This change is the implementation of GASS within HDF5-1.3 (HDF5 with Virtual
File Layer). The GASS driver gives the facility of accessing HDF files on
remote ftp servers. To use the GASS driver, the option --with-gass=<GASS path>
shoud be specified with configure. An example of the command line used to
test the distribution was:
./configure --disable-shared --without-hdf4
--with-gass=/afs/ncsa/projects/hdf/v5/bagchi/globus/GLB/development/sparc-sun-solaris2.6_nothreads_standard_debug/include,/afs/ncsa/projects/hdf/v5/bagchi/globus/GLB/development/sparc-sun-solaris2.6_nothreads_standard_debug/lib
--disable-parallel

The user should change the path to point to his local GASS installation.

Documentation about the features of GASS and the HDF-GASS design is available
separately and till it is put up on the official web site, anyone interested
may contact me.

Test programs to read, write or append remote files have been provided in the
test directory as "gass_read.c", "gass_write.c", "gass_append.c". The test
programs have the ftp site to access #define-d at the top of the file which
the user can change accordingly.

./src/H5Epublic.
	Added new error type for file close.
./src/H5F.c
	Added hooks for the GASS driver.
./src/H5public.h
	Added header files for GASS & Globus.
./src/Makefile.in
	Added dependancy on GASS driver in LIB_SRC.
./src/hdf5.h
	Included header file for GASS driver.
./src/H5FDgass.c	[NEW]
	Routines for the GASS driver.
./src/H5FDgass.h	[NEW]
	Header file for the GASS driver.

./test/Makefile.in
	Added dependancy on the gass test routines.
./test/gass_read.c
	File to test remote file reading using GASS.
./test/gass_write.c
	File to test remote file writing using GASS.
./test/gass_append.c
	File to test remote file appending using GASS.
1999-08-30 23:55:00 -05:00
Robb Matzke
cc89b8a605 [svn-r1572] Changes since 19990810
----------------------

./MANIFEST
./src/H5FDmulti.c		[NEW]
./src/H5FDmulti.h		[NEW]
./src/Makefile.in
./src/hdf5.h
	The split driver was reimplemented as a more general "multi"
	driver which is capable of splitting data into multiple files
	like the family driver except the partioning is done by memory
	usage type instead of address. The H5Pset_fapl_split()
	function just calls H5Pset_fapl_multi() with arguments which
	prepare to split the address space into two files: meta and
	raw data.

	This is the first version. I plan to allow the open() call to
	relax a bit which would allow one to open an hdf5 file when
	only the meta-data file is present. This would allow a very
	large file to be split and stored on tape and the relatively
	small meta file to be mirrored on disk to allow limited
	browsing of the file (any request for raw data would fail).

./src/H5private.h
./src/H5F.c
./src/H5FD.c
./src/H5FDprivate.h
./src/H5FDpublic.h
./src/H5FDcore.c
./src/H5FDfamily.c
./src/H5FDmpio.c
./src/H5FDsec2.c
	Added the ability for a file driver to store information in
	the superblock which would be needed if the file were opened
	again later for reading.  The format is driver-defined which
	allows users to extend it however they like.

./doc/html/H5.format.html
	Added information about the new driver information block of
	the superblock. This is where file drivers store information
	they need in order to reopen the file later.


./src/H5F.c
./src/H5Fprivate.h
./src/H5FD.c
./src/H5FDprivate.h
./src/H5FDpublic.h
./src/H5FDcore.c
./src/H5FDfamily.c
./src/H5FDmpio.c
./src/H5FDsec2.c
./src/H5Fistore.c
./src/H5R.c
	The file access properties and the file access property list
	were decoupled, which allows the property list to more cleanly
	contain properties for various levels of the file and which
	allows the property list to be modified more cleanly when
	opening files.

./src/H5.c
./src/H5FDpublic.h
	Removed H5FD_MEM_META and H5FD_MEM_GROUP since they're never
	used.

./src/H5D.c
	Changed the way we detect the MPIO driver in all these special
	cases.

./src/H5F.c
./src/H5Rpublic.h
./test/tfile.c
	The default file sizeof(offset) was changed to be a function
	of haddr_t instead of hsize_t.

	THE H5RPUBLIC.H DEFINITIONS WILL HAVE PROBLEMS IF THE USER
	CREATES A FILE WITH NON-DEFAULT OFFSET AND SIZE SIZES!

./src/H5F.c
	Fixed an uninitialized memory access bug in file closing
	related to the VFL.

./src/H5T.c
./src/H5Tpublic.h
	Added an H5T_NATIVE_HADDR predefined datatype which
	corresponds to the `haddr_t' type.

./test/Makefile.in
	Reformatted long lines.

./test/big.c
./test/cmpd_dset.c
./test/dsets.c
./test/dtypes.c
./test/extend.c
./test/external.c
	Removed the H5F_ACC_DEBUG flag from file creation/open calls.

./test/big.c
	Plugged a memory leak.

./test/h5test.c
	Added support for the `multi' driver.

	Removed #warning about not having the stdio driver. Plans are
	to not implement it since the sec2 driver serves the same
	purpose and testing didn't show any difference in execution
	times between the two.
1999-08-17 14:12:59 -05:00
Robb Matzke
6470e417e8 [svn-r1515] Changes since 19990715
----------------------

./Makefile.in		[1.3]
./examples/Makefile.in	[1.3]
./pablo/Makefile.in	[1.3]
./src/Makefile.in	[1.3]
./test/Makefile.in	[1.3]
./testpar/Makefile.in	[1.3]
./tools/Makefile.in	[1.3]
./config/commence.in	[1.3]
./config/conclude.in	[1.3]
./config/depend.in	[1.3]
	Added a `.PATH' target for Irix pmake which is identical to
	the VPATH used by most other `make' programs. Irix 6.5 (or
	6.4?) and later `make' ignores VPATH.

	Started all beginning-of-line comments with `##' instead of
	just `#' because Irix `pmake' barfs on things like the
	following because it sees the `# if' as a directive:

		# make will barf on the following line
		# if running Irix pmake


./config/commence.in	[1.3]
	Added empty definitions for optional `make' macros because
	Irix pmake complains if it sees a macro which has never been
	defined. The main body of the Makefiles can redefine these
	macros to whatever they need.
1999-07-19 14:56:57 -05:00
Quincey Koziol
50133e2ff4 [svn-r1333] Added the test_vltypes() to the other tests. 1999-06-11 17:05:04 -05:00
Robb Matzke
b98fcbf592 [svn-r1306] Changes since 19990602
----------------------

./doc/html/Datatypes.html
./test/dtypes.c
	Added documentation and tests for opaque types.

./tools/h5ls.c
	Added a `-x' or `--hexdump' argument which is not fully
	implemented (because I want to synchronize h5tools.c first)
	but which will eventually print raw data in hexadecimal format
	without any translation from disk. This would be useful for
	debugging references and VL types.

./tools/h5tools.c
	Added support for references (not quite finished yet, but
	compiles -- I wanted to sync up this file before Patrick and I
	got too far apart...)


./src/H5R.c
	Checked for error return value from H5R_get_object_type()

./src/H5A.c
./src/H5D.c
	Changed error return values from NULL to FAIL

./test/Makefile.in
./test/trefer.c
	Creates trefer1.h5 and trefer2.h5 so that the second test
	doesn't clobber the first file since the files might be useful
	for debugging.
1999-06-07 10:05:02 -05:00
Robb Matzke
d6823ceb08 [svn-r1217] Changes since 19990426
----------------------

./config/commence.in
./examples/Makefile.in
./test/Makefile.in
./testpar/Makefile.in
./tools/Makefile.in
	Fixed some dependency problems in Makefiles. If the library
	version is updated then everything gets recompiled.

./src/H5G.c
./src/H5R.c
	Failure return value for object type functions is now
	H5G_UNKNOWN as documented.

./src/H5Shyper.c
./src/H5Spoint.c
	Fixed an unused argument warning.

./tools/h5debug.c
	Fixed a call to H5F_block_read() since the 4th argument is
	different now.

./tools/h5ls.c
	Added a space between the object name and class to make the
	output readable when the object name is longer than 24
	characters.

C
1999-04-26 09:43:53 -05:00
Robb Matzke
43c356f93d [svn-r1184] Changes since 19990402
----------------------

./config/commence.in
./config/conclude.in
./test/Makefile.in
./tools/Makefile.in
	Fixed so private libraries are not installed publicly.

	The installation directories `bin', `include', and `lib' are
	created mode 755.

./src/H5.c
./src/H5A.c
./src/H5F.c
./src/H5Fcore.c
./src/H5Fistore.c
./src/H5Flow.c
./src/H5Fmpio.c
./src/H5Fsec2.c
./src/H5Fstdio.c
./src/H5G.c
./src/H5Gent.c
./src/H5Gnode.c
./src/H5HG.c
./src/H5HL.c
./src/H5O.c
./src/H5Oattr.c
./src/H5Ocomp.c
./src/H5Ocont.c
./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Ofill.c
./src/H5Olayout.c
./src/H5Omtime.c
./src/H5Oname.c
./src/H5Osdspace.c
./src/H5Oshared.c
./src/H5Ostab.c
./src/H5R.c
./src/H5Sall.c
./src/H5Shyper.c
./src/H5Smpio.c
./src/H5Snone.c
./src/H5Spoint.c
./src/H5T.c
./src/H5Tconv.c
./src/H5Vprivate.h
./src/H5Z.c
./src/H5detect.c
./src/H5private.h
./test/chunk.c
./test/dsets.c
./test/dtypes.c
./test/h5test.c
./test/overhead.c
./test/ragged.c
./test/tattr.c
./tools/h5dump.c
./tools/h5findshd.c
./tools/h5ls.c
	Changed `__unused__' to `UNUSED' to fix a conflict with GNU
	header files.

./src/H5Tpkg.h
./test/h5test.h
	Removed __unused__ from forward function declarations.

./src/H5P.c
	Removed a comment about restrictions for the type conversion
	temporary buffers. Thanks to Quincey, the comment no longer
	applied.

./src/H5T.c
	Relaxed the H5Tpack() a little so it would pack compound data
	structures that had non-transient atomic members.

./tools/h5ls.c
	Added a `-g' (or `--group') flag that causes information to be
	printed about the specified group instead of the group's
	contents. (sort of like Unix's `ls -d'). The `-g' can be used
	in combination with `-r' to print information about the group
	and its contents.
1999-04-15 14:57:50 -05:00
Robb Matzke
b93c9e2cf9 [svn-r1151] Changes since 19990318
----------------------

./Makefile.in
./configure.in
./configure		[REGENERATED]
./src/H5config.h.in	[REGENERATED]
./config/commence.in
./config/conclude.in
./config/dec-osf4.x
./config/depend.in
./config/freebsd
./config/linux-gnu
./config/linux-gnulibc1
./config/linux-gnulibc2
./config/solaris2.x
./examples/Makefile.in
./src/Makefile.in
./test/Makefile.in
./testpar/Makefile.in
./tools/Makefile.in
./tools/testh5dump.sh
	Changes that allow hdf5 to be configured and compiled in a
	directory other than the source directory. This is especially
	useful if you want to concurrently compile with different
	compilers and/or compile flags, or if the hdf5 source is on
	read-only media like a CDROM.  The changes were surprisingly
	easy ;-) Here's what you can do now...

		  $ mkdir /tmp/build1  # or something
		  $ cd /tmp/build1
		  $ /cdrom/hdf5/configure # where ever the source is
		  $ make

	Paul, you'll have to change the testh5toh4 script similar to
	the way I changed testh5dump.sh.  I started working on it but
	then gave up because of a number of problems: (1) I had to
	comment out all the tests that let h5toh4 choose the output
	file name because it always tried to put the output file in
	the same directory as the input file, (2) if path names are
	used during the h4 dump then they interfere with the
	diff. The test works fine when run in the source directory,
	but try this instead:

	    $ gunzip <hdf5-1.1.67.tar.gz |tar xf -
	    $ chmod -R ugo-w hdf5-1.1.67
	    $ mkdir build
	    $ cd build
	    $ ../hdf5-1.1.67/configure
	    $ make check

	Dan, I didn't modify the pablo/Makefile.in because I have no
	way to test it. I think all you need to do is add a couple
	lines before the @COMMENCE@ line and add a couple search
	directories for header files. Anyway, it seems like almost an
	exact duplicate of the src/Makefile.in, so it shouldn't be a
	problem...

./Makefile.in
	Removes a few more temporary files during make clean and
	distclean.

./configure.in
	I fixed the creation of the time-stamp files so that the
	initial make doesn't have to regenerated all the makefiles
	(only GNU make users will see any change).

./src/H5R.c
	Changed a return type from `intn' to `int' for an API
	function.

./src/H5detect.c
	Added the volatile qualifier to a couple more variables.

./tools/h5tools.c
	Fixed a compiler warning about an unused local.

./tools/h5toh4.c
	Initialized `optind' to 1 because it's zero on my system. It
	should always be one on a unix system.

./tools/testh5toh4
	Redirected "broken pipe" messages to /dev/null so outut is
	formatted correctly.
1999-03-19 15:09:50 -05:00
Robb Matzke
826dbc8146 [svn-r1149] ./configure.in
./configure		[REGENERATED]
./src/H5config.h.in	[REGENERATED]
./src/H5private.h
	Temporarily commented out the code that tries to link a simple
	MPI-IO application because I'm not sure how to pass $LDFLAGS
	and $LIBS to the compiler.

	Removed the `--enable-parallel=ibm' switch because the library
	we link with is either -lmpcc or -lmpcc_r but not both. The
	only way to tell is to see what compiler was specified (mpcc
	or mpcc_r) but if that compiler is specified then we don't
	need any libraries (the compiler script supplies them). That
	leaves just two choices: the user must use a compiler script:

	    CC=mpcc ./configure

	or the user must state which library is desired:

	    LDFLAGS='-lmpcc' ./configure --enable-parallel

	Checks for <setjmp.h>, longjmp(), and signal(). We don't check
	for setjmp() because it could be a macro (in fact, Posix
	requires it to be a macro) and if longjmp() is present then
	setjmp() is probably present too ;-)

./src/H5detect.c
	The alignment detection loop uses SIGBUS and setjmp/longjmp
	instead of fork/wait in order to get around bugs with forking
	in conjunction with mpich.  This hasn't been tested on the
	SP-2 yet but it does work on the DEC Alpha.

./test/Makefile.in
./testpar/Makefile.in
./tools/Makefile.in
	Changed the order that libraries are linked so -lhdf5 is
	always before $LDFLAGS.
1999-03-18 08:42:52 -05:00
Robb Matzke
ea3624e133 [svn-r1115] Changes since 19990302
----------------------

./INSTALL
./configure.in
./configure		[REGENERATED]
./src/H5config.h.in	[REGENERATED]
	Improvements for parallel library.  If you have a properly
	working mpicc you should be able to just say:

	    $ CC=mpicc ./configure

	and you will see

	    checking for mpirun... /usr/local/mpi/bin/mpirun
	    checking for parallel support files... skipped
	    checking how to run on one processor...
		     /usr/local/mpi/bin/mpirun -np 1
	    checking how to run in parallel...
		     /usr/local/mpi/bin/mpirun -np $$NPROCS

	To quote from the INSTALL file....

	*** Parallel vs. serial library
	The HDF5 library can be configured to use MPI and MPI-IO for
	parallelizm on a distributed multi-processor system. The easy
	way to do this is to have a properly installed parallel
	compiler (e.g., MPICH's mpicc or IBM's mpcc) and supply that
	executable as the value of the CC environment variable:
	[NOTE: mpcc is not tested yet]

	    $ CC=mpcc ./configure
	    $ CC=/usr/local/mpi/bin/mpicc ./configure

	If no such wrapper script is available then you must specify
	your normal C compiler along with the distribution of
	MPI/MPI-IO which is to be used (values other than `mpich' will
	be added at a later date):

	    $ ./configure --enable-parallel=mpich

	If the MPI/MPI-IO include files and/or libraries cannot be
	found by the compiler then their directories must be given as
	arguments to CPPFLAGS and/or LDFLAGS:

	    $ CPPFLAGS=-I/usr/local/mpi/include \
	      LDFLAGS=-L/usr/local/mpi/lib/LINUX/ch_p4 \
	      ./configure --enable-parallel=mpich

	If a parallel library is being built then configure attempts
	to determine how to run a parallel application on one
	processor and on many processors.  If the compiler is mpicc
	and the user hasn't specified values for RUNSERIAL and
	RUNPARALLEL then configure chooses `mpirun' from the same
	directory as `mpicc':

	    RUNSERIAL:    /usr/local/mpi/bin/mpirun -np 1
	    RUNPARALLEL:  /usr/local/mpi/bin/mpirun -np $${NPROCS:=2}

	The `$${NPROCS:=2}' will be substituted with the value of the
	NPROCS environment variable at the time `make check' is run
	(or the value 2).

./testpar/Makefile.in
	Saying `make check' (or `make test') will run the tests on two
	processors by default.  If you define NPROCS then that many
	processors are used instead:

	    $ NPROCS=4 make check

./configure.in
	Fixed (hopefully) bugs with detecting whether __attribute__
	and __FUNCTION__ are special keywords for the compiler.

./Makefile.in
	Saying `make install' from the top level directory shows
	instructions for using shared libraries.

./config/commence.in
./src/Makefile.in
./test/Makefile.in
./testpar/Makefile.in
./tools/Makefile.in
	Moved the @top_srcdir@ into the makefiles because it was
	expanded too early and had the wrong value.

./INSTALL
	Added a warning that if the wrong version of hdf4 tools are
	installed then `make check' will fail in the tools directory.
1999-03-03 18:17:48 -05:00
Robb Matzke
116491f0d6 [svn-r1112] Changes since 19990301
----------------------

./INSTALL
	Reorganized and added some additional examples.

./MANIFEST
./aclocal.m4			[NEW]
./configure.in
./configure			[REGENERATED]
./src/H5config.h.in		[REGENERATED]
./bin/ltconfig			[NEW]
./bin/ltmain.sh			[NEW]
	Added tests to determine how to compile shared libraries and
	how to link programs with them before the libraries are
	installed.  Also how to install and uninstall shared
	libraries. The configure step also prints the names of the
	config files it's trying to load for easier debugging.

./bin/config.guess
./bin/config.sub
	Replaced with a newer version from GNU.  The changes we made
	to that file to report `irix6.x' and `FreeBSD' without version
	numbers have been incorporated into configure.in instead.  In
	the future, do not change these two files (see the top of
	configure.in instead). By the way, this update was required to
	get shared libraries working.

./config/linux			[REMOVED]
./config/linux-gnulibc1		[NEW]
./config/linux-gnu		[NEW]
./config/alpha-dec		[REMOVED]
./config/alpha-dec-osf4.0	[REMOVED]
./config/dec-osf4.x		[NEW]
./config/irix5.3		[REMOVED]
./config/irix5.x		[NEW]
./config/irix64			[REMOVED]
./config/freebsd
	Moved config files around to agree with output from the new
	config.guess.  The linux file was split into gnu (RedHat),
	gnulibc1, and gnulibc2 versions. The alpha-dec file was
	removed (I think it was unused) and the alpha-dec-osf4.0 was
	changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and
	the irix64 file was renamed to irix6.x. The freebsd file was
	changed to point to linux-gnulibc1. These changes were tested
	on:

		Linux 2.0
		Linux 2.1
		FreeBSD 3.2
		Irix 5.3
		Irix64 6.2
		Irix64 6.4
		HP/UX 10.20
		OSF1 4.0

./config/alphaev56-dec-osf4.x
./config/irix64
	Added warnings similar to linux/freebsd about using compilers
	with known bugs.

./config/commence.in
./config/conclude.in
./src/Makefile.in
./test/Makefile.in
./testpar/Makefile.in
./tools/Makefile.in
	Added definitions for shared libraries. This has been tested
	on the following systems:

		Linux 2.0
		Linux 2.1
		FreeBSD 3.2
		Irix 5.3
		Irix64 6.2
		Irix64 6.4
		HP/UX 10.20		static only
		OSF1 4.0

	If you want to disable use of shared libraries (you probably
	do for development purposes since it takes a lot longer to
	compile and because you have to run dynamically linked
	programs in a special way if the library hasn't been
	installed) then add `--disable-shared' to the configure
	command line.  This is all documented in the INSTALL file.

./bin/release
	Temprarily commented out the MANIFEST checking when running
	under svf since svf is about to be replaced by a newer
	version.  This change only affects error checking during the
	release process.

./Makefile.dist
./Makefile.in
	Added `make check' which does the same thing as `make _test'
	since the former is endorsed by the GNU coding style and
	people are used to it.  The old `make _test' still works too
	(and so does `make test' if you use GNU make).
1999-03-02 12:15:35 -05:00
Robb Matzke
4f7e218959 [svn-r1011] Changes since 19981217
----------------------
./test/dtypes.c
./test/enum.c           [NEW]
        Added support for enumeration data types.

./test/fillval.c
./test/istore.c
        Fixed memory leaks during error handling.
1999-01-07 06:42:04 -05:00
Robb Matzke
4354606d1e [svn-r949] Changes since 19981124
----------------------

./src/H5T.c
	Fixed a typo in the registration of the `unsigned char' to
	`unsigned long long' type conversion that caused it to not be
	registered, falling back to software whenever that conversion
	path was taken.

./MANIFEST
./test/Makefile.in
./test/testhdf5.c
./test/testhdf5.h
./test/theap.c		[REMOVED]
./test/lheap.c		[NEW]
./test/tohdr.c		[REMOVED]
./test/ohdr.c		[NEW]
./test/tstab.c		[REMOVED]
./test/stab.c		[NEW]
	Removed the `t' from the front of these names and made each
	test a stand-alone program following the format of most of the
	other tests.

./test/big.c
	Uses libh5test.a but always sets the low-level driver to 1GB
	file family.

	The `#if' near the top to set the data space to 8GB has been
	simplified now that `long_long' is always defined and the
	error message is improved when `long_long' isn't wide enough.

	Cleanup code was added to the error handling.

./test/gheap.c
./test/istore.c
	Uses libh5test.a.  Added error cleanup code.

./test/dtypes.c
./test/h5test.c
	Added 68 new tests that check hardware and software
	conversions between `long long' and `unsigned long long' and
	the other integer types.  The tests only run on machines where
	sizeof(long_long)!=sizeof(long).  We test a total of 180
	different integer conversions, half in hardware and half in
	software.

	Cut down the number of times each test is run from 5 to 1 so
	it doesn't take so long.  If you want to run more times
	there's a constant that can be changed at the top of the file.

./test/extend.c
	Removed unused variable.

./test/h5test.c
./test/h5test.h
./test/external.c
./test/fillval.c
	The h5_cleanup() returns true/false so it can be used in an `if'
	statement to clean up additional files.

./doc/html/Environment.html
	Indented.  Added HDF5_PREFIX and HDF5_DRIVER descriptions.

./src/H5P.c
	Changed the trace type for the second argument from `Iu' to
	`x' since it's an output parameter.

./INSTALL
	Added a warning that the GNU zlib that comes with the latest
	version of HDF4 is too old to use with HDF5 and must be
	renamed so configure doesn't see it when `--enable-hdf4' is
	used.
1998-11-25 09:58:22 -05:00
Robb Matzke
dedc8c37b4 [svn-r944] Changes since 19981120
----------------------

./MANIFEST
./test/Makefile.in
./test/shtype.c		[REMOVED]
	Removed shtype.c because it was all commented out.  Besides,
	these tests are done in dtypes.c now anyway.

./test/external.c
./test/fillval.c
./test/flush1.c
./test/flush2.c
./test/links.c
./test/mount.c
./test/mtime.c
./test/unlink.c
	The tests that check the HDF5 API use the h5test support
	functions. For one thing, that means that you can specify the
	file driver that thay use by the HDF5_DRIVER environment
	variable. Possible values are:

	    HDF5_DRIVER='sec2'		Use read() and write()
	    HDF5_DRIVER='stdio'		Use fread() and fwrite()
	    HDF5_DRIVER='core'		Use malloc() and free()
	    HDF5_DRIVER='split'		Split meta and raw data
	    HDF5_DRIVER='family N'	Use file families with each
					member being N megabytes (N
					can be fractional, defaults to
					one).

	Some tests might fail for certain drivers: for instance, the
	mount and link tests fail for the `core' driver because
	they must be able to close and then reopen a file.
1998-11-23 15:40:35 -05:00
Robb Matzke
7488c6366e [svn-r936] Changes since 19981119
----------------------

./src/H5.c
./src/H5A.c
./src/H5AC.c
./src/H5B.c
./src/H5D.c
./src/H5E.c
./src/H5F.c
./src/H5Farray.c
./src/H5Fcore.c
./src/H5Ffamily.c
./src/H5Fistore.c
./src/H5Flow.c
./src/H5Fmpio.c
./src/H5Fsec2.c
./src/H5Fsplit.c
./src/H5Fstdio.c
./src/H5G.c
./src/H5Gent.c
./src/H5Gnode.c
./src/H5Gstab.c
./src/H5HG.c
./src/H5HL.c
./src/H5I.c
./src/H5Iprivate.h
./src/H5MF.c
./src/H5MM.c
./src/H5O.c
./src/H5Oattr.c
./src/H5Ocomp.c
./src/H5Ocont.c
./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Ofill.c
./src/H5Olayout.c
./src/H5Omtime.c
./src/H5Oname.c
./src/H5Osdspace.c
./src/H5Oshared.c
./src/H5Ostab.c
./src/H5P.c
./src/H5R.c
./src/H5RA.c
./src/H5S.c
./src/H5Sall.c
./src/H5Shyper.c
./src/H5Smpio.c
./src/H5Snone.c
./src/H5Spoint.c
./src/H5Sselect.c
./src/H5T.c
./src/H5TB.c
./src/H5Tbit.c
./src/H5Tconv.c
./src/H5V.c
./src/H5Z.c
./src/H5detect.c
./src/H5private.h
	Most of these changes are because the `interface_initialize_g'
	variable change from hbool_t to int.  It's a one line change.

	Changed the way the library is closed so we have more control
	over the order the interfaces are shut down.  Instead of
	registering an atexit() function for every interface in some
	haphazard order we just register one: H5_term_library() which
	then calls the H5*_term_interface() functions in a
	well-defined order.

	If the library is closed and then reopened repeatedly by
	calling H5close() and H5open() in a loop we only add one copy
	of the library termination functions with atexit().

	Termination is a two-step process in order to help detect
	programming errors that would cause an infinite loop caused by
	the termination of one interface waking up some other
	previously terminated interface.  The first step terminates
	the interface and *marks it as unusable*.  After all
	interfaces are terminated then we mark them all as usable
	again.  The FUNC_ENTER() macro has been modified to return
	failure or to dump core (depending on whether NDEBUG is
	defined) if we try to call an interface while it's shutting
	down.

./src/H5.c
	The H5dont_atexit() function returns failure if it's called
	more than once or if it's called too late.  However, the error
	stack is not automatically printed on failure because the
	library might not be initialized yet

./test/chunk.c
./test/flush1.c
./test/flush2.c
./test/iopipe.c
./test/overhead.c
./test/ragged.c
	Changed the extra cast for Win32 so we do floating point
	division again -- it was just confusion about precedence and
	associativity of casting and the C coercion rules. Removed
	extra carriage returns inserted by broken operating system.

./src/H5Ffamily.c
	Fixed an bug where H5F_fam_write() lowered the EOF marker for
	one of the family members causing H5F_fam_read() to read
	zeros.

./test/h5test.h		[NEW]
./test/h5test.c		[NEW]
./test/Makefile.in
./test/bittests.c
./test/cmpd_dset.c
./test/dsets.c
./test/dtypes.c
./test/extend.c
./test/external.c
	Support library for test files.  This isn't done yet but
	Katie's contractions are ~10 minutes apart so I figured I
	better back this stuff up just in case I'm not here next
	week...

	Eventually all test files will understand HDF5_DRIVER to name
	the low level file driver and parameters so we can easily test
	various drivers.  They will also understand HDF5_PREFIX to
	prepend to the beginning of file names which is necessary for
	testing ROMIO with various drivers. Also, the cleanup function
	will know how to use the file name prefix and will understand
	different file driver naming schemes like file families. I'm
	not sure they'll understand the `gsf:' type prefixes yet.

	Note, the external test is completely commented out because
	I'm in the middle of modifying it.  It will still compile and
	run but it doesn't test anything at the moment.
1998-11-20 22:36:51 -05:00
Robb Matzke
841e168a04 [svn-r914] Changes since 19981113
----------------------

./config/conclude.in
./test/Makefile.in
./tools/Makefile.in
	The Makefile $TESTS variable has finally been split into
	$TEST_PROGS and $TEST_SCRIPTS with the latter being the names
	of shell scripts that need to be run with `/bin/sh'.  Now we
	don't have to copy each shell script before we run it. NOTE:
	THIS CHANGE DOES NOT AFFECT THE PABLO MAKEFILE SINCE THAT FILE
	IS A COPY OF A PREVIOUSLY GENERATED MAKEFILE.

./src/Makefile.in
	Added H5Snone.c to the source list.

./src/H5G.c
	Plugged a memory leak by emptying the object type "isa" table
	when the library is closed.

./src/H5Tconv.c
./src/H5Tpkg.h
	Added 48 new type functions to take advantage of hardware for
	integer type conversions.  These functions are not registered
	in the conversion table yet because I haven't fully tested
	them.

./src/H5Tpkg.h
	Removed __unused__ qualifiers from prototypes.
1998-11-16 10:29:54 -05:00
Robb Matzke
071aa057aa [svn-r907] Changes since 19981111
----------------------

./INSTALL
	Added instructions about specifying a path for GNU zlib and
	HDF4 headers and library.

	Added comments for each of the tool names.  Added h5toh4 as a
	tool name.

./configure.in
./conigure		[REGENERATED]
./src/H5config.h.in	[REGENERATED]
	The config/* scripts get invoked with $CC_BASENAME set the
	base name of the compiler in order to make it easier to handle
	setting compiler flags for different compilers in a big case
	statement.  For instance, if $CC has the value

	    /usr/local/mpi/bin/mpicc -ansi -64

	then $CC_BASENAME will be `mpicc'.  The $CC_BASENAME is not
	set if $CC is not set.

	Fixed alignment in `configure --help'.

	An include and/or library path can be specified for GNU zlib
	if configure can't find it in normal places.  The "normal"
	means wherever your compiler normally searches, including
	search paths you've added through environment variables like
	CPPFLAGS and LDFLAGS.  The INSTALL file has instructions.

	The `-ljpeg' library is detected.

	If `ssize_t' is not found then a #define is added to
	H5config.h similar to what we already do for `size_t'.

	We detect the hdf5 header file `mfhdf.h' and libraries
	`-lmfhdf' and `-ldf' and if found define the H5TOH4 and
	TESTH5TOH4 Makefile variables.  The user can specify an
	include and/or library path. The INSTALL file has
	instructions.

	The `RUNTEST' variable has been split into `RUNSERIAL' and
	`RUNPARALLEL' because these are different commands.  The
	makefile still uses `RUNTEST', which defaults to the RUNSERIAL
	value.  The new testpar/Makefile.in sets RUNTEST to the
	RUNPARALLEL value. The default RUNSERIAL value is empty and
	the default RUNPARALLEL value is `mpirun -np 2'.  These can
	both be overridden in the config/* files.  To make the value
	the empty string set it like `RUNPARALLEL=none' in the
	config/* file.

	The new testpar/Makefile is generated from testpar/Makefile.in

./config/commence.in
	Added the RUNSERIAL and RUNPARALLEL makefile definitions.

./src/Makefile.in
	The `H5detect' program is run with RUNSERIAL, which is empty
	on all platforms except intel-osf1 (ASCI/Red)

./config/conclude.in
	Removed the `.c.a:' implicit rule -- we don't use it any more.

./config/BlankForm
./config/alpha-dec
./config/alpha-dec-osf4.0
./config/freebsd2.2.7
./config/hpux10.20
./config/hpux9.03
./config/intel-osf1
./config/irix5.3
./config/irix6.2
./config/irix64
./config/linux
./config/powerpc-ibm-aix4.2.1.0
./config/rs6000-ibm-aix4.1.4.0
./config/solaris2.5
	All of these files have been updated to hande multiple
	compilers. Most of them assume `cc' if CC is not set. The
	documentation in `BlankForm' has been updated and
	documentation in the other files refer to `BlankForm'.

	The intel-osf1 uses LDFLAGS instead of LIBS to specify the extra
	library search paths.

./examples/Makefile.in
./test/Makefile.in
./tools/Makefile.in
	Simplified by grouping some dependency information together
	more succinctly.

	The tools Makefile.in has been modified to work with the
	`h5toh4' and `testh5toh4' programs.  Until Paul checks these
	in you may have problems compiling.  If so, just create files
	h5toh4.c and testh5toh4.c that contain:

	    #include <stdio.h>
	    int main(int argc, char *argv[]) {
	        fprintf(stderr, "%s: not implemented\n", argv[0]);
		return 1;
	    }

./src/H5public.h
	Removed definition for `ssize_t' since this is now handled by
	configure in H5config.h with a #define.


./MANIFEST
./testpar/Makefile.in	[NEW]
	Added a makefile for parallel tests.  As soon as we get this
	working properly we can remove the other four makefiles in
	that directory and maintain just one.
1998-11-13 10:06:06 -05:00
Robb Matzke
db9525c2a3 [svn-r789] Changes since 19981023
----------------------

./MANIFEST
./test/Makefile.in
./test/flush1.c			[NEW]
./test/flush2.c			[NEW]
	Test to see if calling H5Fflush() results in a consistent
	file.

./src/H5.c
./src/H5A.c
./src/H5D.c
./src/H5Fistore.c
./src/H5I.c
./src/H5S.c
./src/H5Shyper.c
./src/H5Sselect.c
./src/H5TB.c
	Changed comparisons against SUCCEED and FAIL to >=0 and <0 in
	about 15 places.

./src/H5.c
./src/H5V.c
./src/H5detect.c
./src/H5private.h
./src/H5public.h
./test/big.c
./test/chunk.c
./test/cmpd_dset.c
./test/dsets.c
./test/dtypes.c
./test/external.c
./test/fillval.c
./test/iopipe.c
./test/links.c
./test/mount.c
./test/mtime.c
./test/ragged.c
./test/shtype.c
./test/unlink.c
	Removed ^M from the end of lines inserted on broken OS's ;-)

./src/H5private.h
	Changed c++ comments to c comments.

./src/H5R.c
	Added tracing macros.
1998-10-26 09:49:52 -05:00
Robb Matzke
cfb2a264f1 [svn-r761] Changes since 19981013
----------------------

./src/H5.c
	Fixed a signed vs. unsigned comparison.

./src/H5D.c
	Setting a fill value of all zeros will cause the fill value to
	be written to the dataset instead of relying on the low-level
	file driver initializing unwritten areas with zero.

./src/H5D.c
./src/H5F.c
./src/H5Fprivate.h
./src/H5G.c
./src/H5Gpkg.h
./src/H5Gprivate.h
./src/H5O.c
./src/H5T.c
	More file mounting stuff.

./src/H5I.c
	Fixed a bug where trying to close an invalid object id caused
	a core dump.  For instance, H5Gclose(-1).

./MANIFEST
./test/Makefile.in
./test/mount.c		[NEW]
	Mounting tests.

./src/H5R.c
	Fixed a couple (herr_t)NULL casts.
1998-10-14 14:35:08 -05:00
Quincey Koziol
bfedcf281c [svn-r758] Added test code for object references. 1998-10-13 16:30:49 -05:00
Robb Matzke
21943f5d35 [svn-r735] Changes since 19981002
----------------------

./src/H5D.c
	Fill values are working for contiguous datasets now except
	there are two things that need more support from the data
	space layer, specifically the ability to form a selection from
	the difference of two selections.  They are (1) extending an
	external contiguous dataset, (2) optimization by delaying the
	fill until after the first H5Dwrite().

	Renamed H5D_allocate() to H5D_init_storage() since allocation
	is only part of the story. Added a data space argument so it
	doesn't have to query the space from the object header -- the
	space is always available in the caller anyway.

	Removed `#ifdef HAVE_PARALLEL' from a few places where it
	wasn't necessary.  We don't need it around code that doesn't
	compile anything from mpi.h or mpio.h.

./src/H5Fistore.c
	Uncommented H5F_istore_alloc() for non-parallel and moved the
	`#ifdef HAVE_PARALLEL' just around Kim's barrier.

./src/H5Fmpio.c
	Wrapped a couple long lines.

	Got rid of two signed vs. unsigned comparison warnings.

./MANIFEST
./test/Makefile.in
./test/fillval.c	[NEW]
	Added tests for fill values.  The contiguous dataset extend
	test is disabled until H5S_SELECT_DIFF is implemented.

./tools/Makefile.in
	Fixed a bug where `make test' didn't build the executables
	first. This should cause the snapshots to start up again.

./Makefile.in
	Changed to build in `test' directory before `tools'
	directory. We want the library tests to pass before we even
	start considering the tools.  You can still build and/or test
	the tools independent of the library tests passing.
1998-10-05 16:01:10 -05:00
Robb Matzke
beab7f66e5 [svn-r730] Changes since 19980928
----------------------

./MANIFEST
	Changed freebsd2.2.1 to freebsd2.2.7 to match change in file name.

	Added a few missing files.  Are all of these supposed to be
	distributed?

	  ./tools/testfiles/h5dumptst.c
	+ ./tools/testfiles/tall-1.ddl
	+ ./tools/testfiles/tall-2.ddl
	+ ./tools/testfiles/tall-3.ddl
	  ./tools/testfiles/tall.ddl
	  ./tools/testfiles/tall.h5
	+ ./tools/testfiles/tattr-1.ddl
	+ ./tools/testfiles/tattr-2.ddl
	+ ./tools/testfiles/tattr-3.ddl
	+ ./tools/testfiles/tattr-4.ddl
	  ./tools/testfiles/tattr.ddl
	  ./tools/testfiles/tattr.h5
	+ ./tools/testfiles/tdset-1.ddl
	+ ./tools/testfiles/tdset-2.ddl
	+ ./tools/testfiles/tdset-3.ddl
	+ ./tools/testfiles/tdset-4.ddl
	  ./tools/testfiles/tdset.ddl
	  ./tools/testfiles/tdset.h5
	+ ./tools/testfiles/tgroup-1.ddl
	+ ./tools/testfiles/tgroup-2.ddl
	+ ./tools/testfiles/tgroup-3.ddl
	  ./tools/testfiles/tgroup.ddl
	  ./tools/testfiles/tgroup.h5
	+ ./tools/testfiles/tslink-1.ddl
	+ ./tools/testfiles/tslink-2.ddl
	  ./tools/testfiles/tslink.ddl
	  ./tools/testfiles/tslink.h5

./src/H5B.c
./src/H5Bprivate.h
./src/H5D.c
./src/H5Dprivate.h
./src/H5Farray.c
./src/H5Fistore.c
./src/H5Fprivate.h
./src/H5Gstab.c
./src/H5P.c
./src/H5Ppublic.h
./src/H5Sall.c
./src/H5Shyper.c
./src/H5Spoint.c
./src/H5Sprivate.h
./test/istore.c
	Implemented split ratios as documented in previous
	e-mails. Frank, the new API functions are H5Pget_btree_ratios()
	and H5Pset_btree_ratios().

./src/H5Sall.c
./src/H5Shyper.c
./src/H5Spoint.c
./src/H5Sprivate.h
	Added more type checking for the data transfer property list
	passed to these functions.

./src/H5D.c
	Added a dataset transfer property list as an argument to
	H5D_allocate() for the parallel version in order to pass split
	ratios down to H5F_istore_lock().  Eventually we won't need
	the split ratios for H5D_allocate() because we'll build a
	completely full B-tree from the leaves up, but it might be
	useful to have other transfer properties at that level
	anyway.  I always caled H5D_allocate() with &H5D_dflt_xfer.

./MANIFEST
./test/Makefile.in
./test/overhead.c	[NEW]
	Added an `overhead' test run by `make timings'.
1998-09-30 13:50:49 -05:00
Robb Matzke
c0941f01e3 [svn-r726] Changes since 19980924
----------------------

./MANIFEST
./src/H5B.c
./src/H5Bprivate.h
./src/H5G.c
./src/H5Gnode.c
./src/H5Gprivate.h
./test/Makefile.in
./test/unlink.c		[NEW]
	Finished H5Gunlink() and H5Grename().

./src/H5F.c
./src/H5Fistore.c
./src/H5Fprivate.h
	Removed the last memcpy() from the chunk cache.

./src/H5Fistore.c
	The offset of a chunk within a dataset is an 8-byte quantity
	per dimension instead of 4 bytes.

./src/H5HL.c
	Fixed infinite loops in H5HL_remove().
1998-09-28 09:20:21 -05:00
Robb Matzke
6d9af58391 [svn-r714] Changes since 19980911
----------------------

This checkin is to fix a couple bugs for Jim Reus.  Some features are
not fully implemented but it shouldn't break anything.

./config/conclude.in
./test/Makefile.in
	`make clean' removes object files from the test directory as
	well as a couple more *.h5 temp files.

./config/hpux9.03		[NEW]
	New config file for HP/UX 9.03

./src/H5B.c
./src/H5Bprivate.h
./src/H5Fistore.c
./src/H5G.c
./src/H5Gnode.c
./src/H5Gpkg.h
./src/H5Gprivate.h
./src/H5Gstab.c
	Not-yet-complete version of object removal.

./src/H5Fistore.c
./src/H5Fprivate.h
	Experimental optimizations, disabled by default.

./src/H5Fprivate.h
	Default low-level driver was changed to H5F_LOW_SEC instead of
	H5F_LOW_STDIO because the sec2 driver is much easier to debug.

./src/H5Fsplit.c
./src/H5G.c
./src/H5Z.c
	Changed a couple return statements to HRETURN.

./src/H5Odtype.c
	Removed a check for nested compound data types from back when
	they weren't implemented that raised an error.

./tools/h5tools.c
	Increased temp buffer sizes and added a check for buffer
	overflow so we fail an assertion (hopefully).  This really
	needs to be fixed sometime.

	Added support for printing H5T_STRING data types.
1998-09-22 10:27:26 -05:00
Robb Matzke
72a58073cd [svn-r672] Changes since 19980904
----------------------

./MANIFEST
./bin/release
./bin/snapshot
	The format of the MANIFEST file has been relaxed -- comments
	and blank lines should no longer confuse the tools that use
	it.

	As before, this file should contain a list of *all* files that
	are part of HDF5, which means all files which are managed by
	CVS/SVF.  However, files can be marked so they're not part of
	a release by adding _DO_NOT_DISTRIBUTE_ after the file name.

	I've removed all the *.obj files from the distribution by
	adding _DO_NOT_DISTRIBUTE_ after their names.  I also removed
	the old white-papers that might not apply to the current
	version of the library and documentation about chunking
	performance since it's wrong now that chunk caching is
	implemented. Everyone please check the files you're
	responsible for to make sure that they should really be part
	of a release.

	To get a list of all files use
	   grep '^\.' MANIFEST | cut -f1

	To get a list of files for distribution use:
	   grep '^\.' MANIFEST | grep -v _DO_NOT_DISTRIBUTE_

	(These commands assume tabs in the MANIFEST file.  If the file
	might contain spaces then run it through `unexpand' or `tr'
	first).

./configure.in
./configure
./src/H5config.h.in
./test/ragged.c
	Check for sigaction().

./test/Makefile.in
	The `clean' target removes the timing tests.
1998-09-08 08:39:18 -05:00
Robb Matzke
1e38c13785 [svn-r633] Changes since 19980828
----------------------

./RELEASE
	Updated with important changes I made since the second beta.

./src/H5A.c
./src/H5D.c
./src/H5Dprivate.h
./src/H5G.c
./src/H5Gprivate.h
./src/H5R.c
./src/H5Rprivate.h
./src/H5T.c
./src/H5Tprivate.h
	Any API function that used to take an `hid_t loc_id' followed
	by a `const char *name' can now take any type of object for
	the loc_id as long as the object is somehow associated with a
	file. Internally, H5G_loc() was modified to return an
	H5G_entry_t* instead of an H5G_t* so it's more general.

	Among other things, this allows one to retrieve information
	about an object like a named type or dataset without knowing
	the name of the type or dataset:

	    int
	    get_nlinks (hid_t obj)
	    {
	        H5G_stat_t	sb;
		if (H5Gstat(obj, ".", TRUE, &sb)<0) return -1;
		return sb.nlink;
	    }

./test/gheap.c
./test/istore.c
	These files needed a couple of changes because they call some
	of the internal functions whose H5G_t arguments changed to
	H5G_entry_t.

./src/H5A.c
	Got rid of all the switch statements for getting symbol table
	entries for varous objects and replaced them with a call to
	H5G_loc() allowing attributes to automatically apply to any
	type of object that belongs to a file.

./test/Makefile.in
	Moved the ragged array tests from the normal list of tests to
	the `make timings' target.

./test/ragged.c
	Added rewrite tests -- rewrite the rows of a dataset changing
	the number of rows and the length of each row.

./test/mtime.c
	Added a test that checks that H5Gstat() can be called with a
	dataset as the first argument.

./src/H5S.c
	Added #ifdef HAVE_PARALLEL around code to check for the
	HDF5_MPI_OPT_TYPES environment variable because the global
	variable that gets set is #ifdef'd.

./bin/release
	bzip2 uses .bz2 as the file extension.
1998-08-31 08:46:47 -05:00
Robb Matzke
1b1be9918c [svn-r627] Changes since 19980827
----------------------

./src/H5G.c
	Fixed a link count on groups.  Groups were always created with
	a link count of zero instead of one.

./src/H5Gpublic.h
	Added H5G_NTYPES so applications can easily declare arrays
	which are indexed by object type.

./src/H5O.c
	Calling `H5O_link(&ent,0)' will succeed when the file is open
	for read only because it's the only way to get the object's
	current link count.

./tools/h5ls.c
	Can take non-group object names on the command line (and
	multiple objects).  Reorganized to be more extendible. The
	link count is displayed for `-v'.

./src/H5F.c
	Dumping of cache statistics is controlled by only the
	HDF5_DEBUG environment variable and not the H5F_ACC_DEBUG flag
	for H5Fopen() and H5Fcreate() since this makes it similar to
	the other debugging options.

./src/H5R.c
./test/ragged.c
./test/Makefile.in
	Tests pass but still a little work left to be done.
1998-08-28 10:24:12 -05:00
Robb Matzke
c7b935a9ac [svn-r547] Changes since 19980729
----------------------

./MANIFEST
./test/Makefile.in
./test/mtime.c		[NEW]
	Test for the modification time message.

./src/H5AC.c
./src/H5Fistore.c
	Turned off printing of statistics on H5close() if H5AC_DEBUG
	isn't defined.
1998-07-30 11:38:21 -05:00
Robb Matzke
a34534c9b8 [svn-r546] Changes since 19980724
----------------------

./MANIFEST
./doc/html/H5.format.html
./src/H5O.c
./src/H5Oprivate.h
./src/H5Omtime.c	[NEW]
./src/H5private.h
./src/Makefile.in
	Added the modification time message.  If an object header has
	this message then it's value is updated with the current time
	whenever anything changes in the object header.

./acconfig.h
./configure.in
	Alas, there seems to be no standard way to convert a string
	time like 19980727122800 in UTC to a time_t since mktime()
	only converts local times to time_t.  So I've modified the
	configuration to check for various ways of getting the time
	zone information:

	   * Added checks for the `tm_gmtoff' field of `struct tm'.
	   * Added a check for the `timezone' global variable.
	   * Added a check for `struct timezone'.
	   * Added a check for BSDgettimeofday().
	   * Added a check for gettimeofday() although it doesn't
	     actually set the timezone argument on some systems.
	   * Added a check to see if `tm_zone' is a member of `struct tm'.
	   * Added a check to see if `tzname' is a global variable.
	   * Added a check to see if `struct tm' is defined in time.h
	     or sys/time.h.

	It's not difficult to get the right UTC modification message
	into the object header, but some systems might have problems
	getting the right time back out (Irix64 is one) and those
	systems will report zero for the H5G_stat_t.mtime from an
	H5Gstat() call as if the mtime message isn't even present.  It
	will, however, continue to be updated as normal.

./src/H5G.c
./src/H5Gpublic.h
	The H5G_stat_t struct now contains an `mtime' field which will
	hold the object modification time.  If the object has no
	object modification time then the `mtime' will be initialized
	to zero.

	Fixed a bug in H5G_stat() that caused the `objno' field of the
	H5G_stat_t to be set incorrectly on some machines.

./src/H5D.c
	Writing to external datasets fail if the hdf5 file is not open
	for writing.

	A modification time message is added to the dataset object
	header when it's created and H5O_touch() is called from
	H5D_write() to update that message.

./src/H5T.c
	Fixed a bug in H5Tget_member_dims() that caused a segmentation
	fault if one of the output array arguments was the null
	pointer.

	Relaxed the member dimension checking in H5Tinsert_array() so
	it can also be used for scalar members.

./test/Makefile.in
	Added additional file names to the `mostlyclean' target.

./tools/h5dump.c
./tools/h5tools.h
	Increased the temporary buffer size to 1MB.

	Added support for printing compound data types with array
	members.

	When printing H5T_NATIVE_CHAR and H5T_NATIVE_UCHAR we escape
	double quote characters.

./tools/h5ls.c
	Changed the output format a little because we were starting to
	get too much info to fit on a line.  Without `--verbose' each
	object occupies one line of output.  Otherwise, additional
	information is printed below the object name: object file
	address, comment, and modification time.  If `--dump' is given
	then the data is printed after the other information.

./test/cmpd_dset.c
	Changed the way the dataset is initialized to be more uniform.
1998-07-29 11:43:59 -05:00
Robb Matzke
077d7c8c86 [svn-r511] Changes since 19980715
----------------------

./src/H5Flow.c
./src/H5Fprivate.h
./src/H5Fsplit.c
	Changed the allocation size request from `size_t' to `hsize_t'
	because it was overflowing for the `big' test.

./src/H5detect.c
	If `long double' and `double' are the same size then we define
	H5T_NATIVE_LDOUBLE to be the same as H5T_NATIVE_DOUBLE.
	Similarly for `long' vs. `long long' and `unsigned long' vs.
	`unsigned long long'.

./test/Makefile.in
	Added `big' to the list of tests to normally run.

./test/big.c
	Added a check to see if the file system supports holes and if
	it doesn't then the test is skipped.
1998-07-15 16:21:15 -05:00
Quincey Koziol
bf5165c748 [svn-r489] Changed more API functions to the new names as documented. Also, added
stub for testing selections.
1998-07-14 16:14:12 -05:00
Robb Matzke
614ae2dce6 [svn-r485] Changes since 19980710
----------------------

./Makefile.in
./config/commence.in
./config/conclude.in
./config/depend.in
./src/Makefile.in
./test/Makefile.in
	Tests are no longer installed for `make install'.  Added a new
	target `make tests' that builds the tests but doesn't run them.

./configure.in
./configure		[REGENERATED]
./src/H5config.h.in	[REGENERATED]
	Added detection of fork() and waitpid().  If present the
	contants HAVE_FORK and HAVE_WAITPID will be defined in
	H5config.h.

./test/dtypes.c
	Minor tweaks for systems that don't have fork() or waitpid().

./MANIFEST
./tools			[NEW]
./tools/Makefile.in	[NEW]
./tools/h5debug.c	[NEW]
./tools/h5import.c	[NEW]
./tools/h5ls.c		[NEW]
./tools/h5repart.c	[NEW]
	Added a tools directory and moved tools from the src directory
	to here.
1998-07-13 10:35:21 -05:00
Robb Matzke
53916f4e59 [svn-r428] Changes since 19980612
----------------------

./src/H5Tbit.c
./MANIFEST
./test/Makefile.in
./test/bittests.c	NEW
	Finished the bit vector operations and added test cases.

./src/H5Tconv.c
./test/dtypes.c
	Finished integer->integer general conversion and added test
	cases. Overflows and underflows are handled by substituting
	the closest possible value.  Examples:

	   (unsigned)0xffff -> (unsigned)  0xff
	   (  signed)0xffff -> (unsigned)0x0000
	   (unsigned)0xffff -> (  signed)0x7fff
	   (  signed)0x7fff -> (  signed)  0x7f
	   (  signed)0xbfff -> (  signed)  0xbf
	   (  signed)0x8000 -> (  signed)  0x80

./src/H5private.h
	Added definitions for MIN and MAX that take 3 or 4 arguments:
	MIN3(), MIN4(), MAX3(), MAX4(). Also added MIN2() and MAX2()
	as aliases for MIN() and MAX().

./test/tattr.c
	Removed some redundant `&' operators.

./configure.in
./src/H5config.h.in	[regenerated]
./src/H5.c
	Fixed warnings on DEC where long double is the same as
	double.
1998-06-16 14:38:26 -05:00
Robb Matzke
d392756a1b [svn-r400] Changes since 19980513
----------------------

./html/Datasets.html
	Fixed a couple of typos.

./src/H5.c
	Added the `Z' modifier to HDfprintf() for `size_t' sizes.  Use
	it like this:
	   HDfprintf(stderr,"size is %Zd\n", (size_t)x);

./src/H5AC.c
./src/H5F.c
./src/H5Fprivate.h
	The maximum number of meta data objects that can be cached can
	be set from the application (but the library might not honor
	it every time; it's a hint).

./src/H5D.c
	Changed a warning message so it's not so alarming.

./src/H5Fistore.c
	Chunks can be cached.

./src/H5O.c
./src/H5Oprivate.h
	Added H5O_copy() and H5O_free() to copy and free messages.

./src/H5P.c
./src/H5Ppublic.h
	Added H5Pset_cache() and H5Pget_cache() and changed lots of
	"template" to "property list".

./src/H5Z.c
./src/H5Zpublic.h
	Miscellaneous little things to clean up.  Mostly just removed
	H5Z_MAXVAL and added H5Z_USERDEF_MIN and H5Z_USERDEF_MAX.

./MANIFEST
./test/Makefile.in
./test/chunk.c		[NEW]
	Added a performance test for chunk caching.  It looks at the
	amount of I/O instead of timing because timing is partly
	dependent on the chunk size and I wanted a measurement that
	was a function of only the cache size.  Run `chunk' with no
	arguments and then say `gnuplot x-gnuplot' to see the plots
	(press return between plots). Postscript files are created for
	each plot.

./test/big.c
./test/cmpd_dset.c
./test/extend.c
./test/external.c
./test/gheap.c
	Added H5F_ACC_DEBUG so we can see cache performance
	statistics.
1998-05-22 10:05:53 -05:00
Quincey Koziol
5d3d452005 [svn-r362] Added Attribute (H5A) test 1998-04-23 17:24:52 -05:00
Robb Matzke
b6fc6ede10 [svn-r346] Changes since 19980410
----------------------

./html/H5.format.html
./src/H5E.c
./src/H5Epublic.h
./src/H5F.c
./src/H5G.c
./src/H5Gent.c
./src/H5Gnode.c
./src/H5Gprivate.h
./src/h5ls.c
./test/Makefile.in
	Symbolic links are now supported.  The ./test/links program
	will create a `links.h5' file that demonstrates hard links,
	soft links, dangling links, and recursive links.  A symbolic
	link is a symbol table entity and doesn't have an object
	header.  It's format is described in H5.format.hml.

./src/H5G.c
./src/H5Gpublic.h
./src/h5ls.c
	Implemented H5Gstat() and H5Gget_linkval() as documented by
	Quincey.  The `H5G_type_t type' field of `H5G_stat_t' was
	changed to `int type' because H5G_type_t was already used and
	the `type' data type should be open-ended.

./src/H5Ffamily.c
	Removed an incorrect diagnostic message.

./test/big.c
	Added read/write calls to test partial I/O to big contiguous
	datasets.  With no arguments it writes to a dataset and prints
	the list of points written which should be redirected to a
	file.  With an argument (the name of a file containing the
	stdout of a run with no arguments) values are read from the
	dataset.  One would typically say `big >x && big x'.
1998-04-14 11:44:46 -05:00
Robb Matzke
c96611f8b5 [svn-r339] Changes since 19980408
----------------------

./src/H5Osdspace.c
./html/H5.format.html
	In the past we were allowed to have >2GB files on a 32-bit
	machine as long as no dataset within the file was larger than
	4GB (or whatever sizeof(size_t) is).  That's been fixed now.
	All dataset size calculations are done with `hsize_t' which is
	normally defined as `unsigned long long'.

./src/H5F.c
./src/H5Ffamily.c
./src/H5Fprivate.h
./src/H5P.c
./src/H5Ppublic.h
	The file family member size can now be set/queried.  The
	default is still 64MB, but it can be set to 1GB by saying:

	    H5Pset_family (plist, 30, H5P_DEFAULT);

	When opening an existing file family the specified
	bits-per-member is ignored and the first member of the family
	determines the bits-per-member, which can be retrieved with
	H5Pget_family().

./acconfig.h
./configure.in
./src/H5config.h
./src/H5public.h
	Added `--disable-hsizet' so that those with old GCC compilers
	(<2.8.1) can still compile the code.


./src/H5.c
./src/H5private.h
	Added HDfprintf() which works just like fprintf() except you
	can give `H' as a size modifier for the integer conversions
	and supply an `hsize_t' or `hssize_t' argument without casting
	it.  For instance:

	    hsize_t npoints = H5Sget_npoints(space);
	    HDfprintf(stdout,"Dataset has %Hd (%#018Hx) points\n",
		      npoints, npoints);

	You can now give `%a' as a format to print an address, but all
	formating flags are ignored and it causes the return value of
	HDfprintf() to not include the characters in the address (but
	who uses the return value anyway :-). Example:

	    H5G_t *grp;
	    HDfprintf(stdout, "Group object header at %a\n",
	              &(grp->ent.header));

	Added HDstrtoll() which works exactly like [HD]strtol() except
	the result is an int64.

./src/debug.c
	Large addresses can now be entered from the command-line.  Use
	either decimal, octal (leading `0') or hexadecimal (leading
	`0x') when giving the address.

./src/h5ls.c
	The printf format for dataset dimensions was changed to `%Hu'
	to support large datasets.

./test/big.c		[NEW]
	A test for big datasets on 32-bit machines.  This test is not
	run by default.  Don't try to run it on an nfs-mounted file
	system or other file system that doesn't support holes because
	it creates two 32GB datasets of all zero.
1998-04-09 15:22:11 -05:00