Description: The functions for user-define floating-point type, like
H5Tset_fields, H5Tset_offset, H5Tset_precision, H5Tset_size, have some
minor bugs. For error checking, the library didn't include offset value
somehow.
Solution: Corrected those bugs.
Platforms tested: h5committest and fuss
Misc. update:
Bug fix
Description:
Correctly retire the H5E_LEN setting, now that the FORTRAN and C++ APIs
have been corrected to not use it either.
Solution:
Pass in the string buffer length for FORTRAN
In the C++ API, call H5Eget_msg() in a manner similar to the way
H5Fget_name() is called.
Platforms tested:
Linux 2.4 (heping) w/FORTRAN & C++
Solaris 2.7 (arabica) w/FORTRAN & C++
Bug fix
Description:
Calling HDvsnprintf() several times (should be twice) is incorrect
without calling va_end() and va_start() again.
Solution:
Call va_end() and va_start() before calling HDvsnprintf() again.
Platforms tested:
Linux 2.4/x86_64 (mir)
Too minor to require h5committest
Bug fix
Description:
Fix detection of C++ compiler version number.
Platforms tested:
Solaris 2.7 (arabica) w/C++
Solaris 2.8 (sol) w/C++
Does not require h5committest
Description: Fortran module search directories included ../src and
../../fortran/src directories; this was defined in
acsite.m4 file in order for fortran and HL fortran tests
to compile. Those flags were included in h5fc and h5pfc scripts.
Solution: Removed those directories from acsite.m4 file and updated
Makefile.in files.
Platforms tested: sequential on arabica and parallel on copper
including HL Fortran
Misc. update:
Bug fix
Description:
Fortran and C++ API failed to compile because they need to use
H5E_LEN which was removed.
Solution:
Restored the H5E_LEN definition.
A permenant solution is still needed.
Platforms tested:
H5committested. (heping, sol, and copper all compiled fine again but
sol had an error in testerror.sh which seemed to be a different
problem.
Also tested in tg-NSCA.
Description:
+ replaced "goto error" with throw exceptions
+ properly cleanup dynamically allocated memory in failure cases,
for in some cases, the execution continues on after the failures
were reported.
+ added test utility class InvalidActionException for when an action
should cause an exception but doesn't.
Platforms tested:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Note that there was an error due to the missing symbol H5E_LEN. To
be able to test my changes, I temporarily replaced H5E_LEN in c++/src
with a constant as in the C tests, before the problem can be fixed.
This value doesn't effect the C++ tests at all, at this time.
Description: There was a #ifdef statement with logical AND in it.
Solution: Change it to #if statement.
Platforms tested: sleipnir and eirene. Simple change
Description: Intel compiler on Linux has some problem to convert long double to
unsigned int correctly.
Solution: Detect the problem in configure and define a macro to skip this test
if it happens.
Platforms tested: eirene and fuss. Simple change.
Bug fix
Description:
Fix possible overrun in error description string by allocating large enough
string on the fly.
Platforms tested:
FreeBSD 4.10 (sleipnir)
Too minor to require h5committest
Purpose: Bug fix
Description: Test reported failure because of the wrong
testing condition when szip didn't have encoder
Solution: Fixed the code
Platforms tested: copper with
SZIP not present
SZIP encoder/decoder present
SZIP decoder present
Misc. update:
Description: The fix of the loss problem of the last 2 bytes of mantissa on sleipnir has
not been successful. It happens when converting from unsigned long long to long double.
The failure has been on and off.
Solution: Hard set a macro to disable unsigned long long->long double for FreeBSD until
a good solution is found to solve this elusive problem.
Platforms tested: sleipnir and fuss. Only sleipnir is concerned.
Misc. update:
Update H5fortran_types.f90.
Description:
As Quincey implemented hobj_ref_t for in Fortran APIs, HDF5 Fortran type definitions should be updated to include HADDR_T in H5fortran_types.f90.
Solution:
Add the following scripts into hdf5/fortran/src/H5fortran_types.f90:
INTEGER, PARAMETER :: HADDR_T = SELECTED_INT_KIND(R_LARGE)
Platforms tested:
Visual Fortran 6.0 on Windows 2000.
Visual Fortran 6.6c on Windows XP.
(Notes: As HDF5 Fortran is not supported with .NET on my XP machines, so I did not test on .NET. Also, as H5fortran_types.f90 is included in all.zip, it will only be used for HDF5 on Windows. It is not necessary to test it on Unix.)
Misc. update:
cleanup warning messages.
Description:
Compilers complained about local variable shadowed global variables.
The global variables d[], m[], nd, na were having the same names
as local function arguments. This was a left over when I broke the
original one big chunk of code into separated functions to go around
the Intel Compiler optimization error.
Solution:
Appended the global variables with suffix _g, thus
d[] => d_g[]
m[] => m_g[]
nd => nd_g
na => na_g
This is only an intermediate step. After the changes tested
out fine by all machines, need to rename the variables to more
meaningful names like dtype_array.
Platforms tested:
Tested in heping by saving the previous generated H5Tinit.c,
regenerated a new H5Tinit.c with the changed code, finally
compared the new and old versions were identical.
Description: the last 2 bytes of mantissa can be lost when converting from unsigned long long
to long double. In last check-in, a fix was made to ignore that precision loss. But sometimes,
the last 2 bytes are rounded up to the 3rd last byte.
Solution: Ignore the 3rd last byte, too, when comparing values.
Platforms tested: sleipnir - only this system is concerned.
Added H5Pset/get_data_transform
These are initial entries; they need technical review.
Removed several deprecated functions that have been commented out
through several release cycles (H5Pget_deflate and
H5Pset/get_compression) and several lines of no-longer-used
template code.
Minor formatting changes.
Platforms tested:
Mozilla
Description: libh5test_fortran.a(la) files were installed by
make install
Solution: Brought changes back from 1.6
Platforms tested: mir, eirene
Misc. update:
Description: For HP-UX11.00, compiler's casting from 'long double' to most of
integers. A macro was hard set in config/hpux11.00 before.
Solution: Let configure detect this case and set the macro.
Platforms tested: kelgia, fuss, modi4. These systems are mainly concerned.
Update.
Description:
Add N-bit filter feature into HDF5 and update hdf5\src\H5pubconf.h.
Solution:
1. Add hdf5/src/H5Znbit.c into hdf5 and hdf5dll projects.
2. Add the following scripts into H5pubconf.h
/* comment the following line out if you are not using N-bit filter*/
/* #define H5_HAVE_FILTER_NBIT 1*/
If users want to use N-bit filter, remove the comment marks.
Platforms tested:
Tested without N-bit filter on Visual C++ 6.0 on Windows XP.
(Failed building with N-bit filter, I remember that Kent said N-bit filter had not been fully implemented for the time being.)
Misc. update:
Description: For FreeBSD (sleipnir), when GNU compilers do conversion from
unsigned long long to long double, the last 2 bytes of mantissa are lost.
The impact of precision loss isn't significant.
Solution: Detect this case on FreeBSD in configure, ignore it in dtypes.c
test instead of return failure.
Platforms tested: sleipnir, fuss, modi4. These systems are mainly concerned.
Description: Fortran szip test had a wrong logic; as a result
wrong return values were reported in the absence of
the SZIP library, and it was skipped when encoder was
disable
Solution: Fixed the test
Now SZIP fortran test should report "SKIP" only
when SZIP is not configured in.
Platforms tested: tg-login in parallel mode, copper,
mir with new PGI compilers and shared
SZIP libraries. All platforms were tested with
SZIP not available
SZIP with encoder/decoder
SZIP with decoder only
Misc. update:
Bug fix.
Description:
Remove 2 redundant files from all.zip.
Solution:
Remove explorer.lnk and desktop.ini from all.zip.
(I do not know why these 2 files were included in all.zip, but these 2 files are not related to HDF5 and should be removed.)
Platforms tested:
Windows 2000/XP.
Misc. update:
Update.
Description:
Update HDF5 windows projects as some source codes had been removed.
Solution:
1. Remove H5TB.c and H5TBprivate.h from hdf5 and hdf5dll projects.
2. Remove ttbbt.c from testhdf5 and testhdf5dll projects.
3. Add libtest and libtestD to dsets_cpp and dsets_cppdll projects.
Platforms tested:
Visual C++ 6.0 on Windows 2000/XP.
.NET on Windows XP.
Misc. update:
Reduce run time of daily tests.
Description:
cache, the test program for the metadata cache has been taking a while
to execute.
Solution:
As a short term "fix", I have commented out all but one of the long
running test functions. Of course that means that we aren't running
these tests at present. I'm not sure that this is a good idea.
Platforms tested:
Serial on Heping.
Misc. update:
Description:
C tests' macro VERIFY casts values to 'long' for all cases. Since
there are no operator<< for 'long long' or int64 in VS C++ ostream,
I casted the hsize_t/hssize_t values passed to verify_val to 'long'
as well. If problems arise later, this may have to be specificly
handled with an overload.
Platforms tested:
Linux 2.4 (eirene)
Windows 2000
Description:
Added libtest and libtestD to projects dsets_cpp and dsets_cppdll
to get rid of the "Unresolved symbol: GetTestVerbosity..." errors.
Platforms tested:
Windows 2000
bug fix and document.
Description:
Unix and probably other systems too, has a small exit value range
such as 1 byte. So, exit(256) may end up the same as exit(1).
Added caution message to the exit wrappers and changed test programs
to exit(1) when errors detected.
Platforms tested:
tested in copper. verified here that exit(256) was treated just like
exit(0).
slight improvement
Description:
Added a time stamp when a host is not reachable.
Added a pause to let timekeeper to complete.
Platforms tested:
It should work.
Description: For HP-UX 11.00, the compiler generates 'floating exception'
when converting 'long double' to most of integer types.
Solution: Define a macro for all other systems except HP-UX 11.00. Hard set
this macro to 'no' in config/hpux11.00 to skip this test for HP-UX 11.00.
Platforms tested: modi4, kelgia, fuss
Bug fix
Description:
Print the thread ID in a little more portable of a fashion, disallowing
negative thread IDs.
Platforms tested:
Linux 2.4 (heping) w/threadsafe
Too Minor to require h5committest
Remove feature
Description:
Retire threaded, balanced binary tree code from HDF5 use. Requiescat in
pace...
Also, regenerate dependencies files.
Platforms tested:
FreeBSD 4.10 (sleipnir) w/parallel
Too minor to require full h5committesting (the code is already
disconnected from everything except its tests)
Description: Windows .NET 2003 can't handle float(double)->long_long hardware conversion.
While the problem hasn't been determined, we temporarily disable that test by using a
condition macro. Let Windows define that macro. Other systems don't have it defined.
Platforms tested: mir and eirene.
Description: integer->long double conversion test failed on some of Linux
systems(mir and eirene) when Intel compiler is used. I'm not able to repeat
the problem. So I just made a best guess and fix it. The problem is minor.
The long double on Linux is 12 bytes long but precision is 10 bytes. The
unused 2 bytes may have garbage in them causing value comparison wrong.
Platforms tested: mir and eirene with Intel compiler.
Bug fix.
Description:
Previously, in repacktest.bat, the following script is used to dynamic detection of SZIP encoder:
testfiles\testh5repack_detect_szip%2\release\testh5repack_detect_szip%2.exe
However, the script does not work if only the debug version of testh5repack_detect_szip.exe is built, for example, in CodeWarrior.
Solution:
Modify above scripts as:
testfiles\testh5repack_detect_szip%2\%1\testh5repack_detect_szip%2.exe
where %1 is the first input parameter for repacktest, which could be either debug or release
Platforms tested:
Windows XP. (Minor Change)
Misc. update:
Description: 2 small things to correct:
1. the change in H5config.h.in was wept out by a later change.
2. long long isn't supported on Windows. It's long_long instead.
Platforms tested: fuss(linux 2.4)
Code cleanup
Description:
Transition FPHDF5 to use skip lists for various internal data structures,
instead of threaded, balanced binary trees.
Also, simplify some of FPHDF5 code some, etc.
Platforms tested:
FreeBSD 4.10 (sleipnir) w/parallel & fphdf5
Too minor to require h5committest
New feature
Description:
Add some additional features to the skip list code that was needed to
fully support all the features that the threaded, balanced binary tree code
has.
Also, updated the property list code to take advantage of a few of the
new features.
Platforms tested:
FreeBSD 4.10 (sleipnir)
Too minor to require h5committest
Bug fix.
Description:
threadsafe test (ttsafe) would seg-fault if --disable-production --enable-debug
mode is used. Reason was that the fstack.nused field was not initialized
when created.
Solution:
Init new fstack.nused with 0.
Platforms tested:
Tested in mir, using development/debug mode.
Did not "h5committested" as change is trivial and limited to threadsafe mode.
To add n-bit implementation inside HDF5.
Description:
This check-in for implementation is for debugging purpose.
N-bit filter should be used for the time being.
Solution:
Platforms tested:
sol 2.7, Linux 2.4, Aix 5.1
Misc. update: