Commit Graph

37 Commits

Author SHA1 Message Date
Neil Fortner
7610dd20af [svn-r20529] Purpose: Add testing for bug 1864
Description:
Added internal tesitng routines to traverse a file and verify that symbol table
information is *always* cached, whenever possible.  Added this check to the end
of many tests to check all the test files, right before the call to h5_cleanup.

Tested: jam, amani, heiwa (h5committest)
2011-04-15 17:05:23 -05:00
Quincey Koziol
0e51a4244e [svn-r15868] Description:
Correct a minor error in file free space allocation which was affecting
the 'multi' VFD and preventing some tests from fully working with it.

	Wholesale revisitation of all the places where tests were disabled
with various VFDs and remove or correct all these so that _only_ the tests
which _really_ can't work with particular VFDs are skipped during a
'make check-vfd' test.

Tested on:
        Mac OS X/32 10.5.5 (amazon) in debug mode
        Mac OS X/32 10.5.5 (amazon) w/C++ & FORTRAN, w/threadsafe,
                                in production mode
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
                                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
2008-10-14 20:46:34 -05:00
Quincey Koziol
bdd7d59902 [svn-r15628] Description:
Remove trailing whitespace from C/C++ source files, with the following
script:

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

Tested on:
    Mac OS X/32 10.5.5 (amazon)
    No need for h5committest, just whitespace changes...
2008-09-16 10:52:51 -05:00
Quincey Koziol
d9e5ca72f3 [svn-r14199] Description:
Add H5Dcreate to API versioned routines, replacing internal usage with
H5Dcreate2

	Fix thread-safe error stack initialization for API versioned error
stack printing routines.

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
2007-10-11 11:24:11 -05:00
Quincey Koziol
d3ee3988b6 [svn-r14192] Description:
Deprecate H5Dextend in favor of H5Dset_extent (without using API
versioning, due to changed behavior) and switch internal usage to H5Dset_extent

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
2007-10-08 10:26:02 -05:00
Albert Cheng
ed7d456e51 [svn-r13253] Updated all C and C++ style source code files with the THG copyright notice.
Tested platform:
Kagiso only since it is only a comment block change.  If it works in one
machine, it should work in all, I hope.  Still need to check the parallel
build on copper.
2007-02-07 09:56:24 -05:00
James Laird
beb04ae817 [svn-r12519] Fixed "make check-vfd"
"make check-vfd" will now run all tests in the test directory with different
file drivers (at least, all of those tests that use the testing framework's
FAPL).  Tests that fail will be skipped.

This is not a perfect fix, but is better than nothing.

Along with this change, check-vfd should be added to the Daily Tests.
2006-07-31 14:46:16 -05:00
Quincey Koziol
6b45f5172c [svn-r11245] Purpose:
Code cleanup

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

Solution:
    Ran this script in each directory:

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


Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-08-13 15:53:35 -05:00
Quincey Koziol
427ff7da28 [svn-r9727] Purpose:
Bug Fix/Code Cleanup/Doc Cleanup/Optimization/Branch Sync :-)

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

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

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


Misc. update:
2004-12-29 09:26:20 -05:00
Quincey Koziol
b8632ce735 [svn-r7029] Purpose:
New feature/Bug fix

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

Platforms tested:
    FreeBSD 4.8 (sleipnir) serial & parallel
    h5committest
2003-06-11 22:40:34 -05:00
Quincey Koziol
8181306481 [svn-r7017] Purpose:
Test bug fix

Description:
    Chunked datasets with early space allocation and unlimited dimensions were
running into problems where the dataset's "layout" message was marked as
constant too early, preventing the dataset's dimensions from being extended.

Solution:
    Change logic for marking the layout message constant to wait a bit longer.

Platforms tested:
    FreeBSD 4.8 (sleipnir) w/parallel
    h5committest
2003-06-10 13:44:29 -05:00
Bill Wendling
44022e598c [svn-r6538] Purpose:
Update

Description:
    Updated the Copyright statement

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

Misc. update:
2003-03-31 12:59:04 -05:00
Quincey Koziol
c2869d6a57 [svn-r5895] Purpose:
Code cleanup/More tests

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

Platforms tested:
    FreeBSD 4.6 (sleipnir) w/serial & parallel.  Will be testing on IRIX64
    6.5 (modi4) in serial & parallel shortly.
2002-08-27 08:42:22 -05:00
Raymond Lu
e3a137f39e [svn-r4517]
Purpose:
    Changed to the new generic property list for dataset creation property
    list.
Platforms tested:
    Arabica, modi4 and Hawkwind
2001-10-03 12:57:56 -05:00
Bill Wendling
bfd983e7f4 [svn-r3770] Purpose:
Update
Description:
    Changed includes of the form:

            #include <hdf5_file.h>

    to

            #include "hdf5_file.h"

    so that gcc can pick them up easier without including the system
    header files since we don't care about them.
Platforms tested:
    Linux
2001-04-03 13:09:16 -05:00
Quincey Koziol
a319837a4f [svn-r3326] Purpose:
Clean up warnings
Description:
    The "FAILED" macro is defined by Windows and is causing warnings and
    potential errors when compiled on that platform.
Solution:
    Change our macro from FAILED to H5_FAILED.
Platforms tested:
    FreeBSD 4.2 (hawkwind)
2001-01-25 12:03:29 -05:00
Albert Cheng
dd4203674a [svn-r2531] Description:
The "FILENAME" declared extern in h5test.h is not always used.
    It was used in h5_cleanup to remove temporary files created
    during tests.  Not all tests codes have used this routine.
    Indeed, quite a few of test programs do "#define FILENAME ".
    Also, h5_cleanup needs to work in tandem with h5_fixname.
    h5_fixname accepts an explicite base_name argument instead
    of using the global variable FILENAME.  That is cleaner.
Solution:
    Added char *base_name[] as a new argument to h5_cleanup, in
    the same style as h5_fixname.  Removed "extern char *FILENAME..."
    from use.  Also, undo some unnecessary declaration of "char *FILENAME"
    from some tests which don't use it at all (yet).
Platforms tested:
    modi4-64(irix64), arabica(solari2.7), eirene(linux)
    (arabica could not launch tests automatically.  I had to hack
     in LD_LIBRARY_PATH to make them run.)
2000-09-09 19:08:27 -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
ffcbc32d66 [svn-r952] Changes since 19981125
----------------------

./doc/html/Datatypes.html
./src/H5.c
./src/H5T.c
./src/H5Tconv.c
./src/H5Tpkg.h
./src/H5Tpublic.h
./src/H5detect.c
./test/chunk.c
./test/dtypes.c
./test/h5test.c
./test/mtime.c
./test/tattr.c
./test/th5s.c
./tools/h5dump.c
./tools/h5dumputil.c
./tools/h5import.c
./tools/h5ls.c
./tools/h5toh4.c
./tools/h5tools.c
	Renamed the old H5T_NATIVE_CHAR type to H5T_NATIVE_SCHAR to
	denote that it is always signed.

	Added a new H5T_NATIVE_CHAR type which has the same range,
	representation, and behavior as either H5T_NATIVE_SCHAR or
	H5T_NATIVE_UCHAR depending on the compiler and its
	command-line switches for the application source file which
	references H5T_NATIVE_CHAR. If source files are compiled with
	different switches then each source file will resolve
	H5T_NATIVE_CHAR appropriately so it matches the C type `char'
	in that source file.

	NOTE: THERE ARE OTHER DOCUMENTATION FILES THAT I DIDN'T CHANGE
	BECAUSE I CAN'T MODIFY THE SOURCE.

./test/extend.c
	Swapped two lines to prevent diagnostic messages from messing
	up the formatted output.
1998-11-25 12:21:21 -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
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
e0dfe872a0 [svn-r929] Changes since 19981119
----------------------

./test/flush2.c
./test/overhead.c
	Removed carriage-returns inserted by a broken operating system.

./test/big.c
./test/mtime.c
./test/ragged.c
./tools/h5ls.c
	Removed inclusion of <H5config.h>, system header files, and definition
	of __unused__ since this all happens in <H5private.h>.

./test/chunk.c
./test/cmpd_dset.c
./test/dsets.c
./test/dtypes.c
./test/extend.c
./test/external.c
./test/fillval.c
./test/flush1.c
./test/flush2.c
./test/iopipe.c
./test/links.c
./test/mount.c
./test/overhead.c
./test/shtype.c
./test/unlink.c
./tools/h5import.c
./tools/h5repart.c
	Removed inclusion of <H5config.h> since <hdf5.h> includes it.

./test/flush1.c
	Includes <stdlib.h>, protects inclusion of <unistd.h> by using
	HAVE_UNISTD_H instead of STDC_HEADERS.
1998-11-19 13:52:56 -05:00
Robb Matzke
254ae8d43d [svn-r859] Changes since 19981030
----------------------

./MANIFEST
	Added new Pablo files HDF5record_RT.h and ProcIDs.h

./acconfig.h
./configure		[REGENERATED]
./configure.in
./src/H5.c
./src/H5Vprivate.h
./src/H5config.h.in	[REGENERATED]
./src/H5private.h
./src/H5public.h
./test/big.c
	Added more configuration stuff for the Win32 environment. Removed all
	the #ifdef WIN32 from the source and replaced them with OS-independent
	stuff.  Specifics follow:

	Check for non-Posix.1 `st_blocks' field in `struct stat' which is used
	by the big file test to decide if the file system supports holes.  If
	the st_blocks field isn't present then we just skip the test.

	Configure checks for <io.h> <sys/resource.h> <sys/time.h> and
	<winsock.h> and defines HAVE_IO_H, HAVE_SYS_RESOURCE_H,
	HAVE_SYS_TIME_H and HAVE_WINSOCK_H when they're found.

	Configure checks whether both <sys/time.h> and <time.h> can be
	included and defines SYS_TIME_WITH_TIME if so.  Otherwise include only
	<sys/time.h> or <time.h> even if both exist.

	Configure checks sizeof(__int64) and defines SIZEOF___INT64 to the
	result or to zero if __int64 isn't defined.  The source uses `long
	long' in preference to `__int64'.

	Removed null WIN32 definition for `inline' since such a definition
	already exists in H5config.h

	Protected gettimeofday() calls in debugging code with
	HAVE_GETTIMEOFDAY instead of WIN32.

./src/H5F.c
./src/H5Flow.c
./src/H5Fmpio.c
./src/H5Fsec2.c
./src/H5Fstdio.h
./src/H5P.c
./src/H5Tconv.c
./src/H5private.h
	Removed #include of system files from library source files and
	consolodated them into H5private.h where they're protected by various
	configuration macros (most of them were duplicated there already
	anyway).

./test/big.c
./test/chunk.c
./test/cmpd_dset.c
./test/dsets.c
./test/dtypes.c
./test/extend.c
./test/external.c
./test/fillval.c
./test/flush1.c
./test/flush2.c
./test/iopipe.c
./test/links.c
./test/mount.c
./test/mtime.c
./test/overhead.c
./test/ragged.c
./test/shtype.c
./test/unlink.c
	Protected system #include's with #ifdef's from H5config.h.

	Undefined NDEBUG since some of the tests rely on assert() to check
	return values.

	Removed WIN32 definitions for __unused__ since this can be controlled
	by the definition of HAVE_ATTRIBUTE in H5config.h

./test/testhdf5.h
	Removed the CLEAN_CMD definition because we no longer use it.
	Albert's cleanup() functions replaced it.

./test/fillval.c
	Initialized auto hid_t variables to fix warnings in error recovery
	code when data flow analysis is turned on in compilers.

./test/h5tools.c
	Initialized an auto variable to fix a compiler warning.

./test/chunk.c
./test/ragged.c
	The WIN32 had some unsigned variables changed to signed because the
	compiler generates warnings when coercing unsigned to double(?).  I
	changed them back to unsigned because they really are unsigned
	quantities. If this the change was just to shut up extraneous warnings
	then perhaps a compiler flag can do the same; otherwise if the
	compiler generates bad code then we should supply a patch file instead
	messing up source code with bug work-arounds.

./src/H5detect.c
	Protected system #include's with #ifdef's from H5config.h thereby
	removing a WIN32.

	If getpwuid() doesn't exist (HAVE_GETPWUID) then we assume that
	`struct passwd' doesn't exist either (we don't really need it in that
	case).

	The H5T_NATIVE_LLONG and H5T_NATIVE_ULLONG are defined in terms of
	`long long' or else `__int64' or else `long' depending on what's
	available.

./src/H5Flow.c
./src/H5Ofill.c
	Added __unused__ to some function arguments that aren't used when
	assertions are turned off.

./src/H5V.c
	Changed an auto variable name in some hand-inlined code to get rid of
	a warning about the variable shadowing a previous auto.
1998-11-02 12:58:28 -05:00
Robb Matzke
25b825965e [svn-r594] Changes since 19980813
----------------------

./src/H5G.c
./src/H5Gpublic.h
./test/links.c
	Fixed a bug in H5Gstat() that caused the wrong information to
	be returned sometimes.  Added check for named data types.

./test/extend.c
./test/links.c
./test/mtime.c
	Added `all tests passed' messages.
1998-08-14 16:05:16 -05:00
Quincey Koziol
650e88756c [svn-r452] Changed tests to use the new dataspace API calls. Still need to add tests for
point selections and strides.
1998-07-06 16:01:59 -05:00
Robb Matzke
1e8ebeecfc [svn-r410] Changes since 19980604
----------------------

./src/H5A.c
	Named data types can have attributes.

	Fixed bugs where the API functions didn't check the return
	values of their internal counterparts and thus the automatic
	error reporting didn't work.

	Fixed some places where the error stack wasn't cleared after a
	function returned failure.

	Data types returned by H5Aget_type() are always read-only.

	If the `attr_num' argument of H5Aiterate() is null then it
	acts like H5Giterate() instead of failing -- it begins
	processing attributes with the first one.

./src/H5D.c
	We check for allocation overruns when scalar datasets are
	stored in external files.

./src/H5O.c
	H5O_modify() will fail if the message is >=16kB.

./src/H5Oattr.c
	Split some long lines

./src/H5T.c
./src/H5Tprivate.h
	Added H5T_entof() to support attributes on named types.

./src/h5ls.c
	Prints the names of attributes and their sizes.

./test/cmpd_dset.c
./test/dsets.c
./test/dtypes.c
./test/extend.c
./test/external.c
./test/gheap.c
./test/istore.c
./test/links.c
./test/shtype.c
	If the environment variable HDF5_NOCLEANUP is defined then the
	temporary files are not removed.  The testhdf5 program still
	has the bug that it removes *.h5, clobbering test files from
	other programs... oh well.

./test/dtypes.c
	Added attribute tests.
1998-06-05 16:03:49 -05:00
Albert Cheng
1327f0c65e [svn-r402] Added cleanup function that removes all temporary test files when
the tests pass.  Should add a "noclean" option that allows the
temporary to stay around even when the tests pass.
1998-05-28 18:02:29 -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
Robb Matzke
65bb86375c [svn-r383] ./src/H5A.c
./src/H5F.c
./src/H5G.c
./src/H5O.c
./src/H5Osdspace.c
./src/H5T.c
./src/H5Tconv.c
./src/H5Z.c
./test/big.c
./test/cmpd_dset.c
./test/dsets.c
./test/extend.c
./test/istore.c
	Now that I have a home-grown version of Purify I fixed all the
	leaks in all the test files.
1998-05-01 00:16:50 -05:00
Robb Matzke
c01750fa74 [svn-r338] Changes since 19980407
----------------------

./src/H5B.c
./src/H5D.c
./src/H5Dprivate.h
./src/H5Dpublic.h
./src/H5F.c
./src/H5Farray.c
./src/H5Fcore.c
./src/H5Ffamily.c
./src/H5Fistore.c
./src/H5Flow.c
./src/H5Fprivate.h
./src/H5Fpublic.h
./src/H5Fsec2.c
./src/H5Fsplit.c
./src/H5Fstdio.c
./src/H5G.c
./src/H5Gent.c
./src/H5Gnode.c
./src/H5HG.c
./src/H5HL.c
./src/H5MF.c
./src/H5MFprivate.h
./src/H5O.c
./src/H5Ocont.c
./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Olayout.c
./src/H5Oname.c
./src/H5Oprivate.h
./src/H5Osdspace.c
./src/H5Oshared.c
./src/H5Ostab.c
./src/H5P.c
./src/H5Ppublic.h
./src/H5S.c
./src/H5Sprivate.h
./src/H5Spublic.h
./src/H5Ssimp.c
./src/H5Tconv.c
./src/H5Tpkg.h
./src/H5V.c
./src/H5Vprivate.h
./src/H5private.h
./src/H5public.h
./src/h5ls.c
./test/cmpd_dset.c
./test/dsets.c
./test/extend.c
./test/external.c
./test/hyperslab.c
./test/iopipe.c
./test/istore.c
./test/shtype.c
./test/tfile.c
./test/th5s.c
	Anything having to do with the size of a dataset now uses the
	types `hsize_t' and `hssize_t' which must be the same size and
	at least as large as `size_t'.  This isn't fully tested yet,
	so hsize_t and hssize_t are defined as size_t and ssize_t in
	H5public.h.  Setting them to larger values will trip up gcc
	versions less than 2.8.1 on x86 platforms.

	Documented unused function formals with `__unused__' before
	the formal name.  This also has the effect of supressing
	warning messages for gcc since it's defined to be
	`__attribute__((unused))' in the H5private.h file.

./src/debug.c
./src/h5ls.c
	If the file name contains a `%' then the file is opened as a
	file family with H5P_DEFAULT for the file member access
	property list.

./src/h5ls.c
	The group name is optional, defaulting to `/'.

./src/hdf5.h
	Added some missing public header files.
1998-04-08 16:43:02 -05:00
Robb Matzke
7bdea74ca9 [svn-r303] Changes since 19980228
----------------------

./html/Dataspaces.html
./html/Errors.html
./html/Files.html
./html/H5.api.html
./html/review1.html
./src/H5private.h
./src/H5public.h
./test/dsets.c
./test/dtypes.c
	Removed all the types like `int32' and `intn' into private
	headers since they violate the naming scheme and pollute
	application name space.  Besides, our test files only use them
	in a handful of places and it's probably useless to export
	them to the app.  The app is always written in terms of
	standard numeric types or its own numeric types and probably
	never in terms of HDF5 numeric types.  If it were, then the
	user would have to copy from their type to hdf5 type for
	almost every hdf5 API function call!  Same goes for return
	values.  I also removed SUCCEED/FAIL from the API since apps
	should be checking against zero anyway.

	       if (FAIL==(space=H5Screate_simple(...))) /*wrong*/
	       if ((space=H5Fcreate_simple(...)<0))     /*right*/


./src/H5.c
	Changed arguments of H5version() from `uintn' to `unsigned'.

./src/H5Tpublic.h
./src/H5T.c
	Changed return type of H5Tget_nmembers() from `intn' to `int'


./src/H5A.c
./src/H5Aprivate.h
./src/H5Apublic.h
	Changed `H5Asearch_func_t' to `H5A_search_func_t' and moved
	its definition from the public to the private header file.


./html/H5.format.html
	Documented changes made to the external file list (H5O_EFL)
	message.

./src/H5D.c
./src/H5Dprivate.h
./src/H5E.c
./src/H5Epublic.h
./src/H5O.c
./src/H5Oefl.c
./src/H5Oprivate.h
./src/H5P.c
./src/H5Ppublic.h
	Added partial support for external raw data files.  HDF5 can
	now describe external raw data files by listing the file
	names, offsets, and size for a dataset. However, we will
	restrict a dataset to be stored "contiguously" when the
	external file list is viewed as a single address space. The
	current implementation is unable to read/write to external
	files--that will come later this week as will documentation.
	For now, take a look at ./test/external.c, particularly the
	calls to H5Pset_external().

./test/Makefile.in
./test/external.c		[NEW]
./MANIFEST
	Added tests for external storage.  Note: the read test is
	supposed to fail at this point since reading external datasets
	is not implemented yet.  There is no write test.

./src/H5S.c
./src/H5Sprivate.h
./src/H5Ssimp.c
	Added H5S_get_npoints_max() to return the maximum possible
	number of data points in a data space.

	Added an extra argument to H5S_get_dims() which returns the
	maximum dims.

./src/H5F.c
./src/H5Fprivate.h
./src/H5Fpublic.h
./src/H5M.c			[DEPRICATED]
./src/H5Mpublic.h		[DEPRICATED]
	Changed `template' to `property list' in lots of places.

./src/H5Osdspace.c
	Removed an extra `\n' from a print statement.

./src/H5S_public.h
	Changed H5S_UNLIMITED to the maximum size_t value.

./test/extend.c
	"Extendable" is spelled "extendible".

./src/H5Farray.c
./src/H5V.c
./src/H5Vprivate.h
./test/hyperslab.c
	Strides are now type ssize_t instead of int.  These have
	nothing to do with the sample granularity arguments for
	hyperslabs, which are also called "strides" in the code.

./test/tstab.c
	Changed assumptions about default address and length sizes.
1998-03-04 11:20:23 -05:00
Quincey Koziol
c543632ba5 [svn-r297] Switched templates to "property lists" and changed API prefix from H5C to H5P 1998-02-25 14:13:49 -05:00
Quincey Koziol
faa3f5739e [svn-r296] Switched prefix for dataspaces from H5P to H5S 1998-02-25 13:48:33 -05:00
Robb Matzke
9bfbfbc9a0 [svn-r291] Changes since 19980206
----------------------

./configure.in
./src/H5Fprivate.h
./src/H5Fsec2.c
	We now detect and use lseek64() on systems that have it (e.g.,
	Irix64) and are able to generate >2GB files on Irix XFS file
	systems (and anything else that supports large files).  This
	change also removed some warning messages from the Irix `-64'
	compiler.

	> $ ls -l istore.h5
	> -rw-r--r--    1 matzke   meshtv   8605436856 Feb 17 14:03 istore.h5

./configure.in
./src/H5Fprivate.h
./src/H5Fstdio.h
	We now detect and use fseek64() on systems that have it (e.g.,
	Irix64) and are able to generate >2GB files on Irix XFS file
	systems (and anything else that supports large files).  This
	change also removed some warning messages from the Iris `-64'
	compiler.

./src/H5E.c
./src/H5Epublic.h
	Added the H5E_OVERFLOW error to signal file address overflow.

./src/H5Fpublic.h
./examples/h5_chunk_read.c
./examples/h5_compound.c
./examples/h5_extend_write.c
./examples/h5_group.c
./examples/h5_read.c
./examples/h5_write.c
./html/Datasets.html
./html/Files.html
./html/H5.api.html
./html/H5.intro.html
./html/H5.sample_code.html
./html/ph5example.c
./html/review1.html
./test/cmpd_dset.c
./test/dsets.c
./test/extend.c
./test/tfile.c
./test/th5p.c
./test/theap.c
./test/tohdr.c
./test/tstab.c
./testpar/phdf5.c
	Renamed file access constants to follow the naming scheme.
	Also changed the base names a little to be more accurate as to
	what they do.  The old names H5ACC_WRITE and H5ACC_OVERWRITE
	will temporarily work.

	     H5ACC_DEFAULT     --> H5F_ACC_RDONLY for H5Fopen()
	     H5ACC_DEFAULT     --> H5F_ACC_EXCL   for H5Fcreate()
	     H5ACC_WRITE       --> H5F_ACC_RDWR
	     H5ACC_OVERWRITE   --> H5F_ACC_TRUNC

	Albert or Kim: The H5ACC_INDEPENDENT and H5ACC_COLLECTIVE
	macros in H5Fpublic.h should be an enum typedef and have names
	more like H5F_MPIO_INDEPENDENT and H5F_MPIO_COLLECTIVE.  Also
	change the access_mode argument of H5Cset_mpio().

	H5Fcreate() and H5Fopen() are more strict now about which
	flags are acceptable for the operation.

./src/H5Fprivate.h
./src/H5F.c
./src/H5C.c
	Changed the file access template to make it more general.  A
	union contains a struct for each type of low-level driver and
	the default template is initialized at run-time.

./src/H5Fpublic.h
./src/H5F.c
	Added H5Fget_access_template() and cleaned up
	H5Fget_create_template().

./src/H5C.c
	The H5Cset_mpi() no longer trashes the file access template
	when an error is detected.  We check for errors and *then*
	update the file access template.

	Added H5C_close() so Albert and Kim have a place to release
	the MPI communicator and info from the file access property
	list.

	Kim or Albert: I notice in H5Cset_mpi() you copy the MPI
	communicator.  Do you need to do something similar in
	H5C_copy()?

./src/H5F.c
	Added more error checking for the file creation and access
	property lists because it used to be possible to make the
	library dump core by swapping the creation and access property
	list ID numbers of H5Fcreate().

./test/istore.c
./test/tfile.c
./test/th5p.c
./test/theap.c
./test/tohdr.c
./test/tstab.c
./testpar/testphdf5.c
	One must pass H5C_DEFAULT as the file creation or access
	property list in order to get the default property list.  It
	is no longer possible to pass zero or any other arbitrary bad
	object ID.

./src/H5Fcore.c
./src/H5Ffamly.c
./src/H5Flow.c
./src/H5Fmpio.c
./src/H5Fsec2.c
./src/H5Fsplit.c
./src/H5Fstdio.c
./src/H5MF.c
	The file access property list is passed to all H5F_low_...()
	functions and to the drivers.

./src/H5Fcore.c
	The block size can be set at run time on a per-file basis
	instead of at compile time across all files. The "5000 items in
	a group test" now takes 1.6 seconds.

./src/H5private.h
	Removed inclusion of mpi.h and mpio.h since they're included
	from H5public.h.

./src/H5Cpublic.h
./src/H5C.c
	Added H5Cset_stdio(), H5Cset_sec2(), H5Cset_core(),
	H5Cset_split(), and H5Cset_family() in addition to the
	H5Cset_mpio() that Kim and Albert already wrote.  We still
	need the H5Cget_driver() and an H5Cget...() counterpart for
	each of those functions.  The split and family drivers still
	need a little work but I'm checking this in anyway.
1998-02-19 13:26:49 -05:00
Albert Cheng
7e8e3eec42 [svn-r230] Changes were actually made by Robb. I am commiting them for him
while he is visiting LLNL.  I changed the default creation template
offset and length to 4.  Will fix the problem later.

Changes since 19980205
----------------------

./src/H5H.c
./src/H5Hprivate.h
./src/H5O.c
./src/H5Ocont.c
./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Olayout.c
./src/H5Oname.c
./src/H5Onull.c
./src/H5Oprivate.h
./src/H5Odspace.c
./src/H5Ostab.c
./src/debug.c
./html/H5.format.html
        Added an extra 4-byte field after the heap magic number for
        alignment on the DEC alpha. Changed object header message
        alignment to 8-bytes.

./src/H5F.c
./src/H5Farray.c
./src/H5Ffamily.c
./src/H5Fistore.c
./src/H5Flow.c
./src/H5Fprivate.h
./src/H5Fsec2.c
./src/H5Fstdio.c
./src/H5Gnode.c
./src/H5O.c
./src/H5Odtype.c
./src/H5P.c
./src/H5Pprivate.h
./src/H5T.c
./src/H5Tconv.c
./src/H5Tpkg.h
./src/H5Tpublic.h
./src/H5V.c
./src/H5detect.c
./test/cmpd_dset.c
./test/dsets.c
./test/dtypes.c
./test/extend.c
./test/hyperslab.c
./test/istore.c
./test/th5p.c
./test/theap.c
        Fixed a few irix64 warnings regarding size_t vs. int,
        variables set but not used, printf formats

./config/irix64
        Added `-woff 1196' to get rid of errors about __vfork() being
        implicitly defined in a system header file.

./src/H5B.c
        Fixed a stack alignment problem.
1998-02-09 14:37:40 -05:00
Robb Matzke
8831ff175c [svn-r210] Changes since 19980130
----------------------

./MANIFEST
./html/study.html		[NEW]
./html/study_1000x1000.gif	[NEW]
./html/study_250x250.gif	[NEW]
./html/study_499x499.gif	[NEW]
./html/study_5000x1000.gif	[NEW]
./html/study_500x500.gif	[NEW]
./html/study_p1.gif		[NEW]
./html/study_p1.obj		[NEW]
	The conclusions from a study of the HDF5 chunking
	layout. Shows overhead and disk seeking.
1998-01-30 22:47:38 -05:00
Robb Matzke
374e5ae39b [svn-r209] Changes since 19980130
----------------------

./INSTALL
	Added instructions for which C flags to set for debugging.

./src/H5C.c
./src/H5Cpublic.h
	H5Cset_chunk() takes const pointer.

./src/H5D.c
./src/H5Dprivate.h
./src/H5Dpublic.h
	Added H5Dextend() to extend the dimensions of a dataset.

./src/H5Osdspace.c
./src/H5P.c
./src/H5Pprivate.h
./src/H5Ppublic.h
./test/cmpd_dset.c
./test/dsets.c
./test/th5p.c
	Added the optional `maxdims' argument to H5Pcreate_simple()
	and defined constant H5P_UNLIMITED which can appear in the
	maxdims.  Added `const' to arguments.

	Implemented H5Pcopy()

	Removed the unused file argument from H5P_modify.

	Added H5P_extend().

	Removed the `flags' field from simple data types and we
	determine if the `max' or `perm' arrays are valid by looking
	at the pointer.  Cleaned up the H5O_sdspace_debug output.

./src/H5T.c
	Fixed a printf format.

./MANIFEST
./test/Makefile.in
./test/extend.c			[NEW]
	Added a test for multi-dimensional unlimited dimensions.
1998-01-30 18:32:28 -05:00