Feature
Description:
The H5Pset_fapl_split() used to assume both meta and raw files
have the same prefix name. This prohibited the option to specify
the two files reside on different file systems. E.g., having
meta-file as /user/home/data1.meta and raw-file as /pfs/data1.raw.
Solution:
Added feature that if the raw or meta extension string contains
a "%s", it will be substituted by the filename given for H5Fopen
or H5Fcreate. This is same as the multi-file syntax. If no %s
is found, one is inserted at the beginning. This is the previous
behavior.
Platforms tested:
Modi4 (parallel, serial) and eirene (parallel).
Bug fix
Description:
Added the condition that Parallel programs are dependent on
the hdf5 library too.
Platforms tested:
eirene (parallel), modi4(serial and parallel).
Adding Feature
Description:
Added new H5Pcopy_prop function to copy a property (value) from one property
list or class to another.
Platforms tested:
FreeBSD 4.4 (hawkwind)
New feature.
Description:
Test programs were assumed to be serial programs only.
There was no provision to test parallel programs automatically.
Solution:
Added $(TEST_PARA_PROGS) to hold parallel test programs and
added appropriate action entry to test them if defined.
Platforms tested:
Eirene (parallel).
Bug fix.
Description:
The default file name used is /foo/test.out that usually
is not legal. Changed it to /tmp/test.out.
Platforms tested:
eirene (parallel).
Bug fix.
Description:
Did not update the expected strings for result of grand total test
time. Causing a false report of test failed to complete.
Solution:
Update the strings.
Platforms tested:
Eirene and modi4.
Bug fix
Description:
The previous coding using sed was not portable for all Unix
systems. Much easier to use 'cut' to parse the strings.
Platforms tested:
eirene
Thread-safety Bug Fixes
Description:
FreeBSD must use a different layout or mechanism for allocating objects on
the stack when compiling for thread-safe operation. Unused bits in 'long
double' variable are never used ('long double's on FreeBSD are stored in
12 bytes, but only use 10 bytes for computations), but set to different
values, causing the endianness permutation testing to generate incorrect
results and eventually fail an assertion.
Solution:
Clear the temporary variables used for determining the endianness permutation
with memset (affecting all 12 bytes) instead of just assigning a 0.0 to them
(affecting only 10 bytes)
Platforms tested:
FreeBSD 4.4 (hawkwind)
Portability Bug Fixes
Description:
FreeBSD wants the -pthread flag on both the compile and link lines. Also,
the cipher library is required for certain threading features and needs to
be linked in.
Solution:
Add the -pthread to the compile line and the cipher library to the list of
libraries.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Purpose:
Bug Fix
Description:
The table of error messages was updated in H5E.c. The change wasn't
reflected in this test because, sadly, we use hardcoded numerical
values for the "error" we want to check for and not the symbols.
Solution:
Bumped up the error number from 32 to 34 to coincide with the error
we expect.
Platforms tested:
Linux
Bug fix
Description:
when a snaptest did not complete, it reported it as a failure
of the launching host, rather than the testing host.
Changed it to report the testing host.
Purpose:
Bug Fix
Description:
On some SGI machines (or, rather, it was showing up there), the
/usr/ncsa/lib directory was being placed before the other directories
in the linker line. This was causing the linker to link in
alternative HDF5 libraries than the test library.
Solution:
Modified my previous hack so that it puts the $rpath macro at the
end, since those are the ones we're passing into the libtool function
(in the DYNAMIC_DIRS macro).
Platforms tested:
Paz
Purpose:
Feature Addition
Description:
Added support for gcc 3.0.x. GCC 3.0.x supports the C99
specification. The "-std=c99" gets rid of those annoying "warning
long long not supported by ANSI standard" messages.
Platforms tested:
Linux and gcc 3.0.1
Purpose:
Bug Fix
Description:
Was getting warnings about converting pointers to integers
without a cast.
Solution:
Changed some of the RETURN ERRORs from returning NULL to
returning FAIL instead.
Platforms tested:
Linux
Feature
Description:
Changed some output format.
Improved the CHECK_RSH to better report the result when failed.
Platforms tested:
eirene with nosuch and shalom. (made sure failures do occur)
Purpose:
Bug Fix
Description:
Object IDs command-line options weren't being picked up.
Solution:
The wrong flag was being checked for. Changed the flag from "v" to
"i", which is what the documentation says.
Platforms tested:
Linux
Code cleanup
Description:
This was "thrown" together in a quick way to test MPIO functionality.
Cleaned out some embrassingly useless declaration to reduce compiler
warnings.
Platforms tested:
modi4-pp and eirene-pp.
Bug fix
Description:
SAF test code exposed an error in the HDF5_MPI_OPT_TYPES
code. The SAF code was doing collective write to chunked
storage dataset. Some processes wanted to flush some chunk
while some other processes were doing something else but the
HDF5_MPI_OPT_TYPES code thought the chunk flushing were collective
calls since it only looked at the condition when H5Dwrite
was called. So, it hanged when doing MPI_File_setview.
For now, turned off the HDF5_MPI_OPT_TYPES code so that the
SAF code would work. More long term fix later.
Platforms tested:
modi4(pp)
bug fix
Description:
H5FD_mpio_flush() would try to file seek negative if the
file->eoa is 0 (e.g., doing mpio on the raw-file of the
split file driver). Put in a code to catch this case
by returning succeed immediately.
Platforms tested:
modi4(pp)
Bug fix
Description:
When the Fortran interface was used on the Linux systems, there were segmentation
errors. This was caused because two arrays were being accessed outside of their
bounds and because the trace type parameters were specified inccorectly in
the ProcTrace.inc file. There were also problems on some systems caused because
the long names of HDF entries resulted in trace IDs which were too long.
Solution:
The lines where arrays were being accessed outside of their bounds were changed.
The code in the Makefile.in and the PabloSedscr sed script file were changed so
that the tracetype parameters were generated correctly. The PabloSedscr file was
also modified to eliminate trace IDs for individual entries.
Platforms tested:
LINUX, IRIX64, IBM SP2
Bug Fix
Description:
Byte swapping routine was core dumping when attempting to convert 0
elements.
Solution:
Don't try to byte swap when there is nothing to do... :-)
Apologies to Kent for my comments on Friday about testing his checkins,
especially when it was I who needed to do moer testing. :-/
Platforms tested:
Solaris 2.7 (arabica)
Code improvement
Description:
The byte swapping routine for data conversion was inefficient.
Solution:
Applied a number of optimizations which should yield around a 2-3 times
faster algorithm.
Platforms tested:
Solaris 2.6 (baldric)
Purpose:
add another test file
Description:
Solution:
Platforms tested:
eirene, arabica
[machines you have tested the changed version. This is absolute
important. Test it out on at least two or three different platforms
such as Big-endian-32bit (SUN/IRIX), little-endian-32(LINUX) and
64-bit (IRIX64/UNICOS/DEC-ALPHA) would be good.]
Purpose:
Add another test file
Description:
Solution:
Platforms tested:
eirene, arabica
[machines you have tested the changed version. This is absolute
important. Test it out on at least two or three different platforms
such as Big-endian-32bit (SUN/IRIX), little-endian-32(LINUX) and
64-bit (IRIX64/UNICOS/DEC-ALPHA) would be good.]
Purpose:
a bug fix
Description:
change PIXEL_INTERLACE to INTERLACE_PIXEL and other interlace mode description
to fit for the image specification.
Solution:
Platforms tested:
eirene, sol2.7
Purpose:
1. fix a bug
2. turn off a feature
Description:
1. change the output of GRgetiminfo from NULL to &interlace_mode.
2. turn off the feature to change line-interleaved feature into
pixel-interleaved feature since inconsistent behaviour is found
in GR interface.
Solution:
see above
Platforms tested:
eirene, arabica
Purpose:
add a real raster-24 bit testing for interlace mode.
Description:
1. GR interfaces will never create an HDF4 file with interlace mode other than
pixel interleaved. DF24 interfaces can create HDF4 file with different interleaved.
There are inconsistent behaviors between GRreqimageil and GRreadimage, data read into the memory will not behave properly if a new interlace mode is asked.
2. Currently HDF5 image spec. supports pixel interleaved and plane interleaved.
We make a real image file to test whether the converter is doing the right thing.
Solution:
We use DF24 bit APIs to generate a real image file that can be tested by H5view.
Platforms tested:
linux and sol2.7
Code cleanup
Description:
Changed prototype for the buffer in Attribute::write from "void *"
to "const void *"
Platforms tested:
FreeBSD 4.4 (hawkwind)
SunOS 5.7 (arabica)
Linux 6.2 (eirene)
bug fix
Description:
Could not get to compile as parallel program in parallel mode.
That was because I did not include hdf5.h before testing for the
H5_HAVE_PARALLEL macro. (DUMB!)
Solution:
#include hdf5.h first.
Platforms tested:
eirene (parallel)
Code cleanup (sorta)
Description:
When the first versions of the HDF5 library were designed, I remembered
vividly the difficulties of porting code from a 32-bit platform to a 16-bit
platform and asked that people use intn & uintn instead of int & unsigned
int, respectively. However, in hindsight, this was overkill and
unnecessary since we weren't going to be porting the HDF5 library to
16-bit architectures.
Currently, the extra uintn & intn typedefs are causing problems for users
who'd like to include both the HDF5 and HDF4 header files in one source
module (like Kent's h4toh5 library).
Solution:
Changed the uintn & intn's to unsigned and int's respectively.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Bug fix
Description:
Included all those generated temporary files in the CLEAN target
so that they would be cleaned in "make clean".
Platforms tested:
eirene.