Change default file format to 1.8 across various tests and examples, updating file creation and access logic accordingly.
Behavior:
Default file format version changed to 1.8 in H5Pfapl.c.
Updated file creation and access to use 1.8 format in h5ex_g_compact.c and test_file_image.c.
Set earliest file format in multiple test files including cache_tagging.c, dtypes.c, and links.c.
Tests:
Modified expected output in tools/test/misc/expected/*.ls files to reflect new file format locations.
Adjusted test logic in test_file_image.c and cache_tagging.c to accommodate format changes.
Misc:
Added comments and TODOs for future format testing in test_file_image.c.
Minor variable renaming for clarity in test_file_image.c.
* Remove hbool_t from the public API
This was previously removed from the source code, but the API calls
retained hbool_t in the public API calls. This commit removes
hbool_t from the public APIs.
hbool_t is retained as a typedef for bool in H5public.h so existing
code doesn't break.
Makes testing parameters specified with AddTest non-const again when
passed to test functions. This allows test functions to update their
parameters during execution and is particularly useful for tests
which use those parameters to accumulate statistics, error counts,
etc. without resorting to global variables.
This is where most people will expect to find license information. The
COPYING_LBNL_HDF5 file has also been renamed to LICENSE_LBNL_HDF5.
The licenses are unchanged.
* Fix for issue #4849 that settings in fapl libver bounds causes unexpected H5Fopen failures.
File with non-SWMR-write access can now be opened without regard for superblock version.
Due to the fix, H5Fstart_swmr_write() also needs to be modified as well as the tests for libver bounds.
The "RFC: Setting Bounds for Object Creation in HDF5 1.10.0" is also updated to reflect the changes.
* Fix c++ libver bound test failure.
Added new testframe.h header to document testing framework functions and
split them away from h5test.h and from test programs that don't
integrate with the testframe.c testing framework
Added new test setup callback to testframe.c testing framework
Added parameters to AddTest() to specify size of test parameters so they
can be copied for later use
Enabled HDF5 error stacks in testframe.c framework by default and added
some error stack suppressions to some testhdf5 tests
Added new maxthreads option to testframe.c framework to allow specifying
the maximum number of threads a multi-threaded test can use
Moved TestExpress functionality out of testframe.c and into more general
h5test.c for wider use by tests through getter and setter
Updated some tests to not mix and match functionality between h5test.c/h
and testframe.c/h
Moved some functionality from testphdf5.h into testpar.h for parallel
tests that aren't part of testphdf5
Added new parallel test library that contains common shared
functionality for parallel tests (similar to h5test library)
* Updated source file copyright headers to remove "Copyright by the Board of Trustees
of the University of Illinois", which is kept in the top-level COPYING file.
* Committing clang-format changes
* C++ build and warning updates
* Fixes all warnings on C++ (with gcc 9.3)
* Updates CMake and Autotools C++ builds
* Undo warning clobber
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Modify temporary rpath for testing in java example scripts.
* Update URL in source file Copyright headers for web copy of COPYING
file - files not in src or test.
Description:
Moved the new H5Object::getInfo member functions to H5Location and
made them overloaded with the existing H5Location::getObjinfo. This
way is cleaner than the previous approach.
Platforms tested:
Linux/64 (jelly)
Linux/32 (jam)
Darwin (osx1010test)
Description:
Applied the typo fixes from user's report.
The previous pull request couldn't be merged because it was too old,
and it was too complicated for me to resolve conflicts.
Platform tested:
Linux/64 (jelly) - very minor
Description:
- Replaced H5Location::exists with H5Location::nameExists and marked
H5Location::exists as deprecated.
- Miscellaneous test cleanup for consistency.
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (jelly)
Darwin (osx1010test)
* commit '54957d37f5aa73912763dbb6e308555e863c43f4':
Commit copyright header change for src/H5PLpkg.c which was added after running script to make changes.
Add new files in release_docs to MANIFEST. Cimmit changes to Makefile.in(s) and H5PL.c that resulted from running autogen.sh.
Merge pull request #407 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10_1 to hdf5_1_10_1
Change copyright headers to replace url referring to file to be removed and replace it with new url for COPYING file.
Removed "#ifndef H5_NO_DEPRECATED_SYMBOLS" in file space tests,
because the wrappers only use the latest functions now.
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
Description:
Because H5Pset_file_space and H5Pget_file_space are deprecated, changed
to make wrappers for the new functions instead:
H5Ps/get_file_space_strategy
H5Ps/get_file_space_page_size
New wrappers in FileCreatPropList:
// Sets the strategy and the threshold value that the library will
// will employ in managing file space.
void setFileSpaceStrategy(H5F_fspace_strategy_t strategy, hbool_t persist, hsize_t threshold) const;
// Returns the strategy that the library uses in managing file space.
void getFileSpaceStrategy(H5F_fspace_strategy_t& strategy, hbool_t& persist, hsize_t& threshold) const;
// Sets the file space page size for paged aggregation.
void setFileSpacePagesize(hsize_t fsp_psize) const;
// Returns the threshold value that the library uses in tracking free
// space sections.
hsize_t getFileSpacePagesize() const;
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
Description:
Added wrappers for H5Fget_info2, H5Inmembers, and H5Itype_exists
// Gets general information about this file.
void getFileInfo(H5F_info2_t& file_info) const;
// Returns the number of members in a type.
static hsize_t getNumMembers(H5I_type_t type);
// Determines if an element type exists.
static bool typeExists(H5I_type_t type);
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (jelly)
Darwin (osx1010test)
Description:
Added wrappers for H5Pset_file_space and H5Pget_file_space
// Sets the strategy and the threshold value that the library will
// will employ in managing file space.
void setFileSpace(H5F_file_space_type_t strategy, hsize_t threshold) const;
// Returns the strategy that the library uses in managing file space.
H5F_file_space_type_t getFileSpaceStrategy() const;
// Returns the threshold value that the library uses in tracking free
// space sections.
hsize_t getFileSpaceThreshold() const;
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (jelly)
Darwin (osx1010test)
Add code to delete copies of test .h5 files copied from
tools/testfiles/vds to tools/test/h5diff/testfiles when running
"make check" for an in-source build.
tools/test/misc/testh5repart.sh.in:
Change the name of the temporary test directory from "testfiles"
which is also used for 2 h5mkgrp test files under source control to
"testrepart" to avoid deleting source controlled files when running
"make check" in the source directory.
Fix test scripts that remove source-controlled files during "make check" when run in-source.
Fix test scripts that don't remove test files because they add files to test directories but don't remove them if the build directories are the same as the source directory.
Fix any test source file or Makefile.am files for tests that leave data files are removed by neither "make check" nor "make distclean".
Description:
Added more tests for the new constructors that replaced openXxxType()
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
Description:
Added wrappers H5Location::exists() for H5Lexists.
Added wrapper H5Object::objVersion() to return the header version
of an HDF5 object.
Added new class LinkAccPropList to be used by H5Location::exists()
Added new exception: ObjHeaderIException for H5Object::objVersion()
Rearranged source files in Makefile.am
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:
Rearranged the classes to model the relationship of HDF5 objects more
accurately. The changes included:
- moved CommonFG's methods to Group
- removed CommonFG from Group's base class list
- removed CommonFG from H5File's base class list and changed
"public H5Location" to "public Group" in the base class list
- CommonFG became unused
- result of the modified partial class diagram:
IdComponent
|
H5Location
/
H5Object
|
/ / \
DadaType Group DataSet
|
H5File
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
The only remaining code consists of a few floating-point tests
that rely on pre-generated and checked-in VMS files. These have
been left alone, even though they will not be possible to
recreate, since testing VMS float behavior is still important.
Tested on: h5committest
Description:
Per user Jason Newton request, the following constructor is added:
H5File(hid_t existing_id);
Also, fixed H5File::openFile to close current file first before re-using
the object.
Platforms tested:
Linux/64 (platypus)
Linux/32 2.6 (jam gnu and Intel 15.0)
SunOS 5.11 (emu)
Description:
Added wrappers for C functions H5P[s/g]et_libver_bounds and wrappers
for getting object header version
// Sets bounds on versions of library format to be used when creating
// or writing objects.
void setLibverBounds(H5F_libver_t libver_low, H5F_libver_t libver_high) const;
// Gets the current settings for the library version format bounds.
void getLibverBounds(H5F_libver_t& libver_low, H5F_libver_t& libver_high) const;
// Returns the object header version of an object in a file or group,
// given the object's name.
unsigned childObjVersion(const char* objname) const;
unsigned childObjVersion(const H5std_string& objname) const;
Platforms tested:
Linux/64 (platypus)
Linux/32 2.6
SunOS 5.11
Description:
Followed hints on the JIRA issue to remove several potential memory
leaks.
Platforms tested:
Linux/ppc64 (ostrich)
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 lot of documentation to classes for Reference Manual.
- Fixed some format inconsistencies
Platforms tested:
Linux/ppc64 (ostrich)
Linux/32 2.6 (jam)
Linux/64 2.6 (koala)/PGI compilers
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:
In this bug, H5File doesn't have the ability to create attribute. The
following changes will provide that functionality and several others that
were also missing:
- Added an abstract class H5Location in between IdComponent and H5Object.
- New class structure of IdComponent, H5Location, H5Object, H5File
IdComponent
|
H5Location
/ \
H5Object H5File
- Wrappers in H5Object were moved to H5Location because the related C
functions take either file, group, dataset, or named datatype ID.
- Added wrapper for H5Rget_obj_type2
- Added tests for file attributes and H5Rget_obj_type2 wrapper
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 2.6 (koala)
SunOS 5.10 (linew)