Added setup and cleanup callback parameters to TestInit() to perform
setup and cleanup tasks once for whole test program
Removed TestCleanup() function since its functionality is covered by
PerformTests()
Added check of the HDF5_NOCLEANUP environment variable in
GetTestCleanup()
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)
In H5F__accum_reset(), when H5F__accum_flush() failed, the freeing of
f_sh->accum.buf was never reached, causing resource leak.
@fortnern added the third argument to H5F__accum_reset() so we can free
f_sh->accum.buf when we close the file, that is, when H5F__accum_reset()
is called from the H5F__dest() route, and can leave the accumulator in place
otherwise.
H5LTfind_dataset() returns true for non-existing datasets because it only compares up to the length of the searched string, such as "Day" vs "DayNight" (issue GH-4780).
This PR applied the user's patch and added tests.
* Fixes a segfault in h5dump
The B-tree node level was corrupted, resulting in a segfault later.
This PR adds a check to detect when the node level is greater than
the number of entries and issue an error instead.
Fixes GH-4432
* Change name of libhdf5hl_fortran installed by autotools to libhdf5_hl_fortran to be
consistent with CMake install and with other hl lib files. Switched
corresponding symlink to libhdf5hl_fortran.
Fixes issue #4684.
* Update h5fc.in to use renamed libhdf5_hl_fortran.
Fix typo in code to create link to libhdf5_hl_fortran.a.
* Removed code to create symlink for previous name of renamed lib
libhdf5hl_fortran.
Add RELEASE.txt entry about changeing name libhdf5hl_fortran to
libhdf5_hl_fortran.
* Update missed line in h5fc.in for libhdf5hl_fortran name change to
libhdf5_hl_fortran. Fixes check-install failure.
* Convert exec_program to execute_process (#4819)
* Fix a bug in Subfiling VFD vector I/O setup (#4821)
Fixes a bug where the vector I/O sizes weren't being extended when
one of the entries in the array is 0. This caused an over-read of
the I/O sizes buffer and on some machines would cause a memory
allocation failure due to the calculated I/O vector size being too
large.
* Add release note for signed binaries (#4826)
* Draw attention to 3rd step in process to update so numbers for release. (#4825)
* Update RESULT_VARIABLE
* Remove dummy comments that repeat function names. (#4775)
* Fix grammar in H5Odtype.c comment block (#4777)
* Add subfiling checks to the gcc action (#4776)
* Replace non-VOL calls with VOL calls - part 3 (#4771)
This PR switches H5I_object() to H5VL_vol_object() in H5O and H5T APIs. H5M is the last one and left out of this PR because it needs more work
in documentation and there is no test for the API functions.
Fixes GH-4730
* Add subfiling to CI more places where we test parallel (#4778)
* CMake: gcc,, AOCC
* Autotools: AOCC (gcc was added in a previous commit)
NVHPC generates a lot of tools errors for some reason
* Convert Collective Calls html file to doxygen (#4779)
* Fix grammar in H5Fint.c comment block (#4782)
* Improve the consistency of configure help messages (#4783)
Fix grammar in configure message
* Fixes Fortran parallel build race condition for tests (#4789)
* Update URL documentation links to support site (#4781)
* Fix grammar and simplify comment in H5Fint.c (#4790)
* Fix char-subscripts warnings in H5private.h (#4793)
* Bump the github-actions group with 3 updates (#4798)
Bumps the github-actions group with 3 updates: [actions/checkout](https://github.com/actions/checkout), [DoozyX/clang-format-lint-action](https://github.com/doozyx/clang-format-lint-action) and [github/codeql-action](https://github.com/github/codeql-action).
Updates `actions/checkout` from 4.1.1 to 4.1.7
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v4.1.1...v4.1.7)
Updates `DoozyX/clang-format-lint-action` from 0.17 to 0.18
- [Release notes](https://github.com/doozyx/clang-format-lint-action/releases)
- [Commits](https://github.com/doozyx/clang-format-lint-action/compare/v0.17...v0.18)
Updates `github/codeql-action` from 3.25.15 to 3.26.6
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/afb54ba388a7dca6ecae48f608c4ff05ff4cc77a...4dd16135b69a43b6c8efb853346f8437d92d3c93)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
- dependency-name: DoozyX/clang-format-lint-action
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: github-actions
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Fix typo argueably in H5Cprivate.h (#4795)
* Fix typos in H5Cpkg.h (#4796)
* Add bounds checking to avoid Out-of-bounds Write for gif2h5 (#4786)
* Replace non-VOL calls with VOL calls - part 5 (#4788)
This PR switches H5I_object() and H5I_object_verify() to H5VL_vol_object() and H5VL_vol_object_verify(), respectively, in the H5M APIs and H5Gdeprec (was left out by mistake). This completes the fixes of issue GH-4730.
* Correct the URL paths (#4802)
* Fix a few issues with error reporting during sec2 reads/writes (#4794)
* Update windows and apple signing process (#4806)
* Use latest clang format action (#4807)
* Correct path to document (#4808)
* Detect invalid ID to H5Gmove2 (#4765)
User's application segfaulted because the returned value H5I_BADID wasn't
detected when H5I_get_type() was called. This PR adds checks for invalid
file/group identifiers passed into H5Gmove2.
This defect occurs in many other places, hence, issue GH-4764.
Fixes#4737
* Fix use of public API calls (#4809)
Switch public API calls to private ones. Root cause of #4672, which it fixes.
Also minor code cleanups
* Remove call to H5E_clear_stack() (#4810)
Remove call to H5E_clear_stack() in H5G_node_debug()
Add misc. minor cleanups
* Enable win Intel signing (#4812)
* Remove unneeded file name part (#4814)
* Update NVHPC optimization settings (#4815)
* Use -gopt in Autotools/CMake instead of -g
* Autotools uses -O3 for release, -O1 for debug
* Remove CMake optimization flag removal hack
* Add mirror VFD to serial -Werror CI action (#4753)
* Add mirror VFD to serial -Werror CI action
* NUL terminate mirror_vfd.c strings
* Add THREADS check to configuration file (#4746)
* Cleanup threads package checks
* Check first if package was found
* Remove unnecessary dependent checks
* Remove Unused options and fix names of option prefix
* Rework RFC url in aliases (#4813)
* Update config/cmake/hdf5-config.cmake.in
_ENABLE_THREADS doesn't belong in hdf5_1_14
* Use gfortran 14 for cmake-ctest.yml on mac (#4739)
* Use gfortran 14 for cmake-test on mac
* Remove notarization step
* Address @byrnHDF review
* Fix enum type mismatch warning (#4741)
* Fix macro redefined warnings (#4744)
Removes a duplicated HDopen macro from the performance testing programs
* Update nvhpc CI version to 24.7 (#4740)
* Return basic HTTP range GET logging to ROS3 (#4738)
* Add minimal amount of S3 request logging to ROS3
* Fix ROS3 logging ifdef conditions
* Replace non-VOL calls with VOL calls - part 1 (#4745)
This PR is part of the incremental switching H5I_object() and H5I_object_verify()
to their VOL counterpart, H5VL_object() and H5VL_vol_object_verify(), a newly addedinternal function.
Fixes GH-4730 partially.
* Fix inconsistent documentation of get_name functions (#4715)
- Verified that the listed functions do not include null terminator in the returned length
- Improved some of the tests
- Corrected documentation
Fixes GH-4704
* Casted a positive int to size_t
* Remove HDF-EOS5 CI action (#4750)
The code can't be downloaded due to changes that put it behind an
EarthData login. We'll disable this while we figure out a work-around.
* Replace non-VOL calls with VOL calls - part 2 (#4748)
This PR switches H5I_object_verify() to H5VL_vol_object_verify() in the H5F API
and fixes documentation of H5Fmount and H5Funmount.
* More on H5F API
* Restore rand_r in a few parallel tests (#4749)
The t_pmulti_dset and t_select_io_dset tests rely on the behavior
of the previous private rand_r-like implementation to get the
correct sequence of random numbers to pass. This has been restored
using a fully private rand_r-like implementation that doesn't
rely on rand_r and will work on Windows and other platforms
where rand_r doesn't exist.
* Don't run AOCC parallel tests with -j2 (#4752)
Don't run parallel tests in both Autotools and CMake with multiple
processes. ph5diff still runs with -j2 w/ Autotools since the test
script is in the tools/test/h5diff directory.
* Split off AOCC CMake parallel tests
* Remove unnecessary NPROCS env vars
* Put NPROCS back in serial tests
We run ph5diff tests there
* Replace non-VOL calls with VOL calls - part 3 (#4756)
This PR switches H5I_object_verify() to H5VL_vol_object_verify() in the H5G API
and removes unnecessary casts.
* Turn on parallel CI tests in Autotools & CMake (#4573)
* Fix typo in H5Centry.c (#4762)
* Set/Unset VOL wrapping context in H5VL_attr_close (#4759)
* Add missing C++ and Fortran to Intel oneAPI CI (#4761)
* Add Fortran and C++ to Autotools
* Add Fortran and C++ to Linux CMake
* Add C++ to Windows CMake
* Fix bad GitHub workspace variable
* Remove early test exit (#4757)
* Don't skip file tests
* Remove test with invalid flag for H5Fopen
* Verify that create/open of unseekable file fails
* Remove failure verification
* Restore Julia CI (#4763)
Fixes#4539
* Capitalize f in (#4766)
* Add testing to NVHPC CI actions (CMake & Autotools) (#4760)
Turns on testing, both serial and parallel, but skips:
* dt_arith and dtransform in CMake
* All main library tests in the Autotools
Due to dt_arith and dtransform segfaults when handling long doubles.
* Fix typo in H5T_order_t enum (#4773)
'bit endian' --> 'big endian'
* Correct julia workflows name for hdf5_1_14 branch.
---------
Co-authored-by: H. Joe Lee <hyoklee@hdfgroup.org>
Co-authored-by: Aleksandar Jelenak <ajelenak@users.noreply.github.com>
Co-authored-by: bmribler <39579120+bmribler@users.noreply.github.com>
Co-authored-by: Dana Robinson <43805+derobins@users.noreply.github.com>
Co-authored-by: jhendersonHDF <jhenderson@hdfgroup.org>
Co-authored-by: mattjala <124107509+mattjala@users.noreply.github.com>
* Warning fix (#4682)
* warning fix
* warning fix
* CMake link line needs to use new HDF5_ENABLE_THREADS (#4685)
* Correct the properties for using THREADS library (#4690)
* Bump the github-actions group with 5 updates (#4688)
Bumps the github-actions group with 5 updates:
| Package | From | To |
| --- | --- | --- |
| [actions/download-artifact](https://github.com/actions/download-artifact) | `4.1.7` | `4.1.8` |
| [DoozyX/clang-format-lint-action](https://github.com/doozyx/clang-format-lint-action) | `0.13` | `0.17` |
| [softprops/action-gh-release](https://github.com/softprops/action-gh-release) | `2.0.6` | `2.0.8` |
| [ossf/scorecard-action](https://github.com/ossf/scorecard-action) | `2.3.3` | `2.4.0` |
| [github/codeql-action](https://github.com/github/codeql-action) | `3.25.11` | `3.25.15` |
Updates `actions/download-artifact` from 4.1.7 to 4.1.8
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/65a9edc5881444af0b9093a5e628f2fe47ea3b2e...fa0a91b85d4f404e444e00e005971372dc801d16)
Updates `DoozyX/clang-format-lint-action` from 0.13 to 0.17
- [Release notes](https://github.com/doozyx/clang-format-lint-action/releases)
- [Commits](https://github.com/doozyx/clang-format-lint-action/compare/v0.13...v0.17)
Updates `softprops/action-gh-release` from 2.0.6 to 2.0.8
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](https://github.com/softprops/action-gh-release/compare/a74c6b72af54cfa997e81df42d94703d6313a2d0...c062e08bd532815e2082a85e87e3ef29c3e6d191)
Updates `ossf/scorecard-action` from 2.3.3 to 2.4.0
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](https://github.com/ossf/scorecard-action/compare/dc50aa9510b46c811795eb24b2f1ba02a914e534...62b2cac7ed8198b15735ed49ab1e5cf35480ba46)
Updates `github/codeql-action` from 3.25.11 to 3.25.15
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/b611370bb5703a7efb587f9d136a52ea24c5c38c...afb54ba388a7dca6ecae48f608c4ff05ff4cc77a)
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
- dependency-name: DoozyX/clang-format-lint-action
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: github-actions
- dependency-name: softprops/action-gh-release
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
- dependency-name: ossf/scorecard-action
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: github-actions
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
...
* Fix segfault when closing datatype during failure in H5Topen2 (#4683)
* Rework Dynamic Analysis and sanitize testing (#4681)
* Ignore predetermined failing test and check pointer before use
* Rework Analysis process
* Remove another H5E_BEGIN/END_TRY within the library (#4675)
* Update logic for (deprecated) H5Gget_objinfo() call to eliminate H5E_BEGIN_TRY
* Handle case for '.' at the end of a path
* Drop H5E_BEGIN/END_TRY and just check the error return from H5I_clear_types() (#4694)
Original case that the change in commit 2dc738a321
no longer applies.
* Add check of returned value from API calls. (#4702)
These were found while investigating GH-4672, but they were not related
to GH-4672.
* Add mac dmg binary and remove old macos-13 workflows (#4699)
* Add Windows SHLWAPI lib to public interface (#4701)
* Use local variable in btree2 and print value (#4679)
* Correct logic
* Technically, level 1 Express could skip tests
* Add windows signing (#4703)
* Add tests for H5R get name APIs (#4657)
Added functionality tests for the following APIs:
H5Rget_file_name
H5Rget_obj_name
H5Rget_attr_name
Also removed "+1" when returning a name length in H5R__get_attr_name().
The exter "+1" gave an incorrect value for the length of the referenced
object's attribute name.
Fixed GH-4447
* Fix Fortran test
The C API H5Rget_attr_name incorrectly added 1 to the length of the
referenced object's attribute name, so the Fortran API h5rget_attr_name_f
removed 1 from the returned value to accommodate the incorrectness.
This PR fixes H5Rget_attr_name so this workaround in h5rget_attr_name_f
is no longer needed.
* Add test H5Aget_name against H5Rget_attr_name
* Replace Visual Studio ???? with 2022 in MSI README file (#4709)
* Change logic for checking secrets exists (#4711)
* Change osx refs to macos (#4707)
* Replace alias \Code with \TText (#4714)
Fixed GH-2151
* Correct signing names and variables (#4713)
* Add secrets to release workflow (#4719)
* Add missing blosc2 info (#4717)
* Fix error return types in H5Rdeprec.c (#4722)
Copy-pasted code from elsewhere used FAIL instead of H5G_UNKNOWN
and H5I_INVALID_HID.
* Fix the release reference name (#4721)
* Test creating unseekable file (#4720)
* Cleanup up tests (#4724)
* Add arch name to dmg file name (#4732)
The binaries in snapshot dmg file do not work on x86_64.
* Fix snapshot CI failure by adding arch name to dmg file (#4734)
See also #4732.
* Fix incorrect VOL vs. non-VOL calls partially (#4733)
* Fix incorrect VOL vs. non-VOL calls
H5Lget_info2() called H5I_object() instead of H5VL_vol_object() crashed
user application.
This is a wide-spread issue (GH-4730) but this PR only addresses GH-4705.
* Remove an incorrect change
* Fix segfault in ROS3 credential parsing (#4736)
* Fix segfault in s3 credential parsing
* Fix AWS cred parsing when >1 profile provided
* Revert gh-pages action hash to fix daily build (#4735)
* Revert gh-pages action hash to fix daily build
See also #4734
* Revert gh-pages action hash to fix daily build
* Eliminate another use of H5E_clear_stack() within the library (#4726)
* Remove call to H5E_clear_stack()
Also clean up a bunch of error macros and the return value from H5B_valid()
* publish msi binary (#4663)
* Add publish from branch workflow (#4664)
* Replace incorrect use of an internal function (#4668)
* Replace incorrect use of an internal function
In some API functions, the internal function H5I_object() was used instead
of H5I_object_verify(), which verifies the type of an ID argument. So
when an inappropriate ID was passed in to the affected API, it was accepted.
This behavior can cause issues at a later time, including a segfault, as
reported in issue #GH-4656.
The fix was applied to the following functions:
H5Fget_intent()
H5Fget_fileno()
H5Fget_freespace()
H5Fget_create_plist()
H5Fget_access_plist()
H5Fget_vfd_handle()
H5Dvlen_get_buf_size()
H5Fget_mdc_config()
H5Fset_mdc_config()
H5Freset_mdc_hit_rate_stats()
Fixes GH-4662
* Fix incorrect indentation for permissions. (#4669)
* Remove outdated line from Copyright header in new files. (#4676)
* Fix binary examples process (#4666)
---------
Co-authored-by: Allen Byrne <50328838+byrnHDF@users.noreply.github.com>
Co-authored-by: bmribler <39579120+bmribler@users.noreply.github.com>