Description:
dsets.cpp: added a missing PASSED call to line up output better.
tattr.cpp: casted parameters to verify_val properly to fix compilation
errors on Windows, introduced from the previous checkin.
Platforms tested:
Linux 2.4 (heping) - very minor
Windows XP
Description: Brought VMS changes back (very minor):
In tfile.cpp file some tests for open and creation should fail on UNIX,
but this is not true on VMS since it has versioning of the files.
In dsets.cpp std::count was used, but it is not available on VMS; also
VMS didn't like "bogus" name for the filter function.
Solution: Used H5_HAVE_FILE_VERSIONS and H5_VMS variables to control the tests;
replaced "bogus" function with "filter_bogus" function
Platforms tested: VMS server, heping
Misc. update:
Description:
Changed to alias string instead of std, i.e. H5std_string instead
of H5std, because the old way wasn't working when std didn't exist.
Platforms tested:
Linux 2.4 (heping)
SunOS 5.8 64-bit (sol)
HPUX 11.00 (kelgia) - this was the problematic platform but I wasn't
able to test before.
Description:
Added alias H5_std so either the global or std namespace can be
used, depending on H5_NO_STD.
Platforms tested:
Linux 2.4 (heping)
SunOS 5.8 64-bit (sol)
AIX 5.1 (copper)
Description:
Removed the call to h5_test from dsets.cpp, since resetting
the library made the C++ global constants become invalid.
Platforms tested:
Linux 2.4 (heping)
SunOS 5.8 64-bit (sol)
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
Description:
Added an overloaded function for the template function verify_val.
Updated various comments/headers.
Platforms tested:
Linux 2.4 (heping)
AIX 5.1 (copper)
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.
Bug Fix/Code Cleanup/Doc Cleanup/Optimization/Branch Sync :-)
Description:
Generally speaking, this is the "signed->unsigned" change to selections.
However, in the process of merging code back, things got stickier and stickier
until I ended up doing a big "sync the two branches up" operation. So... I
brought back all the "infrastructure" fixes from the development branch to the
release branch (which I think were actually making some improvement in
performance) as well as fixed several bugs which had been fixed in one branch,
but not the other.
I've also tagged the repository before making this checkin with the label
"before_signed_unsigned_changes".
Platforms tested:
FreeBSD 4.10 (sleipnir) w/parallel & fphdf5
FreeBSD 4.10 (sleipnir) w/threadsafe
FreeBSD 4.10 (sleipnir) w/backward compatibility
Solaris 2.7 (arabica) w/"purify options"
Solaris 2.8 (sol) w/FORTRAN & C++
AIX 5.x (copper) w/parallel & FORTRAN
IRIX64 6.5 (modi4) w/FORTRAN
Linux 2.4 (heping) w/FORTRAN & C++
Misc. update:
Description:
Accidentally edited this file and removed a couple characters from a
defined name, thus caused undefined error in daily test. Fixed!
Platforms tested:
SunOS 5.7 (arabica)
Description:
Replaced cout's with cerr's.
Replaced macro VERIFY with template function verify_val to
verify read data/info.
Cleanup various places in the tests to make them more consistent.
Platforms tested:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Purpose:
HDF5 now supports SZIP with no encoder.
Description:
SZIP can be configured to have both encoder and decoder or just to have the decoder. HDF5 can now query the configuration of any filter, and will throw errors if users try to write using a filter with encoding disabled.
Solution:
Added H5Zget_filter_info function, changed API for H5Pget_filter and H5P_get_filter_by_id. See SZIP RFC.
Platforms tested:
Copper (fortran, C++, parallel), Sleipnir (C++), Arabica (fortran, C++), Verbena (fortran, C++)
Misc. update:
Text cleanup
Description:
Re-worded some informative and error messages.
Remove/Updated outdated comments.
Platforms:
Linux 2.4 (eirene)
IRIX 6.5.11 (modi4)
Purpose:
Code cleanup
Description:
Moved a utility function out so other tests can use the same
function and avoid code duplication. Future utility functions
can also benefit from this move.
Platforms tested:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
IRIX 6.5.11 (modi4)
HPUX 11.00 (kelgia)
Bug Fix
Description:
Kelgia needs the old header file format for #includes.
Solution:
Conditionally include the old header file format if
OLD_HEADER_FILENAME is defined.
Platforms tested:
Kelgia
Update, Bug Fix, and Feature Add
Description:
- Updated how AC_{ENABLE,WITH} help messages were being generated.
Autoconf now gives you an AC_HELP_STRING macro to use to create
them.
- Fixed the problem with Linux LFS on RedHat 7.3 machines. It wasn't
finding getdents64(), so we can't rely on that being present
anymore...
- Added GPFS detection and setting.
- Updated how compression is specified. It's no longer necessary to
test for HAVE_ZLIB_H, HAVE_LIBZ, and HAVE_COMPRESS2. The one macro
{H5_}HAVE_COMPRESSION takes care of all of these.
Solution:
Changed the check for Linux LFS from looking for getdents() to
looking at the version number of the kernel (using the uname -r
command). You can still override with the --enable-linux-lfs switch
if you really believe that your <2.4 kernel has LFS support.
Platforms tested:
Linux (2.2 and 2.4)
Purpose:
Fixing found bug
Description:
A data file cannot be removed because the corresponding H5File object
is still in existence, which means the data file is still opened.
Solution:
Moved h5_cleanup to outside of the try block so that the H5File object
will go out of scope and be destroyed before h5_cleanup attempts to
remove the corresponding data file.
Platforms tested:
SunOS 5.7 (arabica)
Windows 98
Description:
dsets.cpp:
- Added routine's headers to be consistent with the C tests
- Added the following tests (they are not in the C version
test because they are C++ specific):
+ Test copying a user-defined type using DataType::copy
+ Test copying a user-defined type using DataType::operator=
+ Test copying a user-defined int type using DataType::operator=
+ Test copying an integer predefined type using a constructor
+ Test copying an integer predefined type using DataType::operator=
th5s.cpp:
- Added routine's headers to be consistent with the C tests
- Cleanup old couts and statements used during debugging
Platforms tested:
arabica (sparc-sun-solaris 2.7)
Purpose:
Format and typos mostly
Description:
Changed the "Copyright" header of some files so they will be consistent.
Platforms tested:
arabica (sparc-sun-solaris 2.7)
Purpose:
Test code improvement
Description:
- Added H5_HAVE_ZLIB_H and H5_HAVE_LIBZ to dsets.cpp
- Added the use of new API Exception::getCFuncName to obtain
the name of the function where failure occurs, to various places
in the test code.
Platforms tested:
arabica (sparc-sun-solaris 2.7)
Purpose:
Bug fix
Description:
Compiled error about "RcsId initialized twice"
Solution:
This problem has been taken care of in the C++ API already. However,
because dsets.cpp includes the C++ header file H5Cpp.h after the
C test header files, h5test.h and testhdf5.h, the fix was missed.
Moved H5Cpp.h to before those C header files.
Platforms tested:
arabica (sparc-sun-solaris 2.7)
Adding Test
Description:
- Add the tests to the Makefile so that they'll be executed.
- Fixed a few bugs in dsets.cpp
* Some buffers should have been char *'s instead of void *'s.
* An iterator for a loop wasn't declared properly.
- Formatting changes
Solution:
- Changed the void *'s to char *'s.
- Declared the loop iterator.
NOTE: Doesn't work just yet. There's a conflict with a C++ keyword
(delete) in the H5Pprivate.h header file. Quincey's looking into
this.
Platforms tested:
Linux
Adding tests to the C++ API
Description:
The C++ API has no formal testing yet.
Solution:
Added tests for file and dataset interfaces. I'm still working on
other tests.
Platforms tested:
Linux (gcc version egcs-2.91.66)
I temporarily modified the Makefile on my local Linux machine and these
tests work. I need Bill to help adding them permanently before I can
test on an NCSA machine. I checked the files in now so Bill can do that.