Commit Graph

2310 Commits

Author SHA1 Message Date
Quincey Koziol
78b5437aeb [svn-r15803] Description:
Bring r15802 back from trunk:

        Skip some file free space tests that deal with aligned allocations when
using the stdio VFD, which has its own allocation process that drops the
unaligned fragments instead of tracking them with the free space manager.

Tested on:
	Mac OS X/32 10.5.5 (amazon) w/stdio driver
2008-10-07 09:16:51 -05:00
Quincey Koziol
bdbdbb9f89 [svn-r15801] Description:
Bring r15800 back from trunk:

		- File free space branch changes through r15794

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-07 08:32:32 -05:00
Quincey Koziol
b256db872d [svn-r15799] Description:
Change H5Tcommit() call to H5Tcommit2() call, so that library builds with
the default API set to v16 work.

Tested on:
    Linux/64 2.4 (smirom) w/default API set to v16
2008-10-06 23:10:48 -05:00
Neil Fortner
a858608a0a [svn-r15797] Purpose: Close bug #1322
Description: Fixes a possible datatype id leak that could occur during compound
datatype conversion, or more precisely, when unregistering those conversions.
Datatype ids normally registered by the library are no longer visible to the
application via H5Fget_obj_ids and H5Fget_obj_count.

Tested: kagiso, linew, smirom (h5committest)
2008-10-06 22:47:56 -05:00
Vailin Choi
a0064d012a [svn-r15766] Modifications for bug #1247 so that the user can specify the driver
to use when opening the external linked target file.
1. Two new public routines are added to H5Plapl.c as well as
"del/copy/close" callbacks for the property itself.
2. Modify H5L_extern_traverse() to use the fapl set via
H5Pset_elink_fapl() and retrieve via H5Pget_elink_fapl().
3. Add 3 tests to links.c to verify H5Pset/get_elink_fapl().

Also fix the compiler warning for the "if condition" in
H5_build_extpath() of H5system.c.
2008-10-03 10:45:54 -05:00
Pedro Vicente Nunes
923d421509 [svn-r15754] Bug #1312
Solution:
Check for the existence of chunks before pruning them (an assertion was triggered when attempting to do so)

Tested: windows , linux, solaris
2008-10-02 13:12:23 -05:00
Raymond Lu
501e01d388 [svn-r15707] I changed the return values of H5Fget_obj_ids and H5Fget_obj_count to ssize_t and modified
C++ and Fortran API functions.  This is for bug #1245. 

Tested on kagiso - I've tested the same change using h5committest.
2008-09-26 14:45:43 -05:00
Neil Fortner
cf451beffa [svn-r15683] Purpose: fix bug 1298
Description: The optimized "subset" compound conversion function would
improperly copy the "blank" space at the end of compound types.  Modified
H5T_conv_struct_init to detect when the subset type has extra space at the end,
and calculate the size of the data that should be copied into the conversion
buffer for each element.  Changes to the functions that implement these
conversions.

Tested: kagiso, linew, smirom (h5committest)
2008-09-22 18:41:58 -05:00
Neil Fortner
8436735388 [svn-r15657] Purpose: fix bug 1286
Description: Added configure test to see if pointer alignment restrictions are enforced (as in dereferencing an unaligned pointer causes an error).  Added code in H5Tvlen.c to avoid dereferencing unaligned pointers, conditionally compiled based on the configure test.  Added test case in dtypes.c which would previously cause such machines to fail.

Tested: kagiso, smirom, linew (h5committest); linew64
2008-09-18 15:54:36 -05:00
Quincey Koziol
b9be045596 [svn-r15629] 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 11:22:16 -05:00
Neil Fortner
b134708f2e [svn-r15516] Fix faulty error checking in call to H5I_remove().
Add prototype to the top of app_ref.c to suppress warning.

Tested: kagiso
2008-08-21 17:39:35 -05:00
Quincey Koziol
742fd2739e [svn-r15507] Description:
Bring r15501 back from trunk:

    Clean up warnings.

Tested on:
    Mac OS X/32 10.5.4 (amazon)
    Too minor to require h5committest
2008-08-21 12:04:04 -05:00
Neil Fortner
e70ea8d243 [svn-r15506] Change the names of some macros in app_ref.c to prevent warnings on Windows.
Tested: kagiso
2008-08-21 11:50:14 -05:00
Neil Fortner
2ab2b19d71 [svn-r15492] Added missing test. 2008-08-19 20:25:13 -05:00
Quincey Koziol
7637f1b521 [svn-r15489] Description:
Bring rev. 15488 back from trunk:

    Fix bug where library could core dump when an invalid location ID was
passed to H5Giterate() (and add test for this case).

Tested on:
    Mac OS X/32 10.5.4 (amazon)
    Too minor to require h5committest
2008-08-19 14:42:11 -05:00
Neil Fortner
4b141cbc6a [svn-r15486] Purpose: Allow library to shut down properly when objects have reference count
> 1.

Description: Added a new field 'app_count' to H5I_id_info_t struct, to track
    the reference count on an id due to the application.  the old 'count' field
    tracks the total.  Generally any id visible to the application gets placed
    in app_count.  Added app_ref boolean parameter to H5I_inc_ref, H5I_dec_ref,
    H5I_register, H5I_clear_type, and a few other functions, to specify whether
    the operation(s) being performed on the id(s) are due to the application
    (TRUE) or not (FALSE).  Test added for this case.

Tested: kagiso, smirom, linew (h5committest)
2008-08-19 11:36:55 -05:00
Neil Fortner
2df9af6ae8 [svn-r15450] Purpose: Fix various problems that were occurring when using mounted files.
Description:
Moved mount table from top file structure to shared file structure.  Moved
parent out of mount table and back into top file structure.  mounted files can
now be accessed from any handle of the parent file.  Changes to how files are
closed.  Stricter cycle checking on mounted files.  Removed unused function
H5F_has_mount().

Tested:
kagiso, smirom, linew (h5committest)
2008-08-07 16:32:36 -05:00
Raymond Lu
9b6cc394cd [svn-r15392] Minor bug fix. The test tried to close an attribute handle with H5Pclose. Corrected it with
H5Aclose.  

No test needed.
2008-07-22 09:47:18 -05:00
Raymond Lu
e7037ad072 [svn-r15390] Last round of checkin introduced a bug. This checkin corrected it and made a few minor
changes.  

Last round of check in fixed the problem when an attribute was opened twice and data was 
written with one of the handles, the file didn't have the data.  It happened because each 
handle had its own object structure, and the empty one overwrote the data with fill value.
This is fixed by making some attribute information like the data be shared in the
attribute structure.

Tested on smirom, kagiso, and linew.
2008-07-21 11:50:22 -05:00
Quincey Koziol
d6dadadc7e [svn-r15368] Description:
Bring back r15367 from the trunk:

    Add check to avoid mounting a file on a group twice, when the mounts
are done on the same HDF5 file, but opened with separate H5Fopen queries.

    Also add new 'mounted' flag to the H5G_info_t struct, queried with the
H5Gget_info() API call, to allow applications to detect and avoid this
situation.

Tested on:
    Mac OS X/32 10.5.4 (amazon)
    Linux/64 10.5.4 (chicago)
2008-07-15 16:23:19 -05:00
Raymond Lu
32a3d96939 [svn-r15345] Commented out tsohm.c and tattr.c test because there's a bug related to the changes of attribute
in the library.

Tested on linew - simple change.
2008-07-11 14:05:31 -05:00
Scott Wegner
81de0a75cc [svn-r15338] Purpose: Reset fill value in correct hyperslab selection (fixes bug 1155)
Description:
This bug was previously fixed, but the fixed was modified slightly from the 1.8 branch and the trunk.  The problem is that after we write a particular byte to manipulate the fill values, we need to write it back before reading and comparing to the expected value.  The previous change makes the second write after the hyperslab is manipulated, so the initial hyperslab is still incorrect.

Tested:
VS2005 on WinXP (32- and 64-bit)
h5committest
2008-07-08 12:03:45 -05:00
Raymond Lu
9f56d7f5ab [svn-r15330] When an attribute was opened twice and data was written with one of the handles,
the file didn't have the data.  It happened because each handle had its own
object structure, and the empty one overwrote the data with fill value.  This is
fixed by making some attribute information like the data be shared in the
attribute structure.

Tested on smirom, kagiso, and linew.
2008-07-07 12:00:03 -05:00
Raymond Lu
d238f0663c [svn-r15305] Changed H5Tcreate_array to H5Tcreate_array2 from last checkin for the bug fix for
H5Tpack.  The problem was that H5Tpack didn't act correctly with nested
compound datatype.

Tested on smirom - simple change.
2008-07-01 11:25:08 -05:00
Raymond Lu
2b1ee377c3 [svn-r15297] Bug fix for H5Tpack. The problem was that H5Tpack didn't act correctly with nested
compound datatype.  The size of compound type's member type wasn't updated.  It's
fixed in this commit.

Tested on smirom.  The same change was tested on three systems for v1.9.
2008-06-30 14:00:44 -05:00
Neil Fortner
11b12d8f96 [svn-r15284] Fixed bug 1155, added fillval.c back to windows test file, other minor cleanup in fillval.c.
Tested: kagiso
Same fix in trunk: kagiso (parallel), smirom, linew
2008-06-26 11:18:22 -05:00
Scott Wegner
f2a745a0bb [svn-r15241] Purpose: Port bugfix from trunk: Fix ohdr Windows timezone bug
Description:
On Windows, certain users were having trouble with the "ohdr" test, which does some processing on object header messages.  The errors were hard to reproduce on our machines, and we eventually determined that the errors were timezone-specific.

The bug is triggered on Windows when processing timestamps very near the "Epoch" (midnight on 1/1/1970)-- the mktime() function does some automatic adjustment on the time to correct for timezones.  In the USA, the correction adds a few hours; in Europe, it subtracts, thus giving us times pre-Epoch.

This only affects Windows because the Windows mktime() function cannot handle times before 1970-- other systems seemingly can.

The fix is to simply create timestamps only as early as 01/02/1970.  This way, any timezone adjustment will still be post-Epoch.

This bug only affects the ohdr test, and shouldn't be a problem in the library.  The earliest timestamps that will actually be read will be around the time HDF5 was created (~1996-7, per Quincey).

Tested:
(tested in trunk)
VS2005 on WinXP
h5committest (kagiso, linew, smirom)
2008-06-19 13:48:27 -05:00
Scott Wegner
6df2bbd6e9 [svn-r15181] Purpose: _WIN32 macro cleanup
Description:
As part of our Windows cleanup, we try to remove windows-specific tweaks in the source code.  There are many instances where Windows code is introduces via ifdef's.  We re-evaluate whether they are still required, and found that many of them are not.  Others we change to "feature"-specific code, rather than Windows-specific.

Tested:
VS2005 on WinXP
VS.NET on WinXP
h5committest (kagisopp, smirom, linew)
2008-06-09 12:31:22 -05:00
Scott Wegner
720a985115 [svn-r15163] Purpose: Create new HDpthread_self and HDpthread_self_ulong macros
Description:
On Windows, the pthread_self function cannot be used to print the returned thread ID for debugging.  Instead, we need a separate function, GetCurrentThreadId.  To eliminate some Windows ifdef's in the code, we create two new function macros which can be used by all platforms.  It is conditionally defined in H5win32defs.h, and globally in H5private.h.

Tested:
VS2005 w/ pthreads on WinXP
kagiso w/ pthreads
2008-06-06 14:10:20 -05:00
Scott Wegner
0b5f34bfa6 [svn-r15160] Purpose: Separate Windows function macro definitions to win32defs.h
Description:
In library code, we try not to use system calls directly, but instead use the HD{function} macro instead.  This way, we can map special versions of the call on particular systems.  Previously, it was all done in H5private.h.  However, in an effort to clean up platform-specific definitions, we move all of the Windows macros into a separate file, win32defs.h.  This way, we can use the non-Posix versions that Visual Studio sends warnings about.

Some macros are set specifically in the platform-specific header files.  Then, any macros left unset will be set by the "default" implementation in H5private.h.

This checkin also cleans up various source files to use the HD* macros when possible.

Tested:
VS2005 on WinXP
VS.NET on WinXP
h5committest (kagiso, linew, smirom)
2008-06-05 16:39:30 -05:00
Quincey Koziol
79380c228c [svn-r15132] Description:
Bring back revision 15131 from trunk:

        Finish omnibus chunked dataset I/O refactoring, to separate general
    actions on chunked datasets from actions that are specific to using the v1
    B-tree index.

        Cleaned up a few bugs and added some additional tests also.

Tested on:
    Mac OS X/32 10.5.3 (amazon)
    Linux/32 2.4 (chicago)
2008-06-03 15:34:58 -05:00
Scott Wegner
0eb9e1ac43 [svn-r15127] Purpose: Make Windows threadsafe debug message more useful
Description:
On Linux-like systems, we can get the ID of the current thread through a pthread_self.  However on Windows, the return cannot be cast as a threadID, so we simply couldn't get the ID.  Previously we simply gave up and printed a message that we couldn't get an ID.  Instead, though, we can use the Windows-specific call to GetCurrentThreadId(), which achieves the same goal.  This way we can provide better debug output with threadsafe features.

Tested:
VS2005 on WinXP
VS.NET on WinXP
(other platforms not tested because change is within _WIN32 ifdef)
2008-06-02 15:39:02 -05:00
Albert Cheng
4344cf5391 [svn-r15042] Bug fix.
Description:
The fortran Makefile.am used HDF_FORTRAN to indicate it is part of the
Fortran API source so that conclude.am will give fortran api prefix in the
test output.  The symbox HDF_FORTRAN is also used in configure for a different
purpose (indicated --enable-fortran). They conflicted.
Similar problem for the symbol HDF_CXX.

Solution:
Changed all the involved Makefile.am to use "FORTRAN_API" instead. It is
a more appropriate name.  Same for CXX_API.

Along the way, discovered that the Makefile.am of hl/fortran/test and
hl/cxx/test did not have those symbols at all.  Added them in.

Platform tested:
Kagiso serial and h5committested (kagisopp, smirom, linew).
2008-05-19 20:29:26 -05:00
Quincey Koziol
8a2023b552 [svn-r15038] Description:
Bring revision 15037 from trunk:

    Better cleanup of internal structures when no szip encoder.

Tested on:
    Linux/32 2.6 (kagiso) w/szip-no encoder
2008-05-19 01:05:31 -05:00
Quincey Koziol
90b94c00fe [svn-r15035] Description:
Backport revision 15034 from trunk: 

	Correct another case of using 'size_t' for chunk sizes where 'uint32_t'
was necessary.

Tested on:
	FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN
2008-05-18 23:47:38 -05:00
Albert Cheng
feab08a0ee [svn-r15033] Purpose:
Improvement.

Description:
src/libhdf5.settings was the initial configure summary and is installed.
Then configure is changed to dump a summary of the configure settings to
the output and also append it to src/libhdf5.settings.  That created
two different output formats and duplicated information.  This is the
initial attempt to clean up this confusion and unify the output format.

It is decided to use the src/libhdf5.settings template as the unified means.
This requires more macros symbols be defined. The following symbols are
all related to generating the src/libhdf5.settings file.

AC_SUBST(EXTERNAL_FILTERS)
AC_SUBST(MPE) MPE=no
AC_SUBST(STATIC_EXEC) STATIC_EXEC=no
AC_SUBST(HDF_FORTRAN) HDF_FORTRAN=no
AC_SUBST(FC) HDF_FORTRAN=no
AC_SUBST(HDF_CXX) HDF_CXX=no
AC_SUBST(CXX) HDF_CXX=no
AC_SUBST(HDF5_HL) HDF5_HL=yes
AC_SUBST(GPFS) GPFS=no
AC_SUBST(LINUX_LFS) LINUX_LFS=no
AC_SUBST(INSTRUMENT) INSTRUMENT=no
AC_SUBST(CODESTACK) CODESTACK=no
AC_SUBST(HAVE_DMALLOC) HAVE_DMALLOC=no
AC_SUBST(DIRECT_VFD) DIRECT_VFD=no
AC_SUBST(THREADSAFE) THREADSAFE=no
AC_SUBST(STATIC_SHARED)
AC_SUBST(enable_shared)
AC_SUBST(enable_static)
AC_SUBST(UNAME_INFO) UNAME_INFO=`uname -a`

The src/libhdf5.settings.in has CONDITIONAL's added to it too.  The
untrue conditions turned into a "#" and these lines are cleaned by the 
post processing script.

Platform tested:
h5committest on kagiso, smirom and linew. (smirom had failures not due to
my changes.)
2008-05-18 21:25:13 -05:00
Mike McGreevy
c5fa17ae84 [svn-r15019]
Purpose: Configure Fix

Description: The test program h52gifgentst was getting installed in the bin
             directory during 'make install', and it shouldn't. Make now builds
             the program for use in testing but doesn't install it during
             'make install'.

Tested:      kagiso
2008-05-16 12:42:16 -05:00
Quincey Koziol
c23c6b9392 [svn-r15016] Description:
Port revision 15015 back to 1.8 branch:

>     Detect chunks that are >4GB before dataset gets created and return error
> to application.
> 
>     Tweak lots of internal variables that hold the chunk size/dimensions to
> use an 'uint32_t', instead of a 'size_t', so that the integer size is constant.
> 
>     Correct a number of our tests which were creating datasets with chunks
> that were >4GB and add some specific tests for >4GB chunk size detection.
> 
>     Minor whitespace & other code cleanups.

Tested on:
    Mac OS X/32 10.5.2 (amazon)
    Forthcoming testing on other platforms...
2008-05-15 22:27:13 -05:00
Mike McGreevy
362e5d9a10 [svn-r15006] Purpose: configure cleanup
Description: cleaning up configure related to removal of --disable-hsizet
             flag, which we no longer support.

Tested: kagiso
2008-05-15 10:48:48 -05:00
Vailin Choi
cb79e86d4b [svn-r14952] 1. test/links.c: put in external link tests for windows
2. src/H5private.h: remove #define for HDputenv()
2008-05-08 08:30:30 -05:00
HDF Tester
c44f697040 [svn-r14931] Snapshot version 1.8 release 0 (snap5) 2008-05-04 20:44:48 -05:00
Quincey Koziol
06dc01d40e [svn-r14917] Description:
Clean up files created & cleaned up for dataset tests.

Tested on:
    Mac OS X/32 10.5.2 (amazon)
    Too minor to require h5committest
2008-05-01 17:19:40 -05:00
Quincey Koziol
e66cb6fec6 [svn-r14861] Description:
Bring revision 14860 back to 1.8 branch, change log for rev 14860 is:

        Omnibus raw data I/O revisions, with wide-ranging changes and
refactoring, in order to prepare for implementing "fast append" feature.

        These changes remove the majority of the code duplication for raw data
I/O which has crept in over the last ten years and introduces a more object-
oriented design for operating on different types of dataset storage.

Description:
        Omnibus raw data I/O revisions, with wide-ranging changes and
refactoring, in order to prepare for implementing "fast append" feature.

        These changes remove the majority of the code duplication for raw data
I/O which has crept in over the last ten years and introduces a more object-
oriented design for operating on different types of dataset storage.

        Chunked storage no longer has it's own I/O routines, it is now handled
as either contiguous (if chunk is not pulled into the cache) or compact (if the
chunk is cached in memory).

        No bug or feature changes, at least intentionally... :-)

Tested on:
    Mac OS X/32 10.5.2 (amazon) w/production
2008-04-24 10:39:32 -05:00
Mike McGreevy
934d532544 [svn-r14824] Purpose: Updating HDF5 1.8 to use automake 1.10.1 and libtool 2.2
Description:     Updated bin/reconfigure script to reflect the new versions of
                 libtool and automake in the /home1/packages/ directory.

                 Rearranged configure.in script. For some reason, when using
                 libtool 2.2, the libtool script doesn't generate until
                 later in the configuration process, so I had to move
                 a test that parsed through the libtool script to a point 
                 after where it was actually being generated.

                 Ran libtoolize on the project, and ran bin/reconfigure to
                 regenerate configure and Makefile.in's throughout.

Tested:          kagiso, smirom, linew, tg-login
2008-04-10 15:52:14 -05:00
Vailin Choi
bcba07c53e [svn-r14795] Use putenv() instead of setenv() in src/links.c
(sol does not support setenv())
2008-04-04 13:48:15 -05:00
Vailin Choi
cff7516ca7 [svn-r14791] Add handling for external link:
1. src/H5F.c, src/H5system.c: formulate path for mainfile
2. src/H5Lexternal.c: add search for target file
3. configure.in: add H5_HAVE_WINDOW_PATH
4. test/links.c: add tests for external link
2008-04-02 14:33:08 -05:00
Quincey Koziol
f331bba32c [svn-r14737] Description:
Fix bug which would incorrectly encode the member offsets for compound
datatypes whose size was between 256 & 511 bytes, when the "use the latest
format" feature was enabled.

Tested on:
    Mac OS X/32 10.5.2 (amazon) w/debug
    FreeBSD/32 6.2 (duty) w/production
2008-03-13 16:44:18 -05:00
Quincey Koziol
4982e15623 [svn-r14722] Description:
Minor bug fix to H5Aget_num_attrs() to return error when an invalid
location ID is passed in.

Tested on:
    Mac OS X/32 (amazon)
    Too minor to require h5committest
2008-03-11 17:25:46 -05:00
Raymond Lu
bbe565bdaf [svn-r14586] Added more tests. Test both H5Sselect_elements and H5Sselect_hyperslab, for both chunked and
contiguous datasets.

Tested on smirom, kagiso, and linew.
2008-02-15 10:25:58 -05:00
John Mainzer
9d241fd66e [svn-r14445] Added code to detect the situation in which a metadata cache entry flush
callback functions modifies the skip list or LRU out from under a partial
or complete flush of the cache.  This is a test for a situation that 
should not occur, but we test anyway.

Also added code to skip longer tests in cache_api in express tests.

Tested serial and parallel on phoenix (debian --x86-32), and commit test.

Elena commit tested as well, and ran a manual test under MacOS X.
2008-01-20 00:01:29 -05:00