Cleanup
Description:
Added set_extend.h5 file to the CLEANUP macro in the Makefile so that
it'll be removed when the other temp files are removed.
Platforms tested:
Linux
Bug fix & feature add
Description:
Added new API function H5Sget_select_type to determine type of selection in
a dataspace. Return values are defined by the H5S_sel_type enumerated type
in H5Spublic.h
Also, hyperslab operations involving a "all" or "none" selection are not
generating the correct resulting selections.
Solution:
Added regression tests to verify correction operation of hyperslab
operations against "all" and "none" selections. New tests also verify
H5Sget_select_type() API call.
Platforms tested:
FreeBSD 4.5 (sleipnir)
Regression tests
Description:
Generic property classes derived from an existing class were not having
the parent class's properties copied into the new class.
Additionally, derived classes were not being detected correctly.
Solution:
Added regression tests to verify that these fixes are working:
Copied properties from parent class into derived class.
Modified H5P_isa_class_real() to walk back up the chain of parent
classes to proper detect derived classes.
Platforms tested:
FreeBSD 4.5 (sleipnir)
Bug Fix
Description:
When file space was returned to the file space free-list for reuse,
occasionally raw data allocations which used space from the free-list
would overlap with the metadata accumulator and get over-written with
the cached information in the accumulator, corrupting the data.
Solution:
Check if the space about to be recycled on the free-list is going to be
used for raw data and also overlaps with the metadata accumulator cache,
avoiding using space that fits those criteria.
This fixes bug #701
Platforms tested:
FreeBSD 4.5 (sleipnir)
Removing the DPSS (gridstorage) driver source code.
Description:
The DPSS (using Grid-Storage) driver is retired.
Removed the configure option with-gridstorage from configure.in.
Cvs remove the following files
./src/H5FDdpss.c
./src/H5FDdpss.h
./test/dpss_read.c
./test/dpss_write.c
Regenerated Dependencies files (some had to be hand-edited since
'make depend' did not cover them.)
Removed reference to DPSS Virtual file driver from H5F.c.
Platforms tested:
modi4 (Parallel; -with-gass=...), eirene, arabica (fortran, cxx).
Bug Fix.
Description:
The H5Rget_object_type function could not get the object type for dataset
region references.
Solution:
Added a new function, H5Rget_obj_type, to replace H5Rget_object_type.
The new function requires the reference type as an additional parameter,
in order to allow queries on different reference types to be performed
correctly.
Platforms tested:
FreeBSD 4.4. (sleipnir)
Bug Fix
Description:
Added regression test for proper library behavior when adding fields past
the end of a datatype.
Platforms Tested:
FreeBSD 4.4 (sleipnir)
Code cleanup
Description:
Tweaked internal error handling macros to reduce the size of the library's
object code by about 10-20%.
Also cleaned up some compiler warnings...
Platforms tested:
FreeBSD 4.4 (sleipnir)
Purpose:
Modify H5Fclose behavior
Description:
The HDF5 actual file close behaves in several ways in terms of if there
are still objects(dataset, group, datatype) opened in file.
Solution:
Added a new file access property, file close degree. It has four values,
H5F_CLOSE_DEFAULT
H5F_CLOSE_WEAK
H5F_CLOSE_SEMI
H5F_CLOSE_STRONG
The way a file is closed is decided by these values.
Platforms tested:
IRIX64 6.5, SunOS 5.6, FreeBSD 4.4
Bug Fix
Description:
The code in H5Sselect_hyperslab_valid contained an fencepost error and is
allowing selections which overlap the extent by exactly one element in any
dimension to pass as valid instead of flagging the selection as invalid.
This bug only affects hyperslabs which have been OR'ed together, not the
selection from a single H5Sselect_hyperslab.
This fixes bug #550.
Solution:
Changed an '>' to an '>=' and added new regression test to check for error.
Platforms tested:
FreeBSD 4.4 (sleipnir)
Code cleanup
Description:
Property that H5P(g|s)et_hyper_cache uses is no longer in use inside the
library.
Solution:
Removed H5P(g|s)et_hyper_cache API functions, except when backward
compatibility is turned on. When backward compatibility is turned on,
the property is defined by the library, but unused internally.
Platforms tested:
FreeBSD 4.4 (sleipnir)
Backward Compatibility Fix
Description:
H5Pset_fapl_log's parameters have changed from a simple "verbosity" level
to bit-masked flags to enable various behaviors.
Solution:
Added in v1.4 compat stuff, on the unlikely chance that others are actually
using this code in some production way.
There are no C++ or FORTRAN wrappers for this call.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Backward Compatibility Fix
Description:
One of H5P[gs]et_sym_k's parameters changed between v1.4 and the development
branch.
Solution:
Added v1.4 compat stuff around H5P[gs]et_sym_k implementation and testing
to allow v1.4.x users to continue to use their source code without
modification.
These changes are for everything except the FORTRAN wrappers - I spoke with
Elena and she will make the FORTRAN wrapper changes.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Backward Compatibility Fix
Description:
One of H5P[gs]et_cache's parameters changed between v1.4 and the development
branch.
Solution:
Added v1.4 compat stuff around H5P[gs]et_cache implementation and testing
to allow v1.4.x users to continue to use their source code without
modification.
These changes are for everything except the FORTRAN wrappers - I spoke with
Elena and she will make the FORTRAN wrapper changes.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Code cleanup
Description:
Changed the logging file driver to use bitmasked flags for features to
enable, instead of using a verbosity level.
Platforms tested:
Solaris 2.6 (baldric)
Code cleanup
Description:
Windows is generating hundreds of warnings from some of the practices in
the library. Mostly, they are because size_t is 32-bit and hsize_t is
64-bit on Windows and we were carelessly casting the larger values down to
the smaller ones without checking for overflow.
Also, some other small code cleanups,etc.
Solution:
Re-worked some algorithms to eliminate the casts and also added more
overflow checking for assignments and function parameters which needed
casts.
Kent did most of the work, I just went over his changes and fit them into
the the library code a bit better.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Purpose:
Switch from old property list to new generic property list.
Description:
Switch API function for the new generic property list.
Platforms tested:
IRIX64 6.5, FreeBSD, SunOS 5.7.
Code cleanup
Description:
I had moved an fclose() in my earlier fix and it could lead to a resource
leak in certain error conditions.
Also, prepared file for Albert to expand to test with files larger than
2GB... :-)
Solution:
Moved fclose() call back to original position.
Put in type cast for FAMILY_SIZE macro.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Bug fix
Description:
'big' test was not detecting that the AFS quota had been hit when running
under FreeBSD.
Solution:
Amending quota checking code to detect errors on file closes as well as
opens, seeks and writes.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Purpose:
Changed the file creation property list to the new generic property list.
Modified for new file creation property list.
Platform tested:
IRIX64, SunOS5.7, FreeBSD
Code cleanup
Description:
Purify detected an uninitialized memory read in test data.
Solution:
Corrected parameters for initializing data array so entire array is
initialized.
Platforms tested:
Solaris 2.7 (arabica)
Code cleanup
Description:
Purify detected some resource leaks in the tests.
Solution:
Released memory and property lists properly.
Platforms tested:
Solaris 2.7 (arabica)
Purpose:
refix tconfig.c
Description:
Follow Robb's reminder, long_long is used to define __int64 in windows and long long for other platforms at H5private.h.
Solution:
just change vrfy_ctype(long long....) into vrfy(long_long,.....) in the tconfig.c. Delete the previous
macro.
Platforms tested:
windows 2000, linux
Purpose:
bug fixed
Description:
Windows doesn't recognize long long. Instead it uses __int64. So add a macro
like
#ifdef HAVE____int64 for windows-like platforms.
Solution:
see above
Platforms tested:
eirene
Test bug fix.
Description:
When reading or writing to chunked datasets and the data needed datatype
conversion, and the amount of data was more than one conversion buffer,
data in the conversion buffer was getting corrupted.
Solution:
Corrected error in advancing buffer pointer where it was being advanced
by the number of elements instead of the number of bytes.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Kludge
Description:
Since we're only about halfway through converting the internal use of
property lists from the "old way" to the generic property lists, we turned
off snapshots to avoid exposing lots of API changes to users, until the
APIs settled down.
Getting the snapshots rolling again seems to have become a priority, so
some changes are going to have to be made now that were going to be
postponed until we were completely finished with the conversion. This
requires that the old API functions be able to deal with both the old
and new property lists smoothly.
Solution:
Kludge together the property list code so that they can transparently handle
dealing with both the old and new property lists
Platforms tested:
FreeBSD 4.4 (hawkwind)
New feature.
Description:
Added a test to verify the correctness of information provided by
configure in H5config.h. Some information, such as SIZEOF some
types can be hardcoded by config/<machine>. This test verified
the information is indeed correct.
Currenly, only size of C language types are verified.
Platforms tested:
Eirene, regular, arabica.
Code cleanup for better compatibility with C++ compilers
Description:
C++ compilers are choking on our C code, for various reasons:
we used our UNUSED macro incorrectly when referring to pointer types
we used various C++ keywords as variables, etc.
we incremented enum's with the ++ operator.
Solution:
Changed variables, etc.to avoid C++ keywords (new, class, typename, typeid,
template)
Fixed usage of UNUSED macro from this:
char UNUSED *c
to this:
char * UNUSED c
Switched the enums from x++ to x=x+1
Platforms tested:
FreeBSD 4.4 (hawkwind)
Purpose:
Bug Fix
Description:
The error codes checked for were hardcoded into the program.
Solution:
Used the "enum" names instead.
Platforms tested:
Linux
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
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)
Code cleanups, mostly..
Description:
Work on pacifying the SGI compiler to get the generic properties working
correctly with --enable-parallel and --enable-fortran. It's not quite
fixed yet, but I need to head home and these patches help... :-/
Platforms tested:
IRIX64 6.5 (modi4)
New Features!
Description:
Start migrating the internal use of property lists in the library from the
older implementation to the new generic property lists.
Currently, only the dataset transfer property lists are migrated to the
new architecture, all the rest of the property list types are still using
the older architecture.
Also, the backward compatibility features are not implemented yet, so
applications which use dataset transfer properties may need to make the
following changes:
H5Pcreate(H5P_DATASET_XFER) -> H5Pcreate_list(H5P_DATASET_XFER_NEW)
and
H5Pclose(<a dataset transfer property list>) -> H5Pclose_list(id)
This still may have some bugs in it, especially with Fortran, but I should
be wrapping up those later today.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Feature shift
Description:
Take out the v1.2.x compatibility stubs and put in the hooks for v1.4.x
compatibility when needed.
Platforms tested:
FreeBSD 4.3 (hawkwind)
Purpose:
Bug Fix
Description:
The way we were generating Dependencies and .depend files was broken.
If the $srcdir or other macros began with a ".", then it would match
anything and cause problems since it would then overwrite the
beginning of the header file's path.
Solution:
Wrote a Perl script which can handle this type of weirdness better.
It's only used when the environment is a GNU one with a GCC
compiler...
Platforms tested:
Linux
Bug Fix, Code Cleanup, Code Optimization, etc.
Description:
Fold in the hyperslab speedups, clean up compile warnings and change a
few things from using 'unsigned' or 'hsize_t' to use 'size_t' instead.
Platforms tested:
FreeBSD 4.3 (hawkwind), Solaris 2.7 (arabica), Irix64 6.5 (modi4)
Purpose:
Code Cleanup
Description:
Updating CodeWarrior Port
Solution:
Move around some Windows and Metroworks ifdefs, etc.
Platforms tested:
Solaris 2.7 (arabica) Linux 2.2 (eirene)
Purpose:
Use port hunting to test the Stream VFD
Description:
The stream driver is tested by streaming data
between two different processes on the local
machine on a given default port.
If this port is already is use, port hunting
should find the next available port to use.
The hostname/port information which is actually
used by the sender is written to a temporary
file which is then read by the receiver process
to connect to the sender's port.
For the purpose of testing I switched back
the default port to use from 10007 to 5678
which is at least already used by another
service on modi4.
Platforms tested:
x86 Linux, Irix 32/64 bit (modi4), Dec Alpha,
Unicos on T3E, Hitachi SR8000, AIX on SP2
Code cleanup
Description:
Recent CodeWarrior patches have broken the Unix builds and moved code
around in non-portable ways.
Solution:
Patched things back up to try to accomodate CodeWarrior and still let the
Unix builds work correctly.
Platforms tested:
FreeBSD 4.3 (hawkwind)
code warrior support
and some clean up
the macros file_seek and file_offset_t that were repeated over sevral files were put only in
H5private.h
H5private .h was updated for win32
vthe
Description:
Solution:
Platforms tested:
Regression check added
Description:
Added regression check to verify that the array reading code is now working
correctly for small data transfer buffers.
Platforms tested:
FreeBSD 4.3 (hawkwind)
Small Fix
Description:
Don't delete the /tmp/${USER,LOGIN} directory when we're done with
it. Also, only do the /tmp/${USER,LOGIN} if this is a parallel
configured library.
Solution:
Removed the removal of the /tmp/${USER,LOGIN} directory and added
checks to determine if we're in a parallel configured library before
munging the filename...
Platforms tested:
Linux
Feature Add
Description:
Added the feature (not a bug, a FEATURE!) that, if the person has the
env variables USER or LOGIN set, then it will place the temporary
files in the "/tmp/$USER" or "/tmp/$LOGIN" directory (in that order).
This is only if the prefix the user gives is the default one "/tmp".
After the tests are finished, it will remove the directory for the
user.
Platforms tested:
Linux
Update
Description:
Changed includes of the form:
#include <hdf5_file.h>
to
#include "hdf5_file.h"
so that gcc can pick them up easier without including the system
header files since we don't care about them.
Platforms tested:
Linux
Portability tweaks
Description:
Certain features (signal for FPE, some assertions, etc) used in testing
are not available in certain non-UNIX platforms.
Solution:
Ifdef'd out the test code on the platforms which don't have that support.
Platforms tested:
FreeBSD 4.3 (hawkwind)
Code tweak
Description:
Large data arrays were being created on the stack.
Solution:
Hoisted the data variables out of the function(s) and make into static
variables.
Platforms tested:
FreeBSD 4.3 (hawkwind)
Code Tweaks
Description:
"FILE" macro for file names was getting confused with Standard C __FILE__
macro on certain platforms.
Solution:
Changed "FILE" macro usage to "DATAFILE"
Platforms tested:
FreeBSD 4.3 (hawkwind)
Code cleanup
Description:
Code had ifdef's instead of using standard macro wrappers for getpid()
call.
Solution:
Took out ifdef's and changed to use standard H5getpid() macro.
Platforms tested:
FreeBSD 4.3 (hawkwind)
Bug fix (sort of)
Description:
The RCSID string in H5public.h was causing the C++ code problem as it
was included multiple times and C++ did not like multiple definitions
of the same static variable.
Solution:
Since we don't really make use of the RCSID strings as we have not
installed it in all source files, we decided to remove it.
Platforms tested:
eirene (linux), modi4 (IRIX64-64) both serial and parallel modes.
Code cleanup
Description:
Binh-Minh found several places where parameters and/or return-values in the
tests were not matching the current parameters for functions in the library.
Solution:
Walked through the code and aligned the parameters and return-values with
the current functions.
Platforms tested:
FreeBSD 4.2 (hawkwind)
Test checkpoint
Description:
Checkpointing generic property tests before removing the older [non-generic]
property list implementation and switching all the property lists to use
the generic code.
Generic properties are feature complete and as fully tested as I can
determine.
Platforms tested:
FreeBSD 4.2 (hawkwind)
Bug Fixes
Description:
Wrote test to exercise hyperslab I/O on chunked datasets where the
hyperslabs aren't aligned on exact dimension boundaries.
Platforms tested:
FreeBSD 4.2. (hawkwind)
"Bug fix"
Description:
It could not create the stream file in modi4 because port 5678 is used by
a recently installed application in modi4. But the reading side just
waited there and the two test processes have to be killed by hand.
Solution:
Changed to use port 10007 instead, hoping less chance of conflict
with other applications. Just a short-term solution.
Platforms tested:
modi4.
Clean up warnings
Description:
The "FAILED" macro is defined by Windows and is causing warnings and
potential errors when compiled on that platform.
Solution:
Change our macro from FAILED to H5_FAILED.
Platforms tested:
FreeBSD 4.2 (hawkwind)
Code cleanup
Description:
File was being opened around several dataspace operations which don't
need the file to be open.
Solution:
Removed file open/close around the dataspace operations.
Platforms tested:
FreeBSD 4.2 (hawkwind)
Additional testing
Description:
Added another random hyperslab test with smaller strip-mine buffers to
force more errors conditions (if they exist).
Platforms tested:
FreeBSD 4.2 (hawkwind)
Comment fix
Description:
Comment describing test was misleading
Solution:
Corrected description of type of test being performed.
Platforms tested:
Eyeballed...
Bug fix
Description:
Datasets were allowed to be created with chunks larger than the maximum
dimension for each dimension.
Solution:
Wrote test to verify new error checking is working correctly.
Platforms tested:
FreeBSD 4.2 (hawkwind)
Purpose:
windows bug fix
Description:
using HDopen and HDclose at this file, including H5private.h for windows specific headers.
Solution:
Platforms tested:
win 2000, confirmed at eirene
Code cleanup.
Description:
Fixed _lots_ (I mean _tons_) of warnings spit out by the gcc with the
extra warnings. Including a few show-stoppers for compression on IRIX
machines.
Solution:
Changed lots of variables' types to more sensible and consistent types,
more range-checking, more variable typecasts, etc.
Platforms tested:
FreeBSD 4.2 (hawkwind), IRIX64-64 (modi4)
Bug fix.
Description:
Properly detect whether the library has compression support and skip
tests (with messages) if there is no compression.
Platforms tested:
FreeBSD 4.2 (hawkwind)
Purpose:
a bug fix
Description:
without explicitly including stdio.h in this file, it will fail in compiling
at the first time of building up the library. It needs to be recompiled separetely. Now it can work. The real reason is to be investigated.
Solution:
adding include <stdio.h> for win32.
Platforms tested:
win 2000
Added testing
Description:
Since I accidentally checked in some bug-fixes for the generic property
code in my last checkin, I thought it would be a good idea to check in the
tests for them also. If these cause problems, I'll back them out of the
CVS tree...
Platforms tested:
FreeBSD 4.2 (hawkwind)
Additional test
Description:
Exercise reading background buffer from file when reading only one field
from a compound datatype which has array fields.
Platforms tested:
FreeBSD 4.2 (hawkwind)
Bug fix
Description:
Had incorrect logic in testing for file families when v1.2 compatibility
was enabled..
Solution:
Corrected to match non-compatibility code.
Platforms tested:
Linux 2.2.16-3smp (eirene)
Backward compatibility code
Description:
Add in code to allow the library to emulate the v1.2 API and behavior.
Platforms tested:
FreeBSD 4.2 (hawkwind)
Purpose:
Fix a bug caught by debug version of windows 2000 at test_compound_5(struct optimization converter).
Description:
free memory of a variable before checking the result by using that variable.
Solution:
put free(buf) and free(bkg) after the following block:
/* Check results */
if (memcmp(src[1].name, dst[1].name, sizeof(src[1].name)) ||
src[1].tdim!=dst[1].tdim ||
src[1].coll_ids[0]!=dst[1].coll_ids[0] ||
src[1].coll_ids[1]!=dst[1].coll_ids[1] ||
src[1].coll_ids[2]!=dst[1].coll_ids[2] ||
src[1].coll_ids[3]!=dst[1].coll_ids[3]) {
FAILED();
return 1;
}
Platforms tested:
windows 2000 and confirmed at LINUX(eirene).
Code bullet-proofing
Description:
There were several hard-coded values in various places in this test and
it wasn't checking for out-of-memory conditions very robustly.
Solution:
Changed hard-coded values to be computed values and performed better
checking for out-of-memory situations.
Platforms tested:
SGI O2K (modi4) and Solaris 2.6 (baldric)
Backward compatibility additions
Description:
Test HDF5 v1.2 compatibility API functions (H5Tget_member_dims &
H5Tinsert_array) when they are built into the library.
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
Purpose:
Bugfix
Description:
Undo my last bugfix
Solution:
Although changing 'return()' into '_exit()' for forked processes
fixed core dumping of stream_test under Linux SMP it wasn't really
a bugfix. In fact it still crashed on a T3E.
Now it turned out that the bug was in some cleanup routine in H5FD.c.
Since this has been fixed by Robb I can undo my (unneccessary) changes.
Platforms tested:
Linux SMP (eirene)
IRIX64 (modi4), IRIX32 (origin)
T3E
Bug fix.
Description:
Had been using older-style "HAVE_foo" macros instead of newer "H5_HAVE_foo"
macros.
Solution:
Added a "H5_" to all the "HAVE_foo" macros.
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
New Feature
Description:
Added array datatype tests to the regression tests. These datatype
combinations are tested currently:
1-D array of atomic datatypes
3-D array of atomic datatypes
array of array of atomic datatypes
array of compound of atomic datatypes
array of compound of array datatypes
array of VL of atomic datatypes
array of VL of array datatypes
Also added a test to verify that the older style compound datatype with
array fields works correctly.
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
Purpose:
Bugfix
Description:
The stream_test program reported an error under Linux SMP
for testing the Stream VFD although everything seemed to be fine.
Solution:
The sender and receiver process which are forked by main()
called return(retcode) at exit which implies closing open file descriptors.
Since these are shared this caused a SEGFAULT in either the sender
or the receiver when exiting.
Replacing return() by _exit() is the right way to terminate the forked
processes in this case.
Platforms tested:
Linux SMP (eirene)
Purpose:
Change to a more appropriate way.
Description:
Change the port number from hard-coded to the one depending on
the configure file ~/.srb/.MdasEnv.
Solution:
[details about the changes, algorithm, etc...]
[Please as detail as you can since your own explanation is
better than others guessing it from the code.]
Platforms tested:
[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:
Fix a typo
Description:
Just a typo in print output.
Solution:
[details about the changes, algorithm, etc...]
[Please as detail as you can since your own explanation is
better than others guessing it from the code.]
Platforms tested:
[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:
Port to Windows.
Description:
The stream_test program now also compiles and can be run under Windows.
Solution:
The problem was that fork(2) and waitpid(2) aren't available
under Windows when using the MS compilers.
So I test for both H5_HAVE_FORK and H5_HAVE_WAITPID.
These are already checked fortunately during configuration.
If they are not there the code just says
printf ("Test skipped because this architecture doesn't provide "
"fork(2) and waitpid(2)\n");
Platforms tested:
Windows NT, both with MS Visual C++ and GNU cc
Now you can build and run the Stream VFD testsuite under Windows
when using GNU cc !!
Bug fix.
Description:
Could not find the pre-created file for the H5S_MAX_RANK test
when --srcdir option is used. testhdf5 was looking for it
in the currect directory only.
Solution:
Make use of the value of the environment variable srcdir that
is passed to the tests. Compose the real location of the testfile
in order to open it even from a remote build directory.
Platforms tested:
Modi4, arabica, eirene
Change test files for increased maximum dimension constant.
Description:
space_overflow.c - added some simple error checking.
th5s.c - corrected test case for maximem dimensions to use correct file
and actually test what is supposed to be tested... :-)
th5s.h5 - regenerated with increased dimensions.
Platforms Tested:
FreeBSD 4.1.1 (hawkwind)
Solaris 2.5 (baldric)
Bug fix
Description:
"Time" datatypes (H5T_UNIX_D*) were not being stored and retrieved in
the datatype object header message correctly.
Solution:
Store endian-ness and precision in the datatype object header message and
added test to continue to track them working correctly.
This fixes bug #512.
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
Bug fix.
Description:
Previously, it has been possible to dereference deleted objects in a file.
Obviously, this is incorrect and could cause all sorts of problems if the
object being dereferenced had been partially over-written with other
information. - This is documented in Bug #493.
Solution:
Check the link count for objects being dereferenced and don't allow any
objects with link counts of zero to be dereferenced.
This fixes bug #493.
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
No change.
Description:
Must've added some debuging printf's and then took them out in a way which
triggered CVS.
Platforms tested:
Solaris 2.6 (baldric) & FreeBSD 4.1.1 (hawkwind)
Bug fix
Description:
The predefined HDF5_PARAPREFIX has a trailing slash. The parallel
testfile names end up with two adjacent slashes that made some system
unhappy.
Solution:
Removed the trailing slash.
Platforms tested:
Arabica (solaris 2.7).
Fix Irix pmake bugs
Description:
Build fails on Irix when builddir != srcdir
Solution:
* acconfig.h
* src/H5config.h.in [REGENERATED]
Added definition for HAVE_STREAM
* config/conclude.in
* config/depend1.in
* config/depend2.in
* config/depend3.in
* config/depend4.in
The `Dependencies' file is located in the source
tree. This fixes bugs for Irix pmake when compiling
outside the source tree. Hopefully it still preserves
Albert's changes which allow concurrent compilations
to not stomp on each other's Dependencies files.
* examples/Dependencies [REGENERATED]
* src/Dependencies [REGENERATED]
* test/Dependencies [REGENERATED]
* tools/Dependencies [REGENERATED]
Regenerated for testing purposes.
Platforms:
i686-pc-linux
mips-sgi-irix6.5
sparc-sun-solaris2.6
Added test program to verify the Stream Virtual File Driver.
Description:
This program tests the functionality of the Stream Virtual File Driver.
1. It spawns two new processes, a sender and a receiver.
2. The sender opens an HDF5 file for writing and writes
a sample dataset to it.
On closing the file the Stream VFD would send the file
contents to any connected client.
3. The receiver serves as a client attempting to open an
HDF5 file for reading. On opening the file the Stream VFD
would establish a socket connection to the sender process,
identified by its hostname (which is localhost in this example)
and a port number, and read the file contents via this socket.
Aftwerwards the dataset is read from the file into memory
and verified.
4. The main program waits for termination of its two child
processes and returns their exit code.
Platforms:
Tested so far under Linux, Irix 32/64bit, OSF1, Solaris, Cray Unicos,
Hitachi SR8000, IBM AIX.
Not tested under Windows yet.
The "FILENAME" declared extern in h5test.h is not always used.
It was used in h5_cleanup to remove temporary files created
during tests. Not all tests codes have used this routine.
Indeed, quite a few of test programs do "#define FILENAME ".
Also, h5_cleanup needs to work in tandem with h5_fixname.
h5_fixname accepts an explicite base_name argument instead
of using the global variable FILENAME. That is cleaner.
Solution:
Added char *base_name[] as a new argument to h5_cleanup, in
the same style as h5_fixname. Removed "extern char *FILENAME..."
from use. Also, undo some unnecessary declaration of "char *FILENAME"
from some tests which don't use it at all (yet).
Platforms tested:
modi4-64(irix64), arabica(solari2.7), eirene(linux)
(arabica could not launch tests automatically. I had to hack
in LD_LIBRARY_PATH to make them run.)
zlib, and zlib isn't in our LD_LIBRARY_PATH or in a standard system
library place (/usr/lib or /lib), then the tests can't run. This fixes it
if the person configures the source with the flag:
--with-zlib=/usr/fnord/include,/usr/fnord/lib
This only works if you're pointing to the shared library version in the
above flag...
were only creating one for all of them). Also changed so that, if they
got an error, it actually specifies that the tests failed on the screen
instead of succeeded ;-)
that all HDF5 API functions are protected by a mutex lock. Basically,
serialized all API calls. To use it, use
configure --enable-threadsafe --with-pthread
** src/H5Tconv.c
** src/H5Tpkg.h
** src/H5Tpublic.h
The H5T_conv_struct_opt() function had a design flaw -- it
didn't keep information about the stride to use to step
through the temporary/background-value buffer and thus nested
invocations would clobber each other's temp buffers. This was
fixed by splitting the `stride' argument into `buf_stride' and
`bkg_stride' arguments for all the conversion functions. THIS
IS AN API CHANGE, but users will get a compiler warning when
they pass their conversion function pointer to H5Tregister().
** src/H5T.c
** src/H5Tprivate.h
Added a bkg_stride argument to the H5T_convert() definition in
order to fix a bug related to the optimized compound datatype
conversion function.
** src/H5T.c
** src/H5A.c
** src/H5D.c
** src/H5Ofill.c
** src/H5P.c
Added bkg_stride=0 argument to the H5T_convert() calls.
** test/dtypes.c
Added a test for the H5T_conv_struct_opt() bug fixed above.
** src/H5FL.c
The H5FL_term() function should return non-zero even when it
couldn't free all the free lists do to their being used by
some other package. When that other package terminates it
will return non-zero, causing H5FL_term() to be called
again. This fixes some of the `infinite loop closing library'
messages.
** tools/pdb2hdf
Uses print_version() instead of doing that itself.
** src/H5Ppublic.h
Renamed H5Pget_gc_reference() declaration to make it match the
definition.
** src/H5FDlog.c
Added API tracing macros.
Removed `const' qualifier from a `char*' member of a struct
which was allocated on the heap.
** src/H5TB.c
Added curly braces to a couple deeply-nested `if' statements
to make them clearer and to shut up the increadibly stupid and
just plain incorrect gcc warning about ambiguous `else'.
** test/titerate.c
Removed incomplete initialization in favor of memset() for one
auto variable to stop compiler warnings.
** tools/Depencencies
Regenerated to remove references to h5dumputil.c