Refactor property list code to "deep copy" properties in the correct way,
retraining the rest of the library to copy & release things correctly. This
cleans up another batch of memory leaks, etc. within the library.
Tested on:
MacOSX/64 10.10.5 (amazon) w/serial & parallel
Linux/32 2.6.x (jam) w/serial & parallel
(h5committest forthcoming)
testfrome.c has incorrectly exit code (using -1). Fixed by replacing them
with C defined EXIT_FAILURE. Verified by temporary decreaing MAXNUMTESTS
to introduce failure in testhdf to see the changed code did work.
Also replaced all other correctly coded exit codes with the C defined
EXIT_SUCCESS and EXIT_FAILURE. This would help portability for non-Unix
systems.
Tested: h5committest.
Stop aliasing property to indicate internal collective metadata operations
with property to perform collective raw data operations from the application.
Tested on:
Mac OSX/64 10.8.3 (amazon) w/paralllel
Bring generic improvements from encode/decode property list branch to
the trunk. This includes a better version of the property list comparison
routine, cleaned up compiler warnings, and some cleaned up property list
callbacks. Also, started on changes to clean up parallel test output, so that
it doesn't report successful tests from each process.
Tested on:
Mac OSX/64 10.7.4 (amazon) w/debug, GCC 4.7.x, FORTRAN, C++, threadsafe and parallel
Linux 2.6/32 (jam) w/debug
Solaris 2.7/64 (linew) w/debug
Bug 1707 is that H5Eset_auto causes a seg fault when an application uses -DH5_USE_16_API with
the 1.8 library to compile.
I created a branch off the trunk called set_auto to continue working on the problem.
Tested on jam - backing out, simple.
through H5Eset_auto. I changed the union in the structure H5E_auto_t. Another change is to
make H5Eget_auto fail if H5Eset_auto is called to set the printing function. I'll write a
document for it.
Tested on heiwa, jam, and amani.
The property change in configure.in, config, and Makefile.am came from the merge of the 1.8
library change.
Add in override for testing timeout alarm to allow "HDF5_ALARM_SECONDS"
environment variable to change the timeout value from the default value.
Tested on:
Mac OS X/32 10.6.4 (amazon) w/debug & production
(Too minor to require h5committest)
Bring "shape same" changes from LBL branch to trunk. These changes
allow shapes that are the same, but projected into dataspaces with different
ranks to be detected correctly, and also contains code to project a dataspace
into greater/lesser number of dimensions, so the I/O can proceed in a faster
way.
These changes also contain several bug fixes and _lots_ of code
cleanups to the MPI datatype creation code.
Many other misc. code cleanup are included as well...
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (amani) 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-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode
Mac OS X/32 10.6.3 (amazon) in debug mode
Mac OS X/32 10.6.3 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
GetTestVerbosity() is called many times during tests. Implemented a more
efficient macro version HDGetTestVerbosity.
Tested: Jam (serial and parallel). Did not run h5committest since this
is a trival change that is portable, I am 99% sure.
First real use of API versioning code, H5E routines switched to use
new API versioning scheme.
Tested on:
Mac OS X/32 10.4.10 (amazon)
FreeBSD/32 6.2 (duty)
FreeBSD/64 6.2 (liberty)
Linux/32 2.6 (kagiso)
Linux/64 2.6 (smirom)
Solaris/32 5.10 (linew)
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.
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
testing feature
Description:
HDF5 Test Express change; now accepts values 0 to 3.
Solution:
As explained in the RFC and documented in the code, there are now four
levels of "express-ness", 0 (no limit) to 3 (1 min limit).
It is now up to test writers to take advantage of the various levels
to tune their tests' run times.
Platforms tested:
mir (minor change)
feature
Description:
Added the GetTestExpress and SetTestExpress to support the TestExpress mode
according to $HDF5TextExpress. For now, it is just defined or not, the
actual value does not matter.
Platforms tested:
heping(serial), mir (PP).
Bug fix.
Description:
getenv_all will be called even when it is NOT an MPI application.
Solution:
Moved the use of getenv_all("HDF5_NOCLEANUP") to fix_name so that it will
be invoked only if a parallel driver is used.
Platforms tested:
hand tested in copper.
Feature.
Description:
Added ALARM_ON, ALARM_OFF feature to terminate tests that run more than
the default time limit. So far, the feature is applied in the standard test
frame.
Platforms tested:
heping PP.
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
Change maximum test number from 30 to 40 since more collective IO tests were
added into parallel HDF5 test.
Description:
Solution:
Platforms tested:
heping, copper, tungsten, cobalt, SDSC TG.
Misc. update:
Description:
Added function IncTestNumErrs to increment the number of errors
that is defined in testframe.c
Platforms tested:
Linux 2.4 (heping)
AIX 5.1 (copper)
Description: Restore 6 old error API functions back to the library to be backward
compatible with v1.6. They are H5Epush, H5Eprint, H5Ewalk, H5Eclear, H5Eset_auto,
H5Eget_auto. These functions do not have error stack as parameter.
Solution: Internally, these functions use default error stack.
Platforms tested: h5committest and fuss.
Misc. update: RELEASE.txt
Bug fix.
Description:
The return value of TestPrivateParser() was not tested, thus program
would keep on going incorrectly even if errors were detected in
TestPrivateParser.
Solution:
Check the return and exit accordingly.
Platforms tested:
Tested in Eirene and Sol in both serial and pp modes.
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.
Feature
Description:
Changed TestParseCmdLine to accept an optional extra_parse()
function provided by indidivual test application. Extra_parse()
can handle extra options special to that test application.
Updated testhdf5.c to use the new syntax of TestParseCmdLine().
Platforms tested:
On eirene both serial and parallel.
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:
Code cleanup
Description:
Clean up lots of warnings based on those reported from the SGI compilers
as well as gcc.
Platforms tested:
SGI O3900, IRIX64 6.5 (Cheryl's SGI machine)
FreeBSD 4.9 (sleipnir) w/ & w/o parallel
h5committest
Feature
Description:
Added to AddTest() a generic parameters pointer argument to
allow some extra parameters for some tests. E.g., test file
names can be customized during runtime and passed into the
test routines.
Platforms tested:
"h5committested".
Also run compat test in eirene.
Bug fix
Description:
C++ compilers do not like the variable name new which is a kind word
for C++. Changed it to newval instead.
Platforms tested:
Tested in Copper which is the one complained about the name.
New feature.
Description:
Added function SetTestVerbosity() so that other applications can
set the verbosity explicitedly without the whole testframe taking
over.
Added Verbose queries shorthands to make code more readable and
easier to change the levels of low, medium and high.
Platforms tested:
Eirene (both serial and parallel).
Misc. update:
Improvement.
Description:
Verbosity level were specified by numbers which are not meaningful
and prone to typos.
Solution:
Adapted the Verbosity predefined level symbols from HDF4
and changed all numberic verbosity to symbolic values.
(Still need to convert some left over macros like MESSAGE.)
Platforms tested:
Eirene.
No h5committest since this is trivial.
Misc. update:
Code cleanup & reorganization
Description:
Move further in the testing framework cleanup, eliminating all the
global variables (moving them into testframe.c as static variables) from the
testing framework code and moving it into the libh5test.a.
Platforms tested:
FreeBSD 4.9 (sleipnir) w & w/o thread-safety, c++ & parallel
h5committested
Code cleanup
Description:
Refactor library testing framework (used for the testhdf5 & ttsafe tests)
to remove almost all of the duplicated code, moving the common code into a
new 'testframe.c' source file.
Platforms tested:
FreeBSD 4.9 (sleipnir) w & w/o thread-safety
h5committest