and replace it with new url for COPYING file.
Fix 2 lines in java error test expected output file where messages
include line numbers changed by reducing the copyright header by 2
lines.
Description:
Added wrappers for H5Iis_valid, H5Ps/get_nlinks, H5Tget_create_plist,
H5Oopen, H5Oclose and H5Pset_virtual
// Checks if the given ID is valid.
static bool isValid(hid_t an_id);
// Sets the number of soft or user-defined links that can be
// traversed before a failure occurs.
void setNumLinks(size_t nlinks) const;
// Gets the number of soft or user-defined link traversals allowed
size_t getNumLinks() const;
// Returns a copy of the creation property list of a datatype.
PropList getCreatePlist() const;
// Opens an object within a group or a file, i.e., root group.
hid_t getObjId(const char* name,...);
hid_t getObjId(const H5std_string& name,...);
// Closes an object opened by getObjId().
void closeObjId(hid_t obj_id) const;
// Maps elements of a virtual dataset to elements of the source dataset.
void setVirtual(const DataSpace& vspace, const char *src_fname,...);
void setVirtual(const DataSpace& vspace, const H5std_string src_fname,...);
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
Removed obsolet macros from C++ API:
H5_NO_NAMESPACE, H5_NO_STD, __cplusplus
Leave OLD_HEADER_FILENAME because iostream.h might still be in use,
until further checking is done.
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
Jelly
Description:
Replaced static_cast with reinterpret_cast for "void *".
Removed some commented-out old code.
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
Description:
- Removed many warnings:
warning: use of old-style cast
warning: enumeration value ‘H5D_VIRTUAL’ not handled in switch
warning: comparison between signed and unsigned
There are others of the same warnings and they will be taken care of
in the next release.
- Made some code reuse between overloads
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
Description:
- Put back the UNUSED parameters in dsets test because the change to remove
the warning last time caused failure in setting filter, in turn, caused
failure in the test with such obscure/unrelated errors!
- Added incRefCount() to other constructors that missed from last time.
Platforms tested:
Linux/64 (platypus)
Linux/32 2.6 (jam)
SunOS 5.11 (emu)
Description:
H5F_ACC_CREAT was included in the C++ API while the C library doesn't
allow it yet. Possibly, in the future, but not now. In addition, the
two flags H5F_ACC_RDONLY and H5F_ACC_RDWR were missing from the
documentation, causing confusion that appending is not supported.
Solution:
- Removed H5F_ACC_CREAT from the function until the C library support it
- Added H5F_ACC_RDONLY and H5F_ACC_RDWR to the comments to update the
documentation
Platforms tested:
Linux/ppc64 (ostrich)
Linux/32 2.6 (jam)
SunOS 5.11 (emu)
- Added wrappers to H5Object for H5Iget_name() to get object's name
ssize_t getObjName(char *obj_name, size_t buf_size = 0) const;
ssize_t getObjName(H5std_string& obj_name, size_t len = 0) const;
H5std_string getObjName() const;
- Added tests tobject.cpp
- Added to various cleanup_* functions in tests to remove generated files
- Added an overload H5I_type_t getHDFObjType() to get object's type
Platforms tested:
Linux/ppc64 (ostrich)
Linux/32 2.6 (jam)
SunOS 5.11 (emu) with gmake
- Added a null terminator to the comment returned from the C call, in
getComment methods
- Some minor cleanup
Platforms tested:
Linux/ppc64 (ostrich)
Linux/32 2.6 (jam)
Linux/64 2.6 (platypus)/PGI compilers
- Added another overload for char* argument:
ssize_t getComment(const char* name, const size_t buf_size, char* comment)
- Changed default value to 0 for the other two getComment methods
- Added HDmemset to after every char string allocation to clear the buffer
Platforms tested:
Linux/ppc64 (ostrich)
Linux/32 2.6 (jam)
Linux/64 2.6 (platypus)/PGI compilers
Description:
- The failure in daily test was caused by missing initialization of member
"id" in a few constructors. This is now fixed.
- Added two overloaded H5Location::setComment
- Improved some error reporting in H5Location
- Improved error reporting in tests
Platforms tested:
Linux/32 2.6 (jam)
SunOS 5.11 (emu)
Linux/64 2.6 (koala)/PGI compilers
Description:
- Passing the c_str() of an std string into a C function caused failure
on OpenVMS. Added a work around using temporary string. (th5s.cpp)
- Passing incorrect file access property list caused test_datasize() to
fail. Fixed.
- Close a group in test_dset, before the file can be properly closed.
This should fix the problem on OpenVMS.
Platforms tested:
Linux/32 2.6 (jam)
SunOS 5.11 (emu)
Linux/ppc64 (ostrich)
Description:
+ The C++ test failed with the new PGI compilers versions 12.4 and 12.5
+ An exception thrown by an internal function, which was called by
a constructor, was not propagating to the test program during the stack
unwinding, so it couldn't be caught by the test and the program terminated.
+ Various trials and errors indicated that the problem is where an STD string
converted to a char* being passed to the internal function, but confirmation
has not been found yet. It could be a compiler bug.
Solution:
+ Added a try/catch in the constructor around the internal function and
re-throw the exception when it is caught. This is a workaround.
+ Unrelated minor fixes: removed unused variables and MESSAGE's; commented
out tvlstr.cpp/test_read_vl_string_attribute because it may be redundant,
and commented out H5Tpkg.h inclusion because TEST_ALIGNMENT is not added
yet and probably not necessary in the C++ API.
Platforms tested:
Linux/32 2.6 (jam) with PGI compilers
Linux/32 2.6 (jam) with GNU compilers
Linux/64 2.6 (koala)
Description:
Fixed miscellaneous inconsistencies and typos, which also took
care of the failure in Packet Table test on daily test today.
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 2.6 (koala)
Mac Lion (duck)
Description:
Closed various HDF5 objects in DataSet::getInMemDataSize and
Attribute::getInMemDataSize to remove some memory leaks.
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 2.6 (amani)
SunOS 5.10 (linew)
In the previous revision, dsets.cpp was moved from a standalone
program into testhdf5.cpp to be consistent with the rest of the
tests. Makefiles were left out by mistake.
Platform tested:
Verified on Linux/32 2.6 (jam)
Removed header file testhdf5.h from C++ tests to eliminate a non-standard
problem on OpenVMS. It wasn't essential.
Platforms tested:
Linux/32 2.6 (jam)
FreeBSD/64 6.3 (liberty)
Ray agreed to test on OpenVMS.
Description:
Previously, there was no versioning for H5Z_class_t. This prevented applications
written for 1.6 using custom filters from being able to use the 1.8 library.
There is now an H5Z_class1_t and H5Z_class2_t to enable compatibility. H5Zregister is
*not* versioned, it determines which version of the struct has been passed in by the
value of the first field (id or version, both are ints).
Tested: jam, linew, smirom (h5committest), jam (--with-default-api-version=v16)
Bring file free space branch changes through r15795 into trunk, which
includes a fair bit of code cleanup & rearrangement along with a couple of
bug fixes also.
Tested on:
Mac OS X/32 10.5.5 (amazon) in debug mode
Mac OS X/32 10.5.5 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Description:
Added extern "C" to cleanup functions as well, forgot last time.
Cleaned up/Added comments to some of the newly added tests.
Platforms tested
AIX 5.1 (copper)
Linux 2.6 (kagiso)
SunOS 5.8 64-bit (sol)
Tested platform:
Kagiso only since it is only a comment block change. If it works in one
machine, it should work in all, I hope. Still need to check the parallel
build on copper.
Description:
- Added a brief test for DSetCreatPropList::setSzip. More through tests
will be added later.
- Moved check_values from dsets.cpp into h5cpputil.cpp for sharing
with other tests.
Platforms tested
AIX 5.1 (copper)
SunOS 5.8 64-bit (sol)
Linux 2.6 (kagiso)
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