Commit Graph

404 Commits

Author SHA1 Message Date
Albert Cheng
84fa11d2c7 [svn-r13261] Updated copyright notices.
Tested: visual inspection as they are all just comments.
2007-02-07 14:56:21 -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
59eccdaf69 [svn-r13181] Added a configure check to prevent a failure on Cygwin.
It seems that while Cygwin supports the time command, it has trouble with
the syntax
srcdir="../../hdf5/test" time ./testhdf5
and complains.
The solution is to test the above case in configure and not to use the time
command if it fails; Cygwin is fine with
srcdir="../../hdf5/test"  ./testhdf5

Tested on Cygwin and kagiso.  This feature shouldn't be a major compatibility
problem since every platform but Cygwin is already fine with the current
syntax.
2007-01-23 12:29:45 -05:00
Albert Cheng
1c53181756 [svn-r12967] Cleanup.
The h5_mpi_get_file_size() is no longer used.  The unused code caused some
compiling warning messages.  Removed the whole routine.

Tested in heping pp mode.
2006-11-21 23:21:02 -05:00
Albert Cheng
9f45ec7671 [svn-r12966] Fixed an missing parameter in a printf call in io_mode_confusion.
Tested in heping pp.
2006-11-21 19:35:38 -05:00
James Laird
6b5a918b1e [svn-r12929] Hopefully this really is a fix for the tg-login errors.
The version of libtool used by HDF5 isn't directly affected by the reconfigure
script; instead, libtoolize --force must be used by hand.  Libtool was the
source of the problem, so rolling its version back to 1.5.14 should solve the
issue (at least temporarily).

Reconfigure should still work on both heping and kagiso.

Tested on heping, kagiso, and tg-login3.
2006-11-16 15:44:35 -05:00
James Laird
a9397f3f51 [svn-r12911] Backed up to previous versions of automake and libtool. Hopefully this will fix
issues on tg-login3.

bin/reconfigure should still work on both heping/mir and kagiso.
2006-11-14 11:15:07 -05:00
James Laird
911e79b273 [svn-r12887] A fix for linking issues.
Should disable linking against shared libraries in Fortran for compilers that
don't support shared libraries.

Should also fix problem when the wrong Fortran file extension was specified.

If these changes don't solve the Daily Test issues, I'll look at backing out
the autotool version change until I have time to fix them.

Tested on heping, kagiso, juniper.
2006-11-10 14:56:04 -05:00
James Laird
a9350e86f0 [svn-r12882] Changed bin/reconfigure to work on kagiso as well as on AFS Linux machines.
Updated to the latest versions of autotools.

Tested on kagiso, heping, and juniper.  Let me know if you have any problems.
2006-11-08 13:39:15 -05:00
Quincey Koziol
05c0302e35 [svn-r12844] Description:
Fix parallel build failure for property list class initialization refactor.

Tested on:
    AIX (copper) w/parallel
2006-11-02 11:01:54 -05:00
Albert Cheng
84bd65e8fc [svn-r12811] Purpose:
Bug fix.

Description:
AIX complained if some files are still open when MPI_Finalize is called,
so code called _exit without calling MPI_Finalize.  But in Linux hosts
with MPICH, the MPI processes terminated but the launch processes got
stuck waiting for those processes to end properly and they would hang
on forever.  As more tests ran, more processes got stuck.

Solution:
In order to please both AIX and MPICH, the MPI file handles are retrieved
and closed outside of the HDF5 library, then call MPI_Finalize and then
_exit.

Tested:
in heping and copper.
2006-10-24 19:09:25 -05:00
Albert Cheng
9b24333b19 [svn-r12750] Purpose:
Bug Fix (Bug 544)

Description:
SGI Altix's MPI_File_get_size overflowed at 2GB and more.
Replaced h5_mpi_get_file_size calls by h5_get_file_size.

Tested:
Cobalt.
2006-10-11 21:12:24 -05:00
James Laird
de383a7edf [svn-r12741] Added support for direct I/O to check-vfd. The direct VFD is only tested
if it is enabled.

Added Direct VFD status to the configure summary.

Removed a line left over from pablo support.  Oops!
2006-10-10 15:47:24 -05:00
Albert Cheng
ad80fe7ea9 [svn-r12725] Purpose:
Bug Fix (Bug 544)

Description:
SGI Altix's MPI_File_get_size overflowed at 2GB and more.
Put in a temporary patch to use stat() instead to make Cobalt
passing on this test (bigdset).  A better fix (like detect if
MPI_File_get_size does not work before using this is preferred.)

Tested:
Cobalt and Heping.
2006-10-05 19:27:05 -05:00
Leon Arber
3ac3e03244 [svn-r12717] Purpose: Bug Fix
Description:
	It seems that, on AIX, calling MPI_Finalize without closing all files results in an error.
	This causes t_pflush1 to fail because the whole point of the test is to see what happens if you
	don't close a file.  Try getting rid of the call to MPI_Finalize to see if this will silence the error.

Tested:
	AIX (copper)
2006-10-03 19:36:04 -05:00
James Laird
e5f0444b3a [svn-r12715] Incorporated a user-submitted patch to better detect the 'tr' utility
and quote its arguments.  Also checks for the 'socket' library on
Solaris.

If this patch passes the Daily Tests and makes the user happy, I'll
port it back to the 1.6 branch.

Tested on mir and sol.
2006-10-03 17:41:34 -05:00
Leon Arber
9da1caea15 [svn-r12704] Purpose: Bug fix
Description: 
    Fix copper failures by adding MPI_Finalize call and also close the dataset and file in case of failure prior to exiting.
2006-10-02 12:45:53 -05:00
Leon Arber
c7a381b324 [svn-r12697] Purpose: New Feature
Description:
    Preliminary test of H5Fflush to verify that it still works when using MPIO collective mode.

Platforms:
    Linux (heping)
2006-10-01 16:27:47 -05:00
Quincey Koziol
24725d64aa [svn-r12668] Description:
Re-run 'bin/reconfigure' script after recent checkins

Tested on:
    none - shouldn't have any affect on compilation
2006-09-15 15:06:01 -05:00
Frank Baker
749a0b9c17 [svn-r12640]
Description:
    Add per-directory abbreviated copyright notices 
    (abbreviated COPYING files pointing to full notices).
Tested:
    MANIFEST verified; not otherwise tested.
2006-09-04 13:30:13 -05:00
James Laird
9d4229713e [svn-r12608] Checked in External Link C examples.
Since these examples need to follow filesystem paths, the Makefiles need
to create directories in the examples directory; added this to the
Makefile.am.

Tested on Windows, mir, juniper
2006-08-22 11:22:43 -05:00
John Mainzer
db9759bd10 [svn-r12594] Added small parallel test for modification of H5C_insert_entry() allowing
insertion and pinning of a cache entry in one call.

h5commit tested
2006-08-17 16:59:49 -05:00
James Laird
e5bc52d890 [svn-r12584] Mentioned VFD in test output to make it easier to tell which VFD is being used
when a test is run.

Running reconfigure also regenerated error header files (because someone edited
them manually?).
2006-08-17 09:18:03 -05:00
MuQun Yang
00b54cf131 [svn-r12554] New tests have been added to test the correctness of independent IO with file setview.
To activite this test,
add the command option -i.
For example, at IBM AIX, type "poe testphdf5 -i" will test the library with independent IO with file setview. It simply replaces all the collective IO tests with independent IO with file setview.
2006-08-08 22:16:07 -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
John Mainzer
801b5b09f2 [svn-r12462] Committed a variety of metadata cache related changes:
1) Added trace file support to the metadata cache.  This allows capture
   of all metadata cache calls in trace files for purposes of optimization
   and debuging.

2) Added an expunge entry function.  This allows an entry to be deleteded
   from the cache without writing it to disk even if it is dirty.

3) Added a function call to resize pinned entries.

4) Added code to deal with entries that are dirty on load.  This is
   needed in support of a bug fix which can alter object headers on
   load to repair files.

5) Added progress reporting code to the "MDC API smoke check" test in
   cache_api.c.  To enable the progress reporting, set report_progress
   to TRUE in mdc_api_call_smoke_check().

Tested with h5committest, and a parallel test on phoenix (dual athelon
linux box).
2006-07-13 12:59:39 -05:00
Quincey Koziol
7be3afb278 [svn-r12440] Purpose:
Code cleanup

Description:
    Trim trailing whitespace in Makefile.am and C/C++ source files to make
diffing changes easier.

Platforms tested:
    None necessary, whitespace only change
2006-06-27 09:45:06 -05:00
James Laird
64b5d95251 [svn-r12431] Purpose:
Configuration feature

Description:
'make install' now tests both static and shared libraries if both are installed.

Solution:
Previously, shared libraries were only tested when static libraries were not installed.
Also cleaned up line in commence.am that was including HL library in all Makefiles.

Platforms tested:
mir (Makefile change only)
2006-06-21 18:15:08 -05:00
James Laird
a31e264f89 [svn-r12411] Purpose:
Bug fix - bugzilla #552

Description:
On Cray X1, trying to use : as an argument confused the system.

Solution:
Added a test in configure to see if : as an argument is bad.
If so, skipped the test.

Platforms tested:
mir, Cray X1 (change to configure only)
2006-06-13 16:21:14 -05:00
Albert Cheng
bb2b806485 [svn-r12407] Purpose:
slight cleanup.

Description:
Changed the name of write type from write to write_pattern.

Platforms tested:
h5committested.
2006-06-06 10:24:38 -05:00
Albert Cheng
fbb0267346 [svn-r12405] Purpose:
Bug fix.

Description:
It failed when only 1 is used to test.

Solution:
Cleanup the code a little so that it works for any number
of processes to invoke it.

Platforms tested:
h5committested,
2006-06-06 01:55:26 -05:00
MuQun Yang
681d0a964c [svn-r12401] Purpose:
Some collective chunk IO macro names are confusing, change them to more meaningful
names.

Description:
H5Pset_dxpl_mpio_chunk_opt will set a flag so that the library can do one linked IO or mul
ti-chunk IO with collective in chunking storage directly. That is, the library won't do an
alyses to determine this.

The flags for the enum type we used before are:
H5FD_MPIO_OPT_ONE_IO
H5FD_MPIO_OPT_MULTI_IO

They are not good names because of the following two reasons:

1. It doesn't reflect chunking storage
2. OPT is kind of redundant and misleading,
Solution:
We change the names to
H5FD_MPIO_CHUNK_ONE_IO
H5FD_MPIO_CHUNK_MULTI_IO

Platforms tested:
Since only macro names are changed, no need to test with h5committest.
Misc. update:
2006-06-03 13:40:47 -05:00
Albert Cheng
849a6c299d [svn-r12396] Purpose:
Bug fix.

Description:
Sometimes the parallel prefix is given in the form of nfs:/mnt/pfs which
if given to a non-MPIO VFD like the default H5Fcreate, it would fail.
Called h5_rmprefix which would return the non-prefix component
part of the file name which would be okay for the default H5Fcreate and
such.

Platforms tested:
Tested in heping parallel.
2006-06-01 17:57:29 -05:00
Albert Cheng
8698c5ce5e [svn-r12380] Purpose:
Feature
(Code and tests are done by Christian.  I just committed the code.)

Description:
Rewrote the purpose of this test. Now it tests these three cases,
/*
 * Test following possible scenarios,
 * Case 1:
 * Sequential create a file and dataset with H5D_ALLOC_TIME_EARLY and large
 * size, no write, close, reopen in parallel, read to verify all return
 * the fill value.
 * Case 2:
 * Sequential create a file and dataset with H5D_ALLOC_TIME_EARLY but small
 * size, no write, close, reopen in parallel, extend to large size, then close,
 * then reopen in parallel and read to verify all return the fill value.
 * Case 3:
 * Sequential create a file and dataset with H5D_ALLOC_TIME_EARLY and large
 * size, write just a small part of the dataset (second to the last), close,
 * then reopen in parallel, read to verify all return the fill value except
 * those small portion that has been written.  Without closing it, writes
 * all parts of the dataset in a interleave pattern, close it, and reopen
 * it, read to verify all data are as written.
 */

Platforms tested:
Tested in copper, tg-ncsa and heping, all in parallel mode.
2006-05-26 17:11:00 -05:00
John Mainzer
a415cc6b17 [svn-r12374] Purpose:
1) Check in potential fix to unreproduceable bug in t_cache observed on
   Cobalt

2) Check in code supporting added pinned entry features in the metadata
   cache.


Description:

1) Elena encountered a bug in t_cache when running on Cobalt.  On
   investigation I found a potential race condition in t_cache that
   could explain her observation.

2) Quincey requested additions to the metadata cache allowing renaming
   of pinned entryies, and marking of pinned or protected entries as
   dirty.


Solution:

1) Modified t_cache.c to prevent the potential race condition.  Elena
   was unable to reproduce the bug on Cobalt, so we don't know if my
   fix actually addressed the problem.

2) Added code supporting the requested functions.  The changes were
   relatively trivial, but required substantial new test code.


Platforms tested:

h5committest, serial test on heping, parallel test on phoenix.


Misc. update:
2006-05-24 02:36:28 -05:00
Albert Cheng
56c0a0f993 [svn-r12358] Purpose:
Bug fix.

Description:
The ${TR}, though avoid the error, is inconvenient.  It is needed
because configure.in use the char range in the style of 'a-z'.
The other style of '[a-z]' is more commonly accepted by all tr
but autoconf tends to strip away [], making the syntax rather
clumsy.

Solution:
Learned from autoconf that it avoids the use of character range
by just spell all the letters out.  Changed our tr commands to
use those variables defined by autoconf.  Also removed the
definition of ${TR} since it will cause inconsistancy when
autoconf also use plain 'tr' in its generated code.

The Makefile.in are changed because the elimination of ${TR} from
configure triggered its removal from all Makefil.in.  That is okay
because ${TR} is not used at all in Makefile.

Platforms tested:
h5committested. (sol failed to connected). also tested in shanti
using both /usr/ucb/tr and /bin/tr (the bad one before.)

Misc. update:
Updated both INSTALL and RELEASE files.
2006-05-19 07:22:07 -05:00
John Mainzer
720f6cb065 [svn-r12321] Purpose:
Bug fix


Description:

Fix two test bugs:

1) Unitialized variable bug in test of H5C_get_entry_status()
   (in test/cache.c)

2) Incorrect initialization of constant in t_cache when running
   with MPE. (in testpar/t_cache.c)


Solution:

1) Don't test uninitialize variable.

2) Correct initialzation of constant in MPE case.


Platforms tested:

Tested on Heping and Copper.


Misc. update:
2006-05-02 01:06:38 -05:00
Quincey Koziol
eb96132022 [svn-r12316] Purpose:
Code cleanup/feature twist

Description:
    Adjust recent H5AC routines to take H5F_t pointers instead of H5C_t
pointers, to match the rest of the H5AC routines.

    This change propagated into a few of the tests, which also had some
compiler warnings cleaned up...

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Linux 2.4/64 (mir) w/C++ & FORTRAN
2006-04-29 14:28:23 -05:00
John Mainzer
8a7b9b3221 [svn-r12311] Purpose:
Add pinned entry capability to cache.


Description:

For frequently accessed cache entries, the protect/unprotect overhead
is sometimes a bottleneck.


Solution:

Allow entries to be pinned in the cache.  Pinned entries can't be
evicted, but can be flushed or modified.


Platforms tested:

h5committested -- minus one small typo in test/cache.c whose fix was
                  tested on copper and heping only.


Misc. update:
2006-04-28 08:27:54 -05:00
James Laird
91e56dc68d [svn-r12295] Purpose:
Several bug fixes

Description:
Added config file for Cray X1 (previous file was misnamed)
Simplified some code in hyperslab.c test that seemed to have been
confusing compiler on Cray X1.
Fixed typo in config/commence.am
Cleaned up hl/src/Makefile.am

Solution:
All four fixes should be straightforward.  The failure on Cray was
very difficult to debug, but involved arithmetic errors.
This change seems to fix it.

Platforms tested:
heping, copper, sol, some Cray X1 (more testing when system comes back up)
2006-04-21 14:21:24 -05:00
Quincey Koziol
d7573cbc85 [svn-r12292] Purpose:
Code maintenance

Description:
    Remove flexible parallel code

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4 (heping)
    Solaris 2.9 (shanti)
    Linux 2.4/64 (mir)
2006-04-20 18:54:47 -05:00
Pedro Vicente Nunes
bc66efc788 [svn-r12229] Purpose:
new feature

Description:
1) separated the HL library into "public" and "private" header files, with the same caracteristics as the basic library
2) added the public headers to hdf5.h (with a conditional include macro, defined in configure.in)
3) added the path to HL in all Makefile.am 's , because of the inclusion in hdf5.h

Solution:

Platforms tested:
linux 32, 64
AIX
solaris
with fortran and c++

(one packet table example fails)

Misc. update:
2006-04-12 16:21:38 -05:00
Albert Cheng
246b280cd6 [svn-r12227] Purpose:
bug fix.

Description:
The MPE_Stop_log did not work in copper.  It spewed out MPE errors
and ended in infinite looping.

Solution:
Changed to a smaller test size to avoid generating huge MPE log files
when MPE is configured in.

Platforms tested:
Copper (mpe)

Misc. update:
2006-04-12 13:41:08 -05:00
Albert Cheng
6952f48096 [svn-r12224] Purpose:
Bug fix.

Description:
When MPE is used, the test generates huge Clog files in /tmp that
could fill up the disk (like in Copper.)

Solution:
Turned off MPE logging.

Platforms tested:
heping (pp) and copper(pp)

Misc. update:
2006-04-11 15:01:58 -05:00
MuQun Yang
117dbae7f8 [svn-r12174] Purpose:
Adding parallel tests for optional collective chunk APIs

Description:
Three new APIs
"H5Pset_dxpl_mpio_chunk_opt_ratio
H5Pset_dxpl_mpio_chunk_opt_num
H5Pset_dxpl_mpio_chunk_opt"
for optional optimization choices from users
have been added to the libraries.

This check-in adds six tests to verify the funcationality and correctedness
of these APIs.
These tests need to be verified with 3 or more processors and with MPI-IO driver only.


Solution:
Using H5Pinsert, H5Pget, H5Pset to verify that the library indeed goes into the branch we hope for.
Using H5_HAVE_INSTRUMENT macro to isolate these changes so that it won't affect or be misused by the application.

Platforms tested:
h5committest(shanti still refused to be connected)
Parallel tests on heping somehow are skipped. Manually testing at heping. Have checked
1,2,3,4,5 processes.

Misc. update:
2006-03-29 09:35:26 -05:00
James Laird
93aa12407f [svn-r12149] Purpose:
Bug fix

Description:
Previous checkin did a bad thing; 'make clean' failed in example directories.

Solution:
Fixed commence.am so that examples no longer break, and fixed a mistake
in conclude.am.

Platforms tested:
heping (minor makefile change)

Misc. update:
2006-03-23 16:26:17 -05:00
MuQun Yang
b22b47ced5 [svn-r12148] Purpose:
Add tests for optional APIs to support collective chunk IO

Description:

In order to test whether library picks up the user's options,
The number of chunks need to be varied for different processes,
Selection of the number of processes selected in one chunk also
need to be varied.
Solution:
Create two cases,

1. Each chunk only selected by one unique process, this case
library should use independent for collective call.
2. One-third of the processes occupies the top half of the whole domain,
   The rest of the processes occupies the lower half of the domain.
   The total number of chunk is a fixed number 8.

Platforms tested:
Linux 2.4 with mpich 1.2.6(only)

Since I only checked in the code that handles the selection, haven't added any new tests yet. So it won't affect any platforms.


Misc. update:
2006-03-23 16:18:02 -05:00
James Laird
524d25498f [svn-r12143] Purpose:
Bug fix

Description:
make check-clean didn't clean results of example tests

Solution:
Fixed Makefiles so that check-clean recurses into example directories.
Also a little Makefile cleanup.

Platforms tested:
mir, modi4, heping, copper
2006-03-23 09:22:34 -05:00
MuQun Yang
15f0a2e95c [svn-r12142] Purpose:
change the array size of collective chunking features of parallel tests.

Description:
Previously array size for collective optimization tests
including
cchunk1,
cchunk2,
cchunk3,
cchunk4,
ccontw,
ccontr,
cschunkw,
cschunkr,
ccchunkw,
ccchunkr

are fixed,
They are only valid for some good number of processors(1,2,3,4,6,8,12,16,24,32,48 etc).
Recently there are more requests for parallel tests to be valid on some odd number of processes such as 5,7,11,13 etc.


Solution:
I change the array size to be dynamic rather than static. Now the fastest change array size is a function of mpi_size. dim2 = constant *mpi_size. After some tunings, theoretically the above tests should be valid for any number of processors. However, other parallel tests still need to be tuned.

To verify the correctness of these tests, using mpirun -np 5 ./testphdf5 -b cchunk1 at heping.
Platforms tested:
h5committest(shanti is refused to be connected)
at heping, 5 and 7 processes are used to verify the correctness.

Misc. update:
2006-03-22 21:50:09 -05:00
MuQun Yang
0f0a5eb918 [svn-r12044] Purpose:
Add new tests

Description:
Collective IO doesn't work for some platforms/mpio packages when more than
one process has no contributions to IO.
Solution:
1. Add a collective IO test to verify the correctness of the library when
   more than one process has no contributions to IO.
2. Add the similar MPI-IO test in t_mpi to help us maintain in more platforms.
Platforms tested:
heping, mir, copper
Misc. update:
2006-03-09 09:52:09 -05:00
Albert Cheng
516c242b04 [svn-r11992] Purpose:
Improvement.

Description:
The t_cache takes a long long time to run and it tests HDF5 calls.
Move it to the back and let more basic tests to run first so that
basic features are tested first.

Platforms tested:
Tested in heping with pp.
2006-03-01 00:54:07 -05:00
MuQun Yang
caefcc2133 [svn-r11953] Purpose:
code cleanup

Description:
remove two printf lines accidently added for debugging at NCSA cobalt.

Solution:

Platforms tested:
No need to test.

Misc. update:
2006-02-17 15:55:20 -05:00
MuQun Yang
25837d324e [svn-r11951] Purpose:
Enhance collective chunk IO supports

Description:
Add a new test to check the correctness of the HDF5 library behavior for collective IO mode when one process doesn't have any contribution for IO.

Solution:

Platforms tested:
IBM AIX 5.2(copper)
Linux (heping) mpich-1.2.6


Misc. update:
2006-02-16 12:12:08 -05:00
John Mainzer
42d4edcb4a [svn-r11915] Purpose:
Attempt to ensure that the parallel cache test runs at a reasonable
speed with large numbers of processors.

Description:

In some cases, the number of random locks and unlocks was a multiple of
the MPI rank.

Solution:

Use rank % 4 instead of simply rank.

Platforms tested:
copper

Misc. update:
2006-01-31 16:09:37 -05:00
John Mainzer
43df732a9b [svn-r11904] Purpose:
Add a file that I forgot in my last checkin.

Description:

t_cache.c is the source file for the new parallel metadata cache test.


Solution:

See above.

Platforms tested:

h5committested before the last checkin.  Will run another
h5committest shortly, but it shouldn't be necessary as there
are no new changes.

Misc. update:
2006-01-28 21:34:52 -05:00
John Mainzer
dfb1f40cbb [svn-r11897] Purpose:
1) Add parallel test for metadata cache

2) Split serial test for metadata cache into two parts

3) Fix bug in which cache was flushed needlessly when the
   cache wasn't full.

4) Performance improvements

5) Update API for parallel cache coherency bug fix.

Description:

See above.

Solution:

See above.

Platforms tested:

h5committest


Misc. update:
2006-01-27 17:58:48 -05:00
Albert Cheng
16ec392760 [svn-r11866] Purpose:
bug fix 504

Description:
testpar/t_mpi would hang if  $HDF5_NOCLEANUP is set.  E.g.,
% env HDF5_NOCLEANUP=yes mpirun -np 3 ./t_mpi

This happened because the environment variables are not exported to all
mpi processes by the mpirun command.  So, some attempted to do cleanup
while others don't and some hang waiting for others to act.

Solution:
Instead individual program checking getenv, they all just called h5_cleanup
no matter.  h5_cleanup now uses getenv_all to check the $HDF5_NOCLEANUP if
it is in parallel mode.

Platforms tested:
h5committested, tested pp in heping too.
2006-01-06 09:52:25 -05:00
Albert Cheng
a735b263d3 [svn-r11798] Purpose:
Feature.

Description:
Modified it so that it can be compiled outside of HDF5 library as a standalone
program.  e.g., mpicc -DSTANDALONE prog.c.

Platforms tested:
Tested in Red storm and heping.
2005-12-16 03:08:54 -05:00
Albert Cheng
cfbc02d030 [svn-r11788] Purpose:
Patch.

Description:
Copper would fail with a message of
0032-113 Out of memory  in routine unknown, task 0
when run with 3 processes and size 1MB in MPI-IO tests.
It seems to be a copper MPIO error.

Solution:
Reduced the upper bound of default write size to 1/2MB (but
tests only go to 1/4MB) for now, pending permenant fix from
Copper.

Platforms tested:
Copper.
2005-12-12 14:42:34 -05:00
Leon Arber
8d90fdaf96 [svn-r11786] Purpose:
Minor bug fixes.

Description:
1.  Changed free() calls to HDfree()
2.  Corrected behavior of -m command-line parameter
3.  Changed return value to always return 0.

Solution:

2.  The -m flag tells the test to run only the MPI IO tests.  However, it would incorrectly make
the test run both the MPI and POSIX tests (same as the default behavior).

3.  This test is known to fail on many platforms, and, even on those platforms where it usually passes,
it is known to suffer transient failures (especially with small test file sizes).  It's outcome is
also very dependent on the filesystem on which the testfile is created.  Corrected
the program to always return success, so that it doesn't interfere with the daily tests.

The motivation for this is that
this test has nothing to do with the HDF library and is an auxiliary test.  Failures in t_posix_complaint
do not necessarily mean that parallel HDF will fail, but simply indicate something to look into,
especially on new platforms.  This is now an "output only" test, and any errors will be only be visible
in the output.

Platforms tested:
copper (all of these were minor changes)

Misc. update:
2005-12-11 13:40:07 -05:00
Albert Cheng
8ec440e959 [svn-r11783] Purpose:
bug fix.

Description:
Fixed the segmentation fault errors in modi4, copper and tg-login.
It was due to the misuse of trying to realloc a pointer returned by
getenv_all. (not supposed to.)

Also rearranged the code so that option is checked first, then check
with environment variable, then use default setup.  This saves the
need to do realloc at all.

Platforms tested:
Heping, modi4, shanti, copper (copper showed a different error now.)
2005-12-10 23:28:31 -05:00
Leon Arber
4d6d659c41 [svn-r11778] Purpose:
Bug fix.

Description:
For some strange reason, getopt() does not appear to be defined in unistd.h
on colonelk when the source is compiled with -D_POSIX_SOURCE.


Solution:
Inserted some extern's for the missing variables to make the compiler happy.

Platforms tested:
colonelk, copper

Misc. update:
2005-12-08 16:44:55 -05:00
Leon Arber
1ff1d02c68 [svn-r11777] Purpose:
Feature

Description:
Added blurb about future todo's for this test.

Added support for HDF5_PARAPREFIX to determine the directory where the test file
is stored.

Solution:
Used getenv_all to get the value of HDF5_PARAPREFIX.  Note that, if a command-line
parameter is passed to the program to specify a path, it will override the value of
HDF5_PARAPREFIX.

Platforms tested:
copper, colonelk

Misc. update:
2005-12-08 16:24:51 -05:00
Leon Arber
3f766acd0c [svn-r11776] Purpose:
Added t_posix_compliant to the rest of the build and patched up minor
compile bugs/warnings encountered on other platforms.

Description:
It seems that <getopt.h> needs to be included to get the file to build, even though the man page
seems to indicate that <unistd.h> should be sufficient.

Solution:

Platforms tested:
copper, colonelk, sol
2005-12-08 15:33:19 -05:00
Leon Arber
5e58d47b98 [svn-r11772] Purpose:
Feature

Description:
Added posix compliance tests.

Solution:
These tests do increasingly complicated sets of writes followed by reads.
POSIX standards say that any read that can be proven to occur after a write
must include the data in that write.  These tests attempt to verify whether the
underlying filesystem and i/o layer provide such guarantees.


Platforms tested:
copper, colonelk, red storm

Misc. update:
2005-12-08 14:14:28 -05:00
James Laird
0f870b0f47 [svn-r11741] Purpose:
Bug fix

Description:
Fortran type generation was broken in two ways.  Fixed both.

Solution:
Firstly, there were a couple of path problems.  Fixed a typo and
specified the full path of a file.
Secondly, the dependencies weren't right when building with HDF5-specific
commands (make lib, make check-s, etc.).  Tweaked dependencies
to fix the problem.

Platforms tested:
mir, modi4, sleipnir
2005-11-18 15:31:53 -05:00
James Laird
4f8ca8e026 [svn-r11738] Purpose:
Configure feature

Description:
Added 'make trace' target.

Solution:
Added tracing to 1.7.  This was done automatically in 1.6, but left out
of 1.7 until now (oops!).
Tracing in 1.7 only happens manually, when the user types 'make trace.'
Tracing automatically requires more framework than it's worth.
I also fixed a couple of tracing bugs and ran trace.

Platforms tested:
mir, sleipnir, modi4

Misc. update:
2005-11-18 10:55:22 -05:00
James Laird
75ea10e5f5 [svn-r11737] Purpose:
Bug fix

Description:
Before this checkin, 'gmake check-s' would fail if there was a file in
the current directory named 'check-s'.
This is fixed under gmake (not sure how to fix for other makes).

Solution:
check, progs, install, etc. are what gmake calls "phony" targets,
which means that no file should be created.  These targets can be
specified by a line of the form
.PHONY: check progs install ...
Automake adds this line for targets it knows about, but HDF5 has a
lot of custom rules.  This checkin adds a .PHONY line for those rules.
I believe that only gmake recognizes the .PHONY line (at least, pmake
doesn't seem to), but a partial solution is better than none.
This error should occur very rarely anyway (the user has to manually
create files with names like 'build-check-s' or '_test').

Platforms tested:
mir, sleipnir, modi4
2005-11-17 13:49:28 -05:00
James Laird
617522e467 [svn-r11646] Purpose:
Bug fix/feature

Description:
Added support for -shlib in h5fc and h5c++.
Made check-install use -shlib when only shared libraries have been installed.

Solution:
h5fc and h5c++ didn't recognize -shlib.  Stole code from h5cc to link against
shared libraries.
When static libraries are disabled, the examples Makefiles will automatically
use the -shlib option to link against shared libraries.  Thus,
--disable-static and make check-install should work together.

Platforms tested:
heping(disable-static, enable-static, fortran, c++), modi4 (disable-static, fortran, c++, parallel, enable-static)
2005-10-31 16:35:49 -05:00
James Laird
91cbcdf42f [svn-r11612] Purpose:
Bug fix

Description:
Failed parallel tests now cause make to exit with an error.

Solution:
Edited config/conclude.am to throw an error if parallel test programs fail.

Platforms tested:
heping, modi4
2005-10-27 17:30:46 -05:00
James Laird
69293e09df [svn-r11602] Purpose:
Bug fix

Description:
Removed detection of pdb from configure.in as a corollary to removal
of pdb2hdf5 tool.


Platforms tested:
mir, modi4
2005-10-24 14:31:06 -05:00
MuQun Yang
a1d3ff30ac [svn-r11576] Purpose:
Adding comments and code clean-up for code that tests collective irregular selection

Description:
For better maintenance in the future, Add comments to list the number for
(start,count,block,stride) for irregular selection for effective testing
collective chunk IO feature development in the future.

Solution:

Platforms tested:
Linux 2.4(heping), mostly comments, no need to test on other platforms.



Misc. update:
2005-10-18 10:47:13 -05:00
James Laird
87a56d9da2 [svn-r11573] Purpose:
Bug fix

Description:
Changed configure.in to use an environment variable TR to set the path
to the tr utility.

Solution:
There are two kind of tr on Solaris with slightly different syntax.
HDF5's configure relies on the "standard" tr.  Traditionally, HDF5ers
have needed to make sure that the "right" tr was found before the
wrong one in their path; now they can use an environment variable.

Platforms tested:
mir, shanti, sol

Misc. update:
Forgot to update release notes.  Off to do that now.
2005-10-17 16:38:38 -05:00
MuQun Yang
d8c3b5b771 [svn-r11572] Purpose:
Code clean-up for collective regular chunk IO tests.

Description:
Add descriptions for each tests for future maintenance.

Solution:

Platforms tested:
Mostly comments, No need to use h5committest.
heping(linux 2.4)

Misc. update:
2005-10-17 15:48:16 -05:00
James Laird
bcf3f797d4 [svn-r11566] Purpose:
Makefile bug fix

Description:
Previously, automake didn't output rules to build perform/mpi-perf or
the test/gen_* programs.
Now these can be built by typing 'make mpi-perf' (or 'make foo') or by
configuring with --enable-build-all.

Solution:
Automake doesn't like having rules for programs it doesn't build.  Tricked
it by having these programs built "sometimes"--whenever the user enables
--build-all.  This should be used mostly for testing and to ensure that
these helper programs compile.

***IMPORTANT***
These programs do *not* currently compile.  When --enable-build-all is used
(not the default), gen_new_fill fails because it uses an old API.  This is
an existing "bug" that has simply been exposed by this checkin.

Platforms tested:
sleipnir, modi4, sol

Misc. update:
2005-10-14 17:52:13 -05:00
Leon Arber
3888942e3a [svn-r11483] Purpose:
bug fix.

Description:
The complex derived datatype test assumed that the fill value would be 0.  This is not
the case on all systems.

Solution:
Modified the test to check against a known value in the outbuf array, instead of the fill value.

Platforms tested:
heping and MCR.

Misc. update:
2005-09-29 15:49:51 -05:00
Leon Arber
202b9ec55c [svn-r11481] Purpose:
bug fix.

Description:
Fixed typo in a comment.  The word "file" was supposed to be "fill."  The explanation of
how the complex derived datatype test works is much clearer now.

Solution:

Platforms tested:
minor change.

Misc. update:
2005-09-29 13:54:57 -05:00
Albert Cheng
55c4f63df7 [svn-r11478] Purpose:
bug fix.

Description:
When a parallel test script test fails, make would continue because the
way it was setup inside a for loop.  Fixed it by issuing an exit 1 inside
the loop.

There was also a typo error in the newer command comparision that it
must be $${chkname} in order to be valid.  Also, the test script itself
was not checked in the newer lists.  All fixed.

Platforms tested:
h5committested and also hand tested in heping pp mode.
2005-09-29 00:17:06 -05:00
John Mainzer
c100b0bf26 [svn-r11470] Purpose:
Repair synchronization bug in the metadata cache in PHDF5

Also repair numerous other bugs that surfaced in testing the
bug fix.


Description:

While operations modifying metadata must be collective, we allow
independant reads.  This allows metadata caches on different processes
to adjust to different sizes, and to place the entries on their dirty
lists in different orders.  Since only process 0 actually writes
metadata to disk (all other processes thought they did, but the writes
were discarded on the theory that they had to be collective), this made
it possible for another process to modify metadata, flush it, and then
read it back in in its original form (pre-modification) form.  The
possibilities for file corruption should be obvious.


Solution:

Make the policy that only process 0 can write to file explicit, and
visible to the metadata caches.  Thus only process 0 may flush dirty
entries -- all other caches must retain dirty entries until they are
informed by process 0 that the entries are clean.

Synchronization is handled by counting the bytes of dirty cache entries
created, and then synching up between the caches whenever the sum
exceeds an (eventually user specified) limit.  Dirty metadata creation
is consistent across all processes because all operations modifying
metadata must be collective.

This change uncovered may bugs which are repaired in this checkin.
It also required modification of H5HL and H5O to allocate file space
on insertion rather than on flush from cache.


Platforms tested:

H5committest, heping(parallel & serial)

Misc. update:
2005-09-27 00:20:11 -05:00
MuQun Yang
e42782fa3a [svn-r11459] Purpose:
A bug fix

Description:
MPI_Status_IGNORE is treated as a NULL pointer for mpich 1.2.4 or similar MPI packages.
It caused segmentation fault for MPI derived datatype test.


Solution:
Define MPI_STATUS status,
and pass &status into MPI_File_read and MPI_File_write.

Platforms tested:
too trivial to test.

Misc. update:
2005-09-22 09:39:32 -05:00
Albert Cheng
d67e59d9b2 [svn-r11458] Purpose:
Improvement.

Description:
The test may hang if there are system failures that some processors
are not working.

Solution:
Added the ALARM calls to limit all tests be done with the default
alarm time.  So, even if a process is hanging, the ALARM signal
would terminate the process.

Platforms tested:
tg-login2 of NCSA.

Misc. update:
2005-09-21 23:32:24 -05:00
Pedro Vicente Nunes
f9a87fa0f4 [svn-r11450] Purpose:
bug fix

Description:

the MPI_File_get_size returns a different value in one of the tests in Windows
comment the code and not run the test in windows
a ULL suffix on the harcoded return VRY return number is needed on AIX

Solution:

Platforms tested:
Windows
AIX

Misc. update:
2005-09-21 11:45:19 -05:00
Pedro Vicente Nunes
d09ca66a26 [svn-r11448] Purpose:
new features

Description:

add support for compiling the library and testphdf5 in Windows


Solution:

Platforms tested:
Linux
AIX
Solaris
Windows VC6

Misc. update:
2005-09-21 08:41:09 -05:00
James Laird
3267458b64 [svn-r11446] Purpose:
Bug fix

Description:
Massaged the newer script and config/conclude.am to make SX6 happy.


Platforms tested:
SX6, sol, mir
2005-09-20 16:46:24 -05:00
Albert Cheng
c0e83899c3 [svn-r11431] Purpose:
New feature.

Description:
Added the time command to the make check target to report time usage
of the execute of each test and test scripts.  This gives us some idea
how long each test takes and some vague idea it is compute bound or
not.

powerpc-ibm-aix5.x:
Change $RUNPARALLEL default setting to allow it being invoked by the
time command.

Platforms tested:
h5committested.
2005-09-17 22:04:28 -05:00
James Laird
ae2a313b5b [svn-r11421] Purpose:
Feature

Description:
Added H5_CFLAGS, etc. to 1.7 branch.
Now compilation flags can be put in H5_*FLAGS and they'll be used when
building hdf5 but not in h5cc.


Platforms tested:
mir, sleipnir, modi4

Misc. update:
2005-09-16 16:26:17 -05:00
James Laird
b656c90c8a [svn-r11420] Purpose:
Bug fix

Description:
Disabled C++ shared libraries for Sun Workshop compiler.

Solution:
This bug only seems to happen when using the -xarch=v9 flag to compile in
64-bit mode, but disabling shared libraries entirely for this compiler is
an easier fix (I don't know how to detect 64 bit mode from the command line).
The framework for disabling shared libraries for other C++ compilers is
in place.

Platforms tested:
sol, mir, sleipnir, modi4
2005-09-16 16:16:11 -05:00
James Laird
cc8f7d98bf [svn-r11418] Purpose:
Bug fix/feature

Description:
Disabled shared libraries for a number of Fortran compilers that don't
support them.
This allows other compilers to support shared Fortran libraries.

Solution:
Added a conditional, SHARED_FORTRAN_CONDITIONAL, which is true if
Fortran supports shared libraries.  It is set in configure.in.

Platforms tested:
mir, sleipnir, colonelk, heping
2005-09-15 16:30:06 -05:00
James Laird
33beeb7f55 [svn-r11411] Purpose:
Bug fix

Description:
Building with --disable-static seems to have been broken on several platforms.
Fixed this.
Configure will now disable shared libraries automatically when using pgf90
or when building on Cygwin.

Solution:
To avoid errors when using shared libraries with pgf90 (which I had not
realized were compiler-specific), I had manually set convenience libraries
to use the -static linking flag.  Apparently, this is not necessary, and
caused these libraries to be created as empty archives when --disable-static
was used.
Also, some libraries were including other libraries, which was not
necessary.
I also fixed code in configure.in to correctly detect whether shared
or static libraries are enabled, and moved code that disables shared libraries
to before libtool is created (rather than editing libtool after the fact).
Despite repeated warnings that only one shared library can be linked at a
time, I have yet to have shared libraries break the linking of tests on
any system.  We'll see if the Daily Tests turn up anything.

Platforms tested:
mir (fortran, C++), sleipnir (C++), modi4 (fortran, C++, parallel),
sol (fortran, C++), cygwin
2005-09-13 17:30:33 -05:00
Albert Cheng
c12eeffd9f [svn-r11349] Purpose:
Bug fix.

Description:
Some tests showed the filesize was not as expected.  But the error was
intermittent.  This was a racing condition as some processes finish
extend_chunked_dataset() sooner than others and return to the main
body which proceeds to call the next test which also uses the same
test data file and alters it.  That messes up the "slower" processes
which then see unexpected filesize.

Also, the routine create_chunked_dataset() which creates test data file
actually was executed by all processes.  That is wrong.

Solution:
Added a barrier at the end of extend_chunked_dataset to make sure all
processes are done with the test data file before returning.

Changed create_chunked_dataset such that only one process would create
the test data file.  The rest does nothing but just wait for it to finish.

Platforms tested:
Tested in TG-NCSA in which the errors were detected.

Misc. update:
2005-09-05 15:23:02 -05:00
Albert Cheng
11cfb28f54 [svn-r11340] Purpose:
Big data set test was default off and rarely tested. Changed it to default
on so that it gets tested.

Platforms tested:
Heping PP and Copper pp.
2005-09-02 09:56:32 -05:00
Albert Cheng
40a1e57caa [svn-r11339] Purpose:
Bug fix #281

Description:
Committed a wrong copy in the previous checkin.

Solution:
Checked in the right one and did some code cleanup, rearrangment.

Platforms tested:
heping pp.

Misc. update:
2005-09-02 09:44:40 -05:00
Albert Cheng
6d3715e537 [svn-r11323] Purpose:
tidy up.

Description:
MPE option created *.clog file whenever it is executed in MPI.
The cleanup of *.clog files were done in individual Makefile.in.
Often, it is forgotten.

Solution:
Moved the cleaning of *.clog files to CHECK_CLEANFILES in commence.am
so that it is applied whenever check-clean is called.

Platforms tested:
heping pp using MPE.
2005-08-31 15:03:52 -05:00
James Laird
66af6dce17 [svn-r11319] Purpose:
Bug fixes

Description:
This checkin fixes an occasional error on kelgia on sol during distclean.
It also causes test scripts to depend properly on the programs they're
supposed to be testing.

Solution:
The kelgia bug was due to some files being cleaned by automake and manually.
Removed the manual cleaning in src/Makefile.am.
Test script dependencies now need to be specified manually, since the
makefile can't guess what they test from their name.  Currently all test
scripts in a given directory have a single list of dependencies--this was
easy and seems to be sufficient.
These dependencies are listed in the SCRIPT_DEPEND variable in the Makefile.am.

Platforms tested:
heping, mir, modi4, sol

Misc. update:
2005-08-30 18:42:39 -05:00
Albert Cheng
3182a8a040 [svn-r11312] Purpose:
Bug #281

Description:
A dataset created in serial mode with H5D_ALLOC_TIME_INCR allocation setting
was not extendible, either explicitly by H5Dextend or implicitly by writing
to unallocated chunks.  This was because parallel mode expects the allocation
mode be H5D_ALLOC_TIME_INCR only.

Solution:
Modified library to allocate more space when needed or directed if the
file is opened by parallel mode, independent of what the dataset allocation
mode is.

Platforms tested:
Heping pp.
2005-08-29 23:35:17 -05:00
Albert Cheng
538d37a1bc [svn-r11303] Purpose:
minor tidy up.

Description:
Changed both test programs and test scripts to use the same suffixes
(.chkexe and .chklog).  Changed from .log to .chklog to avoid running
into potential conflicts by other "things" (e.g., config.log).

Tested:
Heping.
2005-08-26 17:24:27 -05:00
MuQun Yang
4a6e1b6ba9 [svn-r11294] Purpose:
bug fix

Description:
The previous version always tests with mpi-IO driver even when mpi-posix driver is set.

Solution:
Add the option to test mpi-posix driver for the first round collective chunk IO test.

Platforms tested:
IRIX64, AIX 5.1, Linux 2.4

Misc. update:
2005-08-24 21:45:25 -05:00
Albert Cheng
9c4dd70e36 [svn-r11292] Purpose:
"bug fix"

Description:
The test_mpio_derived_dtype() often hangs when fails.  So it was
not run by default to avoid hanging the daily tests or confusing
users.  But then new system or new codes in collective chunk fails
while one can't tell for sure if it is because of the complicated
derived type failures or something else.

Solution:
Changed the logic so it is skipped only if it is known that
the complicated MPI derived type does not work.  (This is
indicated by macro H5_MPI_COMPLEX_DERIVED_DATATYPE_WORKS NOT
defined.

Platforms tested:
heping pp (where it is tested by default).
Modi4 pp (where it is SKIPPED by default.)
I also forced modi4 to test it and modi4 said it actually
is working and should change the setting of
H5_MPI_COMPLEX_DERIVED_DATATYPE_WORKS to working?!!

Misc. update:
2005-08-23 17:41:42 -05:00
Albert Cheng
208436bfc4 [svn-r11291] Purpose:
Code cleaning.

Description:
The block of code that is conditioned by the H5_MPI_COMPLEX_DERIVED_DATATYPE_WORKS
and manipulates the return code of test_mpio_derived_dtype, does not really
belong in main.  If return code of test_mpio_derived_dtype needs to be
adjusted, it should be done in test_mpio_derived_dtype.

Solution:
Moved that block of code test_mpio_derived_dtype.

Platforms tested:
heping PP.

Misc. update:
2005-08-23 17:19:57 -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