Commit Graph

135 Commits

Author SHA1 Message Date
MuQun Yang
7a11c453f9 [svn-r9520] Purpose:
Adding general MPI derived datatype testing code.

Description:
The testing code will not be tested. The purpose of checking in is for
better debugging later. HDF5 routine or daily test should not be aware of this.

Solution:


Platforms tested:
Copper(AIX 5.1),
Heping(Linux 2.4 + MPICH 1.2.6).


Misc. update:
2004-11-11 16:05:03 -05:00
Quincey Koziol
74a448d084 [svn-r9358] Purpose:
Bug fix

Description:
    Relax restrictions on parallel I/O to allow compressed, chunked datasets
to be read in parallel (collective access will be degraded to independent
access, but will retrieve the information still).

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    Solaris 2.7 (arabica)
    IRIX64 6.5 (modi4)
    h5committest
2004-10-04 15:29:31 -05:00
Albert Cheng
28776d1076 [svn-r9317] Purpose:
Code clean up

Description:
The tests used to have their own test file names due to
the original program layout.  Now that it is using the
common test interface, individual test can be invoked
at will (via -o).  There is no need to have different
test filenames.  Only requirement is that certain read
tests must follow immediately the corresponding write
test since they use the same file.

I have combined all test file names into just one common
file name.  This reduces the printout of test file name,
very beneficial when the test is run by large number of processes.
It makes future code maintenance easier too.

Platforms tested:
Tested in Eirene(PP) only.  No h5committest because this is
limited to the parallel tests and the changes are trivial.

Misc. update:
2004-09-24 16:20:24 -05:00
John Mainzer
a4e1edbdba [svn-r9274] Purpose:
Add test to verify the fix of the parallel I/O mode confusion bug.


Description:

While the parallel I/O mode confusion bug is fixed, an automated
regression test for this bug would be useful.


Solution:

Added a modified version of the original bug demonstration program
to testphdf5.

Platforms tested:

copper
h5committested
eirene (parallel)


Misc. update:
2004-09-18 16:38:44 -05:00
Quincey Koziol
eb3e9ccd8a [svn-r9234] Purpose:
Code cleanup

Description:
    Tweak recent "forward compatibility" changes to the H5E* API (which allowed
for the old H5E API functions to remain unchanged) by allowing for the error
stack callback function (H5E_auto_t) to also remain unchanged from the 1.6
branch.  This required changing the H5E{get|set}_auto routines to have the
old style H5E_auto_t type (which didn't have a stack ID parameter) and the new
H5E{get|set}_auto_stack routines to have a newer "H5E_auto_stack_t" type (which
has a stack ID parameter).  This should make the H5E API changes as forwardly
compatible as possible.
    One side-affect of this change was that it was impossible to determine if
the current auto error callback was the old style (H5E_auto_t) or the new style
(H5E_auto_stack_t) of callback, so a new API function (H5Eauto_is_stack) was
adde to query this.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    IRIX64 6.5 (modi4)
    h5committest
2004-09-08 21:37:02 -05:00
MuQun Yang
4268449794 [svn-r9200]
Purpose:
Shrink HDF5 parallel test

Description:
Previously the collective chunk IO tests created and opened four HDF5 files;
it turned out that all collective chunk IO tests can use one file for testing.


Solution:
To use one file for all collective chunk IO tests with trunc option to be set in H5Fcreate.


Platforms tested:
copper(no need to use h5committest)

Misc. update:
2004-09-03 12:53:42 -05:00
Albert Cheng
226f162ce7 [svn-r9179] Purpose:
Text display change

Description:
Changed the test names to much shorter strings for easier
use.

Platforms tested:
No h5committed test.  Only test parallel in eirene.

Misc. update:
2004-08-31 23:07:21 -05:00
Albert Cheng
d7a4ce413a [svn-r9141] Purpose:
Code cleanup.

Removed bunch of old options (r,w,v,i,b,e) that are no longer valid
or useful after adopting the general test interface.  Moved the test
of sizeof MPI_Offset into the test routine itself.

Platforms tested:
Eirene and Sol using pp mode.
2004-08-23 19:08:29 -05:00
Albert Cheng
1926a6538e [svn-r9130] Purpose:
bug fix.

Description:
The test routines only print error messages but not all of them
return number of errors detected back to the main routine which
always exit with a 0 status.  Thus make or shell commands could
not detect there were errors.


Solution:
Changed the test routines to return appropriate number of
errors to main routine which in turn exit with the appropriate
exit code if errors found.

Platforms tested:
Tested in Sol and eirene (pp).

Misc. update:
2004-08-20 00:03:28 -05:00
Albert Cheng
3c59678775 [svn-r9115] Purpose:
feature

Description:
Another revamp of the test interface.
TestInit: is used to register Test Program name, test program specific
   Usage and option parsing routines.
TestUsage: will invoke extra usage routine if provided.
TestParseCmdLine: will invoke extra option parsing routine if provided.
GetTestSummary() and GetTestCleanup() replaces the previous Summary and
CleanUp arguments of TestParseCmdLine.

test/testhdf5, test/ttsafe.c, testpar/t_mpi.c, testpar/testphdf5.c:
   All have been updated to use the new Test Routines.

testpar/t_mpi.c:
   Also a fix of a compiler optimization bug when pgcc in Linux is
   used to compile it.  Changed buf[] and expected to unsigned char
   type to avoid a bug that failed to do sign-extension.

Platforms tested:
"h5committested"
Also tested thread-safe option in eirene.
2004-08-19 01:32:47 -05:00
MuQun Yang
ad655bf083 [svn-r9104]
Purpose:
bug fix

Description:
1. The IF-block of skipping collective chunk IO tests when the number of
processes is greater than some number essentially skipped all parallel tests.
2.  John tested at copper with the number of processor = 64 and collective
     chunk IO tests passed, so we increase the number of precessor =24 to 64 for
    skipping the test.


Solution:
1. change the IF block flow so that it only skips collective chunk IO tests when
   the number of process is greater than 64.



Platforms tested:
copper(only change a bit of parallel test code, no needs to test on other platforms).


Misc. update:
2004-08-17 13:44:26 -05:00
Albert Cheng
d1110d4055 [svn-r9081] Purpose:
Feature

Description:
Updated to use the new syntax of TestParseCmdLine().

Platforms tested:
On eirene both serial and parallel.
2004-08-13 17:06:42 -05:00
MuQun Yang
188a2cfdc7 [svn-r9077] Purpose:
Correction of the previous check.

Description:
forget moving "debug #if macro" out of this file.

Solution:
remove that "#if 0 #endif" macro block.

Platforms tested:
Compile at eirene
Too trivial to test
Misc. update:
2004-08-13 08:50:30 -05:00
MuQun Yang
092105b2a3 [svn-r9076] Purpose:
Better collective chunk IO test arrangements

Description:
collective chunk IO tests have been verified with the number of process greater than 24 and
the test is very slow with big number of process.

That may cause confusions to users who run collective chunk IO tests.

Solution:
To avoid possible confusions, A if-block will be used to check whether the number of process
is greater than 24. If yes, the collective chunk tests will be skipped and a message will be printed out.


Platforms tested:
linux 2.4
(too trivial to use h5committest)


Misc. update:
2004-08-13 08:29:43 -05:00
Albert Cheng
83fb67b922 [svn-r9068] Purpose:
Cleanup and bug fix.

Description:
Bug fix:
the checking of dobig test was done in the wrong place
such that tests added after it would be run even for the -b option.
Moved the dobig test checking to AFTER all tests are added.

Cleanup:
Removed old code now that the new way is working fine.

Platforms tested:
Tested in Eirene parallel only.

Misc. update:
2004-08-11 13:12:07 -05:00
Albert Cheng
7464e1fb1d [svn-r9050] Purpose:
Feature

Description:
Added a feature such that if the test name starts with '-', do not run it
by default.

Platforms tested:
Eirene both serial and parallel.

Misc. update:
2004-08-07 21:26:44 -05:00
Quincey Koziol
daa96590d3 [svn-r8987] Purpose:
Code cleanup

Description:
    Fix another batch of minor differences between the development and release
branches.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    Too minor to require h5committest
2004-08-02 12:51:50 -05:00
Quincey Koziol
ecd9f0a10e [svn-r8932] Purpose:
Code cleanup

Description:
    Clean up collective chunking code a bit.

    Also, add '--enable-instrument' configure flag to have a mechanism for
determining that optimized operations happened correctly in the library (instead
of just the "normal" way) by allowing 'flag' properties to be set outside the
library and set when the "right" thing happens.  This is mainly for debugging
and regression checks, so we make certain we don't break optimized I/O by
accident.  It's enabled by default when --enable-debug is on (which is on by
default in the development branch and off by default in the release branch),
but can also be independently controlled with its own configure flag.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    IBM p690 (copper) w/parallel
2004-07-22 15:46:27 -05:00
MuQun Yang
c7ca89eeda [svn-r8924] Purpose:
To test collective chunk IO properly.

Description:
See the previous message.

Solution:
See the previous message.

Platforms tested:
arabica(Sol 2.7), eirene(Linux), copper(AIX)
Misc. update:
2004-07-21 18:42:10 -05:00
MuQun Yang
3176090a03 [svn-r8907] Purpose:
To add collective chunk IO tests.

Description:
three tests are added.
1. Only one hyperslab for each process, and this hyperslab is fit in exactly one chunk.
2. non-contiguous hyperslabs in each process, these hyperslabs are fit in one chunk.
3. Single hyperslab for each process, smaller chunk is assigned. Number of chunks for
  every process is equal.

Solution:
the dataset size is set to be very small, will enlarge later.


Platforms tested:
AIX 5.1(copper)

Misc. update:
2004-07-20 16:41:44 -05:00
Quincey Koziol
803bb3e532 [svn-r8867] Purpose:
Bug fix

Description:
    Fix error in chunked dataset I/O where data written out wasn't read
correctly from a chunked, extendible dataset after the dataset was extended.

    Also, fix parallel I/O tests to gather error results from all processes,
in order to detect errors that only occur on one process.

Solution:
    Bypass chunk cache for reads as well as writes, if parallel I/O driver is
used and file is opened for writing.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    Too minor to require h5committest
2004-07-13 13:42:47 -05:00
Raymond Lu
6123fcd947 [svn-r8533] Purpose: New test.
Description:  Test dataset and attribute of null dataspace for parallel.


Platforms tested:  copper and verbena(only parallel is concerned)
2004-05-17 14:59:04 -05:00
Albert Cheng
3756af13c7 [svn-r8294] Purpose:
feature

Description:
Change testphdf5 to use the common test program syntax.
Needed to change the protocols of all test programs to
fit the requirement of the common test syntax.

Platforms tested:
"h5committested".
Also tested in sol with PP mode.
2004-04-01 18:00:13 -05:00
Albert Cheng
d5fb4dfcef [svn-r8111] Purpose:
Improvement

Description:
Changed parsing of verbose level by the common test library routine.
Change t_mpi.c to use the Verbose control better.

Platforms tested:
verena (pp).

Misc. update:
2004-01-24 18:04:22 -05:00
Albert Cheng
f3113c02d5 [svn-r8096] Purpose:
Improvement.

Description:
Complete change of the verbose control to use the routines provided by
the test/libh5test.a.
Also put in a temporary fix for the H5Eset_auto() and H5Eget_auto()
so that the Compat code are isolated in one place rather than all over
the source file.

Platforms tested:
Tested in Eirene (parallel).

Misc. update:
2004-01-22 18:11:39 -05:00
Albert Cheng
f65948d933 [svn-r8013] Description:
Added a test of fill value before any data is written to a dataset.
Rename short_dataset() as dataset_fillvalue() as it reflects better
the tests.  Also removed the option of -S since the fill value test
will be tested always.

Platforms tested:
"h5committested"

Misc. update:
2004-01-02 21:54:50 -05:00
Albert Cheng
3043f95b29 [svn-r7979] Purpose:
Feature.

Description:
Added the short_dataset test (was in v1.6 first.)

Platforms tested:
Tested in eirene (pp) only since these have been tested in v1.6 already.

Misc. update:
2003-12-25 17:52:39 -05:00
Quincey Koziol
4a4f9cd82d [svn-r7615] Purpose:
Code cleanup

Description:
    Clean up various compiler warnings.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w/parallel
    too minor to require h5committest
2003-10-13 14:26:55 -05:00
Albert Cheng
c84d9f5eab [svn-r7575] Purpose:
Feature, sort of.

Description:
Reactivated the big dataset test.  Changed it
to default off, can be turned on via -b.

Platforms tested:
Only in Copper which is the only local machine safe to run
mulitple GB size files.

Misc. update:
2003-10-08 15:29:27 -05:00
Quincey Koziol
43f06303db [svn-r7492] Description:
Disable "big" parallel tests until I get a chance to look into the
problems (probably during/after the workshop).

Platforms tested:
    Eyeballed
    Too minor to require h5committest
2003-09-18 17:52:14 -05:00
Quincey Koziol
d7bde16f45 [svn-r7480] Purpose:
Bug fix

Description:
    The MPI_File_set_size() routine on ASCI Red is not able to extend files
so that they are larger than 2GB.

Solution:
    Add an extra macro which controls whether MPI_File_set_size() can handle
>2GB offsets or if our "older" way of reading a byte, then writing a byte at
the appropriate offset should be used.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2003-09-16 12:33:00 -05:00
Quincey Koziol
4e23c80758 [svn-r7181] Purpose:
Version update

Description:
    Removed 1.4 compatibility code in the library.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest
2003-07-07 14:02:46 -05:00
Quincey Koziol
204b899029 [svn-r7019] Purpose:
Compatibility fix

Description:
    The H5P[set|get]_fapl_mpiposix calls changed between v1.4.x and v1.5.x.

Solution:
    Wrap them in the v1.4 backward compatibility #ifdefs and update tests, etc.

Platforms tested:
    FreeBSD 4.8 (sleipnir) w/paralle & v1.4 compatibility
    h5committest pointless
2003-06-10 14:05:06 -05:00
Quincey Koziol
c134146b3e [svn-r6975] Purpose:
Bug fix

Description:
    Don't attempt to perform collective I/O on chunked datasets.

Platforms tested:
    FreeBSD 4.8 (sleipnir) w/parallel
    h5committested
2003-06-05 15:05:52 -05:00
Quincey Koziol
cb01b00e74 [svn-r6953] Purpose:
Code cleanup

Description:
    Correct typo in printf().

Platforms tested:
    FreeBSD 4.8 (sleipnir) w/C++
    FreeBSD 4.8 (sleipnir) w/parallel
    h5committested
2003-06-04 10:29:55 -05:00
Albert Cheng
13bc7e92af [svn-r6902] Description:
Add printout to identify when the MPIPOSIX driver is being tested instead
of the MPI-IO driver..

Platforms tested:
Tested in copper in parallel mode only since it was just a simple
print statement in the parallel test code.

Misc. update:
2003-05-19 14:55:50 -05:00
Bill Wendling
c12f91908b [svn-r6795] Purpose:
Feature Add

Description:
	Added knob so that the programmer can enable or disable GPFS
	hints during runtime instead of having it only enabled at
	configure/compile time. Some of the public APIs were changed
	to add an extra parameter for this option...

Platforms tested:
	Blue (LLNL). It only affects the MPI/POSIX driver, so no need
	to test it on non-GPFS platforms.

Misc. update:
2003-05-05 15:48:33 -05:00
Albert Cheng
d76dfb1985 [svn-r6755] Purpose:
feature

Description:
added test_fapl_mpiposix_dup to verify the MPIPOSIX is making
duplicates of Communicator correctly.

Platforms tested:
Did not h5committested because these are all MPI code and well protected
by HAVE_PARALLEL.
Tested in eirene and modi4, both parallel mode.

Misc. update:
2003-04-25 09:27:36 -05:00
Albert Cheng
4fa8fe270c [svn-r6741] Purpose:
code cleanup.

Description:
Rename test_comm_info_delete to test_fapl_mpio_dup to better decribe
what it does.  Updated the comments to describe more accurate.

Platforms tested:
Did not run h5commmittest since the changes were all in parallel area.
Ran parallel tests on modi4 and eirene.

Misc. update:
2003-04-23 16:19:51 -05:00
Albert Cheng
49fa61246e [svn-r6709] Purpose:
Bug fixes/API changes

Description:
    Previously, the Communicator and Info object arguments supplied
    to H5Pset_fapl_mpio() are stored in the property with its handle
    values.  This meant changes to the communicator or the Info object
    after calling H5Pset_fapl_mpio would affect the how the property
    list function.  This was also the case when H5Fopen/create operated.
    They just stored the handle value.  This is not according to the
    MPI-2 defined behavior of how Info objects should be handled. (MPI-2
    defines Info objects must be parsed when called.)
    The old design was trying to avoid numerous duplicates of the same
    information (e.g., every property object holds one version, every
    file opened holds another version, when all of them are referring to
    the same original version.)  Nevertheless it is safer to implement
    it according to MPI-2 definition.
    Futhermore, the library often needs to do message passing using the
    supplied communicator.  Using the same communicator as the application
    version may result in some messages mix up.
Solution:
    H5Pset_fapl_mpio now stores a duplicate of each of the communicator
    and Info object.
    H5Pget_fapl_mpio returns a duplicate of its stored communicator and
    Info object.  It is now the responsibility of the applications to free
    those objects when done.
    H5Fopen/create also stores a duplicate of the communicator and Info
    object supplied by the File Access Property list.
    H5Fclose frees those duplicates.
    There are a few more internal VFL call back functions that they
    follow this "make duplicates" requirement.

Platforms tested:
"h5committested".
What other platforms/configurations were tested?
    Eirene (mpicc), sol(mpicc), copper(parallel)

Misc. update:
Need to update MANIFEST for the added t_ph5basic.c which tests the
correctness of duplicated communicator and INFO object.
2003-04-17 22:04:56 -05:00
Bill Wendling
91fdb66926 [svn-r6539] Purpose:
Update

Description:
    Updated (and in some cases added) the copyright statement.

Platforms tested:
    Linux (Comment changes...only tested if they compile)

Misc. update:
2003-03-31 13:02:10 -05:00
Raymond Lu
941509ab25 [svn-r6419]
Purpose:
    More test.
Description:
    Test independent read of groups and chunked dataset.
Solution:
    This test is similar to multiple group test.  So just add it in the
    testphdf5.c,h.
Platforms tested:
    modi4, eirene.
2003-02-18 16:50:42 -05:00
Albert Cheng
7ff7845b3a [svn-r6414] Purpose:
Bug fix (no id, just noticed myself)
Description:
    Added a barrier before doing file cleanup to ensure all tests are
    completed by then.
    Moved the MPI_Finalize to be very end and insert an H5close before
    it to ensure all potential MPI activities by HDF5 are done by then.
Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}?  Yes.
2003-02-18 00:12:58 -05:00
Quincey Koziol
c6f898c3c7 [svn-r5896] Purpose:
Code cleanup

Description:
    Cleaned up some compiler warnings.

Platforms tested:
    FreeBSD 4.6 (sleipnir) w/serial & parallel.  Will be testing on IRIX64
    6.5 (modi4) in serial & parallel shortly.
2002-08-27 08:42:40 -05:00
Raymond Lu
29da4951f8 [svn-r5879]
Purpose:
    Design for compact dataset
Description:
    Compact dataset is stored in the header message for dataset layout.
Platforms tested:
    arabica, eirene.
2002-08-20 11:18:02 -05:00
Quincey Koziol
b1aa07bd2a [svn-r5800] Purpose:
New feature.

Description:
    Added MPI-posix VFL driver support.

Platforms tested:
    FreeBSD 4.6 (sleipnir) w/parallel & IRIX64 6.5 (modi4) w/parallel
2002-07-15 10:21:44 -05:00
Quincey Koziol
ea052ffd55 [svn-r5674] Purpose:
Code cleanup

Description:
    Removed more compiler warnings, etc.

Platforms tested:
    Linux 2.2.x (eirene) w/parallel
2002-06-19 11:06:55 -05:00
Albert Cheng
5aeda255db [svn-r5222] Purpose:
feture
Description:
    add calls to show hostname.
Platforms tested:
    eirene (linux 2.2) parallel.
2002-04-22 15:24:59 -05:00
Albert Cheng
f5d5e9e2ff [svn-r5205] Purpose:
Code cleanup
Description:
    Platform dependent code related to the struct stat and fstat
    calls polluted source codes.  Hard to maintain.
Solution:
    Platform dependent code are moved to H5private.h and then internal
    code can #include H5private.h.  Repeat those macro definition for
    the stdio and multi drivers since they area examples for writing
    a virtual file driver.  They must not use any internal code.
Platforms tested:
    eirene (parallel), modi4 (serial including gass driver.)
2002-04-19 02:20:41 -05:00
Albert Cheng
651c4b1064 [svn-r4582] Purpose:
New test feature
Description:
    Added create_faccess_plist() that create just MPIO or split+MPIO
    file-access property list.  This in turn can run parallel tests
    with just MPIO or with Split-file VFD too.
    Added -s option for split-file Plus MPIO tests.
    For testphdf5.c: removed a bunch of old debug code that got left
    in by mistake.
Platforms tested:
    Modi4 and eirene parallel.
    But it has uncovered errors in the library.  The test program
    is correct though.  Checking the test program in so that it won't
    get lost and can be used for debugging.  Also, the -s is not used
    by default during test.  At least it won't abort "make check".
2001-11-02 10:21:51 -05:00