Commit Graph

1812 Commits

Author SHA1 Message Date
Quincey Koziol
c78dc8defa [svn-r15561] Description:
Update extensible array code with function to open an existing earray,
add more tests and avoid running the test when core/split/family/multi VFDs
are used.

	Clean up fractal heap test code a bit and expand some of the tests a
little bit also.

Tested on:
        Mac OS X/32 10.5.4 (amazon) in debug mode
        Mac OS X/32 10.5.4 (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-08-29 15:44:11 -05:00
Quincey Koziol
a4c82ed049 [svn-r15550] Description:
Clean up compiler warnings and code a bit.

Tested on:
	Mac OS X/32 10.5.4 (amazon)
	Too minor to require h5committest
2008-08-28 12:29:11 -05:00
Quincey Koziol
aa03e8bc94 [svn-r15549] Description:
Initial checkin of extensible array data structure prototype code and
regression tests.

	Initial definitions for revised FUNC_ENTER/LEAVE and error reporting
macros, which are being vetted in the extensible array code.

	Minor warning and formatting cleanups in other sections of code.

Tested on:
        Mac OS X/32 10.5.4 (amazon) in debug mode
        Mac OS X/32 10.5.4 (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-08-28 09:57:13 -05:00
Neil Fortner
e9f3b20b64 [svn-r15515] 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:38:46 -05:00
Neil Fortner
9dbe3467d7 [svn-r15505] Change the names of some macros in app_ref.c to prevent warnings on Windows.
Tested: kagiso
2008-08-21 11:49:29 -05:00
Quincey Koziol
12f65badc9 [svn-r15502] Description:
Clean up warnings.

Tested on:
    Mac OS X/32 10.5.4 (amazon)
    Too minor to require h5committest
2008-08-21 10:43:34 -05:00
Quincey Koziol
a1f3523478 [svn-r15488] Description:
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:37:35 -05:00
Neil Fortner
a59d91d192 [svn-r15485] 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:35:16 -05:00
Quincey Koziol
3f643412c8 [svn-r15472] Description:
Correct H5Dopen to H5Dopen2 in error printf

Tested on:
    None, just eyeballed, very trivial.
2008-08-14 06:30:08 -05:00
Neil Fortner
e980307ed9 [svn-r15451] 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:
committest in 1.8 branch.  Committing now due to the urgency of the fix.  No
changes here are specific to the trunk, but I will keep an eye on the daily
tests.
2008-08-07 16:49:05 -05:00
Raymond Lu
8704820d1c [svn-r15395] 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-22 15:36:31 -05:00
Quincey Koziol
516c63299f [svn-r15367] Description:
Add check to avoid mounting the a file on a group twice, then the mounts
are done on the same HDF5 file, but opened with separate H5Fopen calls.

    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.

    This probably fixes Bz#1070 also, I'll check with Dan Anov (who reported
a different sort of behavior, but seems to have the same underlying problem).

Tested on:
    Mac OS X/32 10.5.4 (amazon)
    Linux/64 2.6 (chicago)
2008-07-15 16:00:15 -05:00
Quincey Koziol
0286d971c7 [svn-r15294] Description:
Switch from H5Tarray_create -> H5Tarray_create2 to avoid problem when
building with v16 APIs.

Tested on:
    Eyeballed (5 min before daily tests... :-)
2008-06-28 23:55:48 -05:00
Raymond Lu
8776008f66 [svn-r15290] H5Tpack didn't act correctly with nested compound datatype. The new size of the type in the
inner nest wasn't passed to the outer nest.  This has been fixed.

Tested on kagiso, linew, smirom.
2008-06-27 13:46:32 -05:00
Neil Fortner
a8011f4136 [svn-r15283] Fixed bug 1155, added fillval.c back to windows test file, other minor cleanup in fillval.c.
Tested: kagiso (parallel), smirom, linew
2008-06-26 10:50:13 -05:00
Scott Wegner
5bb358b012 [svn-r15240] Purpose: 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:
VS2005 on WinXP
h5committest (kagiso, linew, smirom)
2008-06-19 13:46:24 -05:00
Scott Wegner
7a92820e35 [svn-r15183] 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 13:41:29 -05:00
Scott Wegner
259d1afce9 [svn-r15165] 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:11:46 -05:00
Scott Wegner
532e23b808 [svn-r15150] 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 13:52:19 -05:00
Quincey Koziol
771bae8888 [svn-r15131] Description:
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:
        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.5.2 (amazon) in debug mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
2008-06-03 14:44:12 -05:00
Scott Wegner
d83709c4e6 [svn-r15128] 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:52 -05:00
Quincey Koziol
bdd56bd8da [svn-r15037] Description:
Better cleanup of internal structures when no szip encoder.

Tested on:
    Linux/32 2.6 (kagiso) w/szip-no encoder
2008-05-19 01:03:16 -05:00
Albert Cheng
ca94c839d5 [svn-r15036] 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 only. It is a trivia change.
2008-05-19 00:06:51 -05:00
Quincey Koziol
2adc43f812 [svn-r15034] Description:
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:34:02 -05:00
Mike McGreevy
e894bb1ec6 [svn-r15020] 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:52:19 -05:00
Quincey Koziol
22f48585bd [svn-r15015] Description:
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:04:56 -05:00
Mike McGreevy
389cc309c5 [svn-r15007] Purpose: configure cleanup
Description: cleaning up configure related to removal of --disable-hsizet
             flag, which we no longer support.

Tested: kagiso
2008-05-15 11:42:03 -05:00
Albert Cheng
7b7f10a444 [svn-r15003] 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.
2008-05-15 00:12:00 -05:00
Mike McGreevy
5bd2405c11 [svn-r14933] Purpose: Updating HDF5 to use automake 1.10.1 and libtool 2.2.2
Description: Applying update to autotools that was applied to 1.8 a couple
             of weeks ago to the trunk.

             Updated bin/reconfigure script to reflect the new versions of 
             libtool and automake in the /home1/packages/ directory.

             Rearranged configure.in script. When using libtool 2.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 (h5committest)
2008-05-05 13:35:55 -05:00
Vailin Choi
8090e1c603 [svn-r14918] Fixed bugs in two tests specific for windows. 2008-05-02 09:57:29 -05:00
Quincey Koziol
d19e5322e2 [svn-r14916] Description:
Clean up files created & cleaned up for dataset tests.

Tested on:
    Max OS X/32 10.5.2 (amazon)
    Too minor to require h5committest
2008-05-01 17:16:39 -05:00
Scot Breitenfeld
aec106e324 [svn-r14903] Undoing change committed in r14902. 2008-04-30 14:51:13 -05:00
Scot Breitenfeld
5773fd34bc [svn-r14902] Merged fortran_1_8 branch changes r14505:14901 into the trunk. New fortran wrappers added. 2008-04-30 14:23:26 -05:00
Quincey Koziol
495ca9c7bb [svn-r14860] 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:
        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.5.2 (amazon) in debug mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
2008-04-24 10:03:41 -05:00
Scott Wegner
aa53664128 [svn-r14853] Purpose: Comment-out 2 windows-specific tests
Description:
Vailin has been working on some new tests for converting Windows paths.  She found a bug that is making these two tests fail, but didn't have time to fix it.  We've commented out the two tests until she has time to fix the bug.  This won't affect other platforms because it's Windows-specific code.

Tested:
VS2005 on WinXP
2008-04-21 08:35:54 -05:00
HDF Tester
a0136eda8d [svn-r14849] Snapshot version 1.9 release 3 2008-04-20 06:32:00 -05:00
Vailin Choi
f1d2209a75 [svn-r14848] Fixed a bug in the external link test for windows. 2008-04-17 21:31:20 -05:00
Vailin Choi
a642c440f7 [svn-r14847] 1. test/links.c: add tests specific for windows
remove HDputenv() from external_link_env() test
                 (will add script later to set HDF5_EXT_PREFIX for running the test)
                 modify and add more comments
2. src/H5private.h: remove #define for HDputenv()

Tested on kagiso, linew and smirom.
2008-04-16 12:13:20 -05:00
Vailin Choi
0f7c9bcd5e [svn-r14822] 1. src/H5private.h: fixed a bug in CHECK_ABSOLUTE() for windows.
2. test/links.c: fixed one external link test to be the same as in 1.8.
2008-04-09 08:56:52 -05:00
Pedro Vicente Nunes
79eec9ff30 [svn-r14818] updated comments 2008-04-08 14:20:38 -05:00
Pedro Vicente Nunes
3c998bb36b [svn-r14816] updated comments 2008-04-08 12:25:29 -05:00
Pedro Vicente Nunes
6a0750aba7 [svn-r14815] added comments 2008-04-08 11:52:45 -05:00
Pedro Vicente Nunes
564ff46555 [svn-r14814] added commnents 2008-04-08 11:49:59 -05:00
Pedro Vicente Nunes
01c6249fbb [svn-r14813] modified the test suite for H5Dget_chunk_info so that it writes a 4X4 dataset by iterating by 2X2 chunks
tested: windows
2008-04-08 11:47:09 -05:00
Pedro Vicente Nunes
e3851ac647 [svn-r14806] add a test for the H5Dget_chunk_info function
at the moment, the test is just a skeleton for future add ins

tested: windows
2008-04-07 13:59:52 -05:00
Vailin Choi
5ad99f2c31 [svn-r14794] Use putenv() instead of setenv() in test/links.c
(solaris did not support setenv() and unsetenv())
2008-04-03 23:16:53 -05:00
Vailin Choi
04c174bde0 [svn-r14789] 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 13:29:17 -05:00
Peter Cao
977f4a6b83 [svn-r14782] Make correction from "H5Pclose(aid)" to "H5Aclose(aid)" 2008-03-27 10:51:25 -05:00
Quincey Koziol
afd5021ef9 [svn-r14738] Description:
Bring r14737 back from the 1.8 branch:    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 17:12:13 -05:00
Quincey Koziol
53c6f67778 [svn-r14720] 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:21:37 -05:00