Commit Graph

52 Commits

Author SHA1 Message Date
Raymond Lu
3015df0a5b [svn-r13501] Suppress the compiler warning about the equality comparison of floating-point values. 2007-03-12 10:52:52 -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
Christian Chilan
73dafaf54c [svn-r13148] Added a test to verify that current dataspace dimensions cannot be H5S_UNLIMITED. 2007-01-17 15:48:58 -05:00
James Laird
869ed6e043 [svn-r13113] Refactoring. Cleaned up code, added a few sanity checks.
Extracted duplicated code into functions.

Tested on Windows, juniper, and kagiso.  Will test on copper next.
2007-01-05 13:30:59 -05:00
James Laird
b6c317f27c [svn-r12902] Checkin of Shared Object Header Message work.
This feature is still in progress; Shared Object Header Messages are not
complete as a feature and are not thoroughly tested.  There are still
"TODO" comments in the code (comments with the word "JAMES" in them,
so as not to be confused with other TODO comments).

Hopefully this checkin will reduce the liklihood of conflicts as I finish
implementing this feature.

All current tests pass on juniper, copper (parallel), heping, kagiso, and mir.
2006-11-13 15:41:36 -05:00
Quincey Koziol
e40557304f [svn-r12803] Description:
Finish new version of the I/O pipeline message, which is much smaller than
the previous version.  This version is used with the "use the latest version
of the format" flag.

    Closed several memory leaks/overruns (found with valgrind).

    Also, lots of compiler & formatting cleanups.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-10-23 15:40:14 -05:00
Quincey Koziol
14dcb6db33 [svn-r12736] Description:
Add "use the latest format" support for dataspace object header encode/
decode routines and clean up format a bit for the latest format (new to 1.8.x
releases)

    Remove storing 'perm' parameter for array datatypes in memory and the file,
and add test to make certain that if any user applications are attempting to
store them, we get some reports back.  (Should be unlikely, since the RefMan
says that the parameter is not implemented and is unsupported).
    Carry those changes into the tests, etc.

    Clean up a bunch more compiler warnings.

Tested on:
    FreeBSD/32 4.11 (sleipnir) w/threadsafe
    Linux/32 2.4 (heping) w/FORTRAN & C++
    Linux/64 2.4 (mir) w/enable-1.6-compat
2006-10-08 23:18:18 -05:00
James Laird
14d12aebd0 [svn-r12327] Purpose:
Bug fix

Description:
A datatype wasn't being closed in th5s.c

Solution:
This minor oversight caused an error with my Object Header code.
The datatype is now closed in the test.

Platforms tested:
windows, mir, copper
2006-05-03 17:04:30 -05:00
Quincey Koziol
0891038562 [svn-r11686] Purpose:
New feature

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

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

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    h5committested
2005-11-06 22:13:53 -05:00
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
3df2828991 [svn-r8981] Purpose:
Code cleanup

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

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    h5committested
    IRIX64 6.5 (modi4)
2004-08-02 09:03:40 -05:00
Quincey Koziol
d60d367930 [svn-r8964] Purpose:
Revise new feature

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

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Too minor to require h5committest
2004-07-27 22:51:43 -05:00
James Laird
5a19f181b3 [svn-r8953]
Purpose:
Bug fix

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

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

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

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

Platforms tested:  fuss and h5committest.

Misc. update:  RELEASE.txt
2004-07-21 16:30:26 -05:00
James Laird
129f72fb3e [svn-r8899]
Purpose:
Bug Fix

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

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

Platforms tested:
sleipnir (very minor change)
2004-07-20 11:26:40 -05:00
Quincey Koziol
e5e786f589 [svn-r8782] Purpose:
Code cleanup

Description:
    Clean up almost all warnings from Windows builds.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    Too minor to require h5committest
2004-07-01 15:02:47 -05:00
Quincey Koziol
76d71de747 [svn-r8377] Purpose:
Code cleanup

Description:
    Added more tests

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2004-04-17 15:32:01 -05:00
Raymond Lu
48d84a1bbc [svn-r8334] Purpose: Bug fix
Description:  Variable name "class" conflicts with C++ key word.

Solution: changed it to "type"

Platforms tested:  RH 8
2004-04-09 14:42:05 -05:00
Raymond Lu
1dad73cae0 [svn-r8331] Purpose: Last step of check-in for Null dataspace
Description:  Mainly are header message changes for dataspace.  In last round
of check-in, a new header message for dataspace to created, which is not a good
way.  Now, there will be no new message for dataspace, but just add the type of
dataspace in the message while increment its version number.  Backward compatibility
is addressed.  The attribute design is modified accordingly.  Took out Null
dataspace test from tmisc.c and put it in th5s.c.


Platforms tested: h5committest
2004-04-08 16:23:19 -05:00
Elena Pourmal
6f0be2df0d [svn-r8239] Purpose: Brought back changes from 1.6 branch (small bug fix)
Description: Wrong datatype was used to calculate the size of data buffer


Solution: Used correct the datatype

Platforms tested: partially h5comittested (sol and verbena);
                  tested manually for sequential version on copper

Misc. update:
2004-03-08 15:09:52 -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
e270be267b [svn-r6662] Purpose:
Code cleanup

Description:
    Switched some system/library calls to use wrappers.


Platforms tested:
    FreeBSD 4.8 (sleipnir) w/C++
    Linux 2.4 (burrwhite) w/FORTRAN
    Solaris 2.7 (arabica) w/FORTRAN
    IRIX64 6.5 (modi4) w/parallel & FORTRAN

    (h5committest not run due to my ongoing difficulties with C++ on burrwhite).
2003-04-14 06:18:55 -05:00
Quincey Koziol
351d3f5ebb [svn-r6597] Purpose:
Code cleanup

Description:
    Corrected a few comments.

Solution:

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    Linux 2.4 (eirene)

Misc. update:
2003-04-08 14:53:01 -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
dd5cc739c1 [svn-r6109] *** empty log message *** 2002-11-20 07:52:49 -05:00
Elena Pourmal
6eb49711cb [svn-r5525]
Purpose:
    Bug fix (#699), fix provided by a user, approved by Quincey
Description:
    When a scalar dataspace was written to the file and then
    subsequently queried with the H5Sget_simple_extent_type function,
    type was reported H5S_SIMPLE instead of H5S_SCALAR.
Solution:
    Applied a fix (see bug report 699) and modified out test program
    to exercise the case.
Platforms tested:
    Solaris 2.7 and Linux 2.2.18
2002-06-04 11:23:22 -05:00
Quincey Koziol
d456c2bb82 [svn-r4643] Purpose:
Code cleanup
Description:
    Windows is generating hundreds of warnings from some of the practices in
    the library.  Mostly, they are because size_t is 32-bit and hsize_t is
    64-bit on Windows and we were carelessly casting the larger values down to
    the smaller ones without checking for overflow.

    Also, some other small code cleanups,etc.

Solution:
    Re-worked some algorithms to eliminate the casts and also added more
    overflow checking for assignments and function parameters which needed
    casts.

    Kent did most of the work, I just went over his changes and fit them into
    the the library code a bit better.

Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-11-27 11:29:13 -05:00
Quincey Koziol
bac55034d8 [svn-r4509] Purpose:
Test bug fix.
Description:
    When reading or writing to chunked datasets and the data needed datatype
    conversion, and the amount of data was more than one conversion buffer,
    data in the conversion buffer was getting corrupted.
Solution:
    Corrected error in advancing buffer pointer where it was being advanced
    by the number of elements instead of the number of bytes.
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-10-02 11:58:16 -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
e7e8b02c3a [svn-r3745] Purpose:
Code Tweaks
Description:
    "FILE" macro for file names was getting confused with Standard C __FILE__
    macro on certain platforms.
Solution:
    Changed "FILE" macro usage to "DATAFILE"
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-03-31 22:25:53 -05:00
Albert Cheng
cb876a28a1 [svn-r3677] Purpose:
Bug fix (sort of)
Description:
    The RCSID string in H5public.h was causing the C++ code problem as it
    was included multiple times and C++ did not like multiple definitions
    of the same static variable.
Solution:
    Since we don't really make use of the RCSID strings as we have not
    installed it in all source files, we decided to remove it.
Platforms tested:
    eirene (linux), modi4 (IRIX64-64) both serial and parallel modes.
2001-03-20 16:32:24 -05:00
Quincey Koziol
09a8e85f27 [svn-r3652] Purpose:
Code cleanup
Description:
    Binh-Minh found several places where parameters and/or return-values in the
    tests were not matching the current parameters for functions in the library.
Solution:
    Walked through the code and aligned the parameters and return-values with
    the current functions.
Platforms tested:
    FreeBSD 4.2 (hawkwind)
2001-03-16 13:17:25 -05:00
Quincey Koziol
7c935bbd09 [svn-r3307] Purpose:
Code cleanup
Description:
    File was being opened around several dataspace operations which don't
    need the file to be open.
Solution:
    Removed file open/close around the dataspace operations.
Platforms tested:
    FreeBSD 4.2 (hawkwind)
2001-01-19 13:47:24 -05:00
Albert Cheng
493f90f74a [svn-r2725] Purpose:
Bug fix.
Description:
    Could not find the pre-created file for the H5S_MAX_RANK test
    when --srcdir option is used.  testhdf5 was looking for it
    in the currect directory only.
Solution:
    Make use of the value of the environment variable srcdir that
    is passed to the tests.  Compose the real location of the testfile
    in order to open it even from a remote build directory.
Platforms tested:
    Modi4, arabica, eirene
2000-10-24 13:58:31 -05:00
Quincey Koziol
51ba7ad48c [svn-r2717] Purpose:
Change test files for increased maximum dimension constant.

Description:
    space_overflow.c - added some simple error checking.

    th5s.c - corrected test case for maximem dimensions to use correct file
        and actually test what is supposed to be tested... :-)

    th5s.h5 - regenerated with increased dimensions.

Platforms Tested:
    FreeBSD 4.1.1 (hawkwind)
    Solaris 2.5 (baldric)
2000-10-20 15:57:56 -05:00
Quincey Koziol
43017c3d9a [svn-r2132] Tested H5Screate_simple & H5Sset_extent_simple disallowing
size 0 dimensions without corresponding unlimited dimension.
2000-04-12 17:02:26 -05:00
Albert Cheng
cee43a0f30 [svn-r1129] Test bugs fixed in T3E port.
external.c:
    Test assumed sizeof(int) is 4.  Changed the hard-coded values
    to values depending on the native sizeof(int).

th5s.c:
    Changed hardcoded old filenames to macro FILE.
1999-03-09 18:13:22 -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
f7545efc76 [svn-r795] Changes since 19981026
----------------------

./MANIFEST
./test/th5s.h5			[NEW]
./test/th5s.c
	Added a test to make sure that creating a data space with too
	large a rank fails.

	Added a test to make sure that reading a file that has a
	dataset with a space with too large a rank fails.  Actually,
	this one is a little weird: the code that reads the data space
	message assumes the space is scalar if the message cannot be
	read. Fortunately the layout message fails also, preventing
	the dataset from being opened.  However, since the data type
	message is still visible h5ls will report that the object is a
	named data type.

./test/space_overflow.c		[NEW]
	This is the little program that makes the th5s.h5 file.

./src/H5A.c
./src/H5R.c
./src/H5Sselect.c
	Updated trace info.

./src/H5Olayout.c
./src/H5Osdspace.c
	Added code to fail if the dimensionality is too large when
	decoding a layout or simple data space message.

./src/H5Oprivate.h
	Redefined H5O_LAYOUT_NDIMS in terms of H5S_MAX_RANK.

./src/H5P.c
./src/H5S.c
	Check for ndims>H5S_MAX_RANK in API function calls, added
	assert to internal functions.

./src/H5V.c
	Changed a `<' to an `<=' in an assert.

./test/flush2.c
	Includes stdlib.h for getenv().

./tools/h5tools.c
	Able to handle up to H5S_MAX_RANK dimensions during output.
1998-10-26 14:55:54 -05:00
Quincey Koziol
4aa79bb211 [svn-r641] Changed function names for beta release. 1998-08-31 22:35:23 -05:00
Quincey Koziol
8e9136b837 [svn-r533] Added tests for H5Sextent_class (renamed H5Sget_class) 1998-07-23 14:03:01 -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
Quincey Koziol
63be23d70d [svn-r459] Changed H5Sget_npoints call to H5Sextent_npoints and H5Sselect_npoints calls. 1998-07-07 15:03:50 -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
Albert Cheng
b81abe336d [svn-r445] Added individually named cleanup_xxx routine to each test module file
to cleanup temporary files used by that particular module.
Added a cleanup() routine to testhdf5 that calls all the other
cleanup_xxx() routines to do cleanup.
Cleanup action can be disabled either by -c (no cleanup) option
or HDF5_NOCLEANUP environment variable.
1998-07-02 19:57:00 -05:00
Robb Matzke
23465486ed [svn-r432] Changes since 19980617
----------------------

./html/Datatypes.html
./src/H5T.c
./src/H5Tconv.c
./src/H5Tpkg.h
./src/H5Tpublic.h
./src/H5detect.c
./test/cmpd_dset.c
./test/dsets.c
./test/dtypes.c
./test/external.c
./test/tattr.c
./test/th5s.c
	Organized the predefined data types.

./html/H5.intro.html
	NO MODIFICATIONS!  This file is a mess (obviously generated
	from something else) so I skipped updating it!

./src/h5ls.c
./test/dsets.c
./test/tattr.c
./test/th5s.c
	Added extra argument to H5Sget_dims() calls per Albert's last
	update.
1998-06-18 16:03:30 -05:00
Quincey Koziol
a9a1a52fec [svn-r380] Finished tests for scalar dataspaces with both datasets and attributes. 1998-04-28 17:33:07 -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
Quincey Koziol
e4d89c2cd6 [svn-r319] Removed H5M API from code 1998-03-12 16:04:53 -05:00