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)