100 Commits
Author SHA1 Message Date
Matt L 355f67ac37 Close datatype IDs derived from memory type in the JNI translation helpers (#6594)
* Close datatype IDs derived from the memory type in the JNI translate helpers

The object-tree read/write helpers in h5util.c derive a base datatype from
the memory type with H5Tget_super() for the variable-length, array and
complex classes, but never closed it. Because an hid_t is not reclaimed when
the native method returns, every read or write of such data leaked at least
one datatype ID for the lifetime of the process, and nested types leaked
one per level.

This PR updates the helpers to close the derived type in their done: blocks,
which covers both the success and the error paths, and to reset the id in the
compound loops to avoid the potential for double closes.

It also has the helpers release the class references that the per-element
helpers look up on entry. These are local references, so they were reclaimed
when the enclosing native method returned, but a compound read calls the helper
once per member per element and held one set per call until then. Releasing
them at the single exit bounds the count of references to the recursion depth.

* Add CHANGELOG entry for the JNI datatype ID leak fix

* Restrict the derived datatype close guards to strictly positive IDs

hid_t 0 is not a valid datatype ID, so H5Tclose(0) would fail.

* Revert "Restrict the derived datatype close guards to strictly positive IDs"

An hid_t of 0 not being a valid ID is a property of the current H5I
encoding rather than a documented guarantee, so the JNI helpers should
not depend on it.
2026-09-11 09:59:03 -05:00
b7b85e7abf Fix CVE-2026-19025 (Reject chunked datasets with mismatched chunk/dspace rank at open time) (#6508)
* Reject chunked datasets with mismatched chunk/dspace rank

H5D__chunk_construct() validates that the chunk layout dimensionality
matches the dataspace rank, but that runs only at dataset creation time.
When an existing dataset is opened, H5D__chunk_init() didn't repeat the
check, so a file whose stored chunk rank disagreed with its dataspace rank
was accepted. During chunk I/O the memory-selection rank (from the
dataspace) and the file-selection rank (chunk ndims - 1) then differ, which
produces a zero stride that causes a divide-by-zero in
H5S__hyper_iter_get_seq_list().

H5D__chunk_init() now performs the same dimensionality check on open (the
stored chunk rank includes the extra element-size dimension, so it must be
exactly one greater than the dataspace rank) and rejects a mismatch with an
error.

Added test_chunk_dims_mismatch() as a regression test in test/dsets.c

Fixes #6491

* Fix typo

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Clarify element-vs-byte wording

* Validate chunk/dataspace rank at layout decode time

Move the stored-chunk-rank vs dataspace-rank consistency check out of
H5D__chunk_init() and into H5O__layout_decode(), so a malformed chunked
layout is rejected as the message is decoded (mirroring the fill/datatype
size check in the fill message decode).

* Update release_docs/CHANGELOG.md

Co-authored-by: Larry Knox <lrknox@hdfgroup.org>

* Update CHANGELOG

* Pin format version bounds in bad chunk layout generator

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Larry Knox <lrknox@hdfgroup.org>
2026-08-28 13:49:02 -05:00
Matt L 767ac04b21 Fix standalone example build issues (#6598)
* Build the examples as C++11 to match the HDF5 C++ library

The standalone examples build forces CMAKE_CXX_STANDARD 98, but
H5public.h includes <cinttypes>, which requires C++11. Any C++
translation unit that includes hdf5.h is therefore affected, not just
users of the C++ API, and the HDF5 C++ library itself is built as C++11
(config/flags/HDFCompilerCXXFlags.cmake). The C++ examples do not
compile as a result, against static or shared HDF5 alike.

Only the standalone build is affected, which is why this is not visible
in ordinary use. The C++98 setting lives in BASIC_SETTINGS, and
HDF5Examples/CMakeLists.txt skips that whole block when
EXAMPLES_EXTERNALLY_CONFIGURED is set -- which HDF5 does for its own
in-tree example build (config/cmake/HDF5ExampleCache.cmake). Built in
tree, the examples inherit HDF5's C++11 and compile normally, and that
is the path the CI workflows exercise. The standalone path, where the
C++98 setting does apply, is driven by the release scripts rather than
by the workflows, and has the C++ examples off by default.

* Select the examples' HL, Fortran and C++ libraries on the right variable

When the examples are built standalone against an installed HDF5, the
HL, Fortran and C++ branches choose between the shared and static
libraries using BUILD_SHARED_LIBS, while the C branch just above them
uses H5EXAMPLE_USE_SHARED_LIBS.

H5EXAMPLE_USE_SHARED_LIBS is what decides whether the "shared" or the
"static" component is requested from find_package, so only the matching
HDF5_<linkage>_<lang>_FOUND variables are ever set. BUILD_SHARED_LIBS
cannot select a linkage on its own; it can only agree or fail to match.
Of its four combinations with H5EXAMPLE_USE_SHARED_LIBS, three produce
no observable difference. In the fourth, H5EXAMPLE_USE_SHARED_LIBS=ON
with BUILD_SHARED_LIBS unset, the shared branch is not taken and the
static branch cannot be, so the HL, Fortran and C++ examples are
disabled with "libs not found" even though the libraries are installed
and were found.

Use H5EXAMPLE_USE_SHARED_LIBS, which is the declared option and is
already what the C branch uses.

A build driven through config/examples/CTestScript.cmake does not reach
the broken combination, because it configures with
HDF5Examples/config/cmake/cacheinit.cmake, which forces
BUILD_SHARED_LIBS=ON. A direct cmake invocation without that cache file
does. In either case the HL, Fortran and C++ examples are off by
default, so this is only visible once they are enabled.

BUILD_SHARED_LIBS remains documented as a user option in
config/examples/HDF5_Examples_options.cmake but no longer influences
library selection; that comment should be revisited separately.
2026-08-19 19:31:41 -05:00
Matt LandClaude Opus 5 e4b6a96472 Remove abort on infinite loop during library close (#6532)
* Abort on infinite loop even when error output is disabled

* Remove abort() on infinite close loop

* Update CHANGELOG.md

* Reference the fixed issue in the CHANGELOG entry

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 17:27:01 -05:00
Matt L eeba6ab8a5 Minor correction to H5Tget_super failure checks in JNI helpers (#6599)
The base type lookups in the object-tree helpers tested the
returned hid_t for truth rather than for a negative value. A failed
lookup returns H5I_INVALID_HID (-1), resolving true when checked, so any
failure wouldn't be caught until later.
2026-08-11 11:01:38 -05:00
9eaec3e81a Fix JNI datatype ID leak in h5str_detect_vlen_str() (#6522)
* Fix JNI datatype ID leak in h5str_detect_vlen_str()

The JNI H5Dread/H5Dwrite/H5Aread/H5Awrite wrappers call h5str_detect_vlen()
on the memory type. For an H5T_ARRAY/H5T_VLEN of a fixed (non-vlen-string)
base type, h5str_detect_vlen_str() acquired the base type via H5Tget_super()
but only closed it when the recursive check returned 1 or a negative error.
When the recursive call returned 0 because no vlen string was found, the base type ID
was leaked.

This PR changes h5str_detect_vlen_str() to close the id unconditionally after the recursive check,
in the same style as the compound-member case in the same function.

A JNI regression test exists at TestH5D.testH5DArray_super_no_id_leak, which reads
an H5T_ARRAY-of-int dataset in a loop and asserts via H5Fget_obj_count() that
no datatype IDs leak.

* Assert non-negative H5Fget_obj_count in array datatype ID leak test

Guard the before/after open-datatype counts against a negative
(failed) H5Fget_obj_count return, which would otherwise let the
equality check pass spuriously. Keep the count scoped to
H5F_OBJ_ALL: the leaked IDs are transient datatypes not attached to
any file, so a per-file count would not see them.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* Modify CHANGELOG entry

* Modify CHANGELOG again

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: H. Joe Lee <hyoklee@hdfgroup.org>
2026-07-21 11:41:43 -05:00
Matt LandAlb3e3 abbb48b9cb Harden selection decoding (#6525)
* Harden serialized selection decoding

* Clang-format and expand test

* Guard against rank 0 hyperslab selection in serialization

* Add CHANGELOG entry

* Modify CHANGELOG

---------

Co-authored-by: Alb3e3 <74142887+Alb3e3@users.noreply.github.com>
2026-07-17 13:04:11 -05:00
Matt Landgithub-actions b58ab3cc1f Fix bad reads of nested cmpd/vlen types in JNI (#6413)
* Fix H5DreadVL failing for pre-allocate cmpd-of-seq dsets

* Fix bad vlen of cmpd with null slot read

* Fix bad cmpd of cmpd read in java

`translate_rbuf`'s H5T_VLEN case had a similar bug where when `found_jList` was set to false due to an entyr in `ret_buf` being null, `ret_buf.add()` would be invoked on an array of objects without the list .add() method. This would occur whenever a read was invoked of a vlen sequence with a null (non-preallocated) entry. The pre-existing tests only tested the pre-allocated cases.

I removed the use of the `found_jList` flag, since it conflated the passing of an unallocated slot with `ret_buf` not being an array. Instead use `ret_buflen == 0` as the check to match the pattern in H5T_INTEGER and other branches.

The test for this fix is testH5Dread_vlen_of_compound_nullslot.

---

`translate_atomic_rebuf` had two issues related to handling of nested compounds. First, it discarded recursive returns, resulting in the construction of empty lists. Secondly, its member offset (`char_buf + i * typeSize + memb_offset`) was incorrect. In this case, `i` was the member index and `memberSize` was the entire cmpd size, so the offset would be erroneously large. It seems like this came from copying of the offset computation from `translate_rbuf`, which had to advance over entire  elements of compound data. This error was duplicated on the write side in `translate_atomic_wbuf`'s H5T_COMPOUND case (h5util.c:4611).

I changed `translate_atomic_rbuf` to capture the resultant object, and dropped the `i * typeSize` term in both routines.
The new test verifying the fix works is `testH5Dread_vlen_of_nested_compound`.

* Add exception checks

* Update NULL checks in translate_wbuf

* Correct potentially bad array length check

* Clang format

* Fix readVL/writeVL crash on malformed buffer

* Committing clang-format changes

* Add bufSize checks to wbuf/rbuf translation

* Remove vlen pre-allocation support

* Harden JNI buffer interface

* Handle opaque types as byte[] and document JNI buffer data model

Opaque elements were grouped with H5T_INTEGER in the nested-type
translation path, which boxed them as Integer/Long and rejected
arbitrary-sized opaque blobs. Treat H5T_OPAQUE like H5T_REFERENCE
(a byte[] per element) in translate_atomic_rbuf, translate_atomic_wbuf,
and h5validate_atomic_wbuf so nested opaque round-trips correctly.

Also add "Buffer data model" header comments on translate_rbuf() and
translate_wbuf() and note the reference/opaque byte[] leaves in the
H5.java javadocv.

* Initialize typeSize to fix -Werror=maybe-uninitialized

typeSize was assigned only inside the vl_data_class branch but read in
a second, separate vl_data_class branch, which gcc -O2 flags as
maybe-uninitialized under -Werror. Initialize it to 0 at declaration in
H5Aread/H5Awrite/H5Dread/H5Dwrite, matching the existing vl_array_len
pattern.

* Port nested cmpd/vlen tests to java/test and sync reference

The legacy java/test tree's JUnit-TestH5D.txt reference listed the new
nested compound/vlen tests, but the corresponding @Test methods existed
only in java/src-jni/test/TestH5D.java. Port the 10 tests and the
writeCompoundOfVlenDataset helper into java/test/TestH5D.java, remove
debug prints, and
regenerate the reference to match the actual JUnit output.

* Support nested vlen/compound datatypes in Java FFM compat layer

The FFM compatibility layer (java/hdf) lacked the vlen/compound read and
write support that the JNI interface gained, so the nested cmpd/vlen tests
ported into java/test (TestH5D) failed and leaked an id.

VLDataConverter now has recursive encodeValue/decodeValue helpers that pack
and unpack any member class (integer, float, fixed/vl string, nested
compound, and VLEN) in the native HDF5 in-memory layout. These are wired
into convertCompoundDatatype, readCompoundDatatype and convertRawDataToArrayList,
and a type-aware convertToHVLAuto handles top-level VLEN-of-compound writes.
Compound reads now reclaim VL memory, and type/count mismatches raise
IllegalArgumentException instead of silently corrupting data.

H5DwriteVL rejects an undersized buffer up front and routes VLEN writes
through convertToHVLAuto. The JUnit-TestH5D reference regains its trailing
blank line to match the actual JUnit output.

* Committing clang-format changes

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-06 09:52:29 -05:00
Matt L f010df9fe6 Make JAR dep paths modifiable (#6331) 2026-04-13 10:15:10 -05:00
Matt L fbb9049ba5 Update documentation for heap ID and vlen data (#6246) 2026-03-01 07:19:26 -06:00
Matt L 8ebdb2f6d4 Fix inconsistent empty postfix handling (#6094) 2026-01-24 12:03:19 -06:00
Matt L e98e0aa951 Add h5diff message about file object difference (#6103)
* Correct reference files

* Prevent multiple h5diff error messages
2026-01-23 11:34:45 -06:00
Matt L 63c3abd7db Fix zero-element reads on virtual dsets with r-trees (#6083)
Fix zero-element read failure in H5D__virtual_read() and H5D__virtual_write() in H5Dvirtual.c by skipping H5S_SELECT_BOUNDS if nelmts is 0.

Add test_vds_empty_slice() in rtree.c to verify zero-element read behavior on virtual datasets with r-trees.
2025-12-12 09:24:09 -06:00
Matt L c4da612110 Fix table of contents indexing in INSTALL_CMake.txt (#6095) 2025-12-09 12:10:17 -06:00
Matt L 45ef979479 Fix use of incorrect HDF5 parallel option name (#6096) 2025-12-08 13:59:25 -06:00
Matt L a7fdefc0ea Resolve VOL CI h5dump/h5repack failures (#6054)
* Replace filter change with format change
2025-12-02 13:44:51 -06:00
Matt L 10c2ddc3cb Implement fallback for systems without qsort_r (#5931)
Also includes a new workflow to test FreeBSD, which has a different qsort signature and was previously untested
Resolves #5896
2025-11-02 22:06:34 -06:00
Matt L e5f526b62d Fix use of uninit memory in h5dumpgentest (#5947)
Fix uninitialized memory usage in h5dumpgentest.c by initializing arrays and structures, using calloc, and adding memory deallocation.
2025-10-27 09:25:00 -05:00
Matt L f981c9c9be Make rtree test VFD-compatible (#5933)
Implement the special filename handling that makes the rtree test compatible with the family VFD (and any other VFD that changes how filenames are treated).

Make rtree.c test VFD-compatible by implementing dynamic filename handling and updating function signatures for file access property lists.
2025-10-22 22:01:38 -05:00
Matt L 21aaab4885 Close resources in h5dumpgentest properly (#5913)
Ensure proper closure of resources in gent_array1_big, gent_nested_compound_dt, and gent_intscalars in h5dumpgentest.c.
Add error handling and cleanup logic to prevent resource leaks.
2025-10-16 08:43:41 -05:00
Matt L d17773e209 Disable szip/deflate VOL tests when those files can't be generated (#5909) 2025-10-16 08:34:29 -05:00
Matt L 6c86f97e03 Fix CVE-2025-2310 (#5872)
Malformed files can have a zero name-length, which when subtracted lead to an overflow and an out-of-bounds read.

Check that name length is not too small in addition to checking for an overflow directly.
2025-10-09 16:10:23 -05:00
Matt L ac169ed3e8 Optimize VDS operations with r-tree (#5843)
Optimize VDS operations using R-tree spatial index, adding new API functions and tests for improved performance.

Behavior:
Introduces R-tree spatial index for optimizing VDS operations in H5Dvirtual.c.
Adds H5Pset_dset_use_spatial_tree() and H5Pget_dset_use_spatial_tree() to control R-tree usage.
Default behavior uses R-tree for VDS with more than 1000 mappings.
Implementation:
Adds H5RT.c, H5RTprivate.h, and H5RTpkg.h for R-tree implementation.
Updates H5Pdapl.c and H5Pdcpl.c to include R-tree properties.
Modifies H5Dvirtual.c to integrate R-tree in VDS I/O operations.
Testing:
Adds rtree.c for testing R-tree creation, search, and copy operations.
Tests R-tree integration with VDS in test/dsets.c.
Verifies R-tree behavior with different dataset access property list settings.
2025-10-07 12:13:28 -05:00
Matt L ac5d52536d Add internal spatial tree (#5800)
Implement an r-tree data structure in a new module. It has three exposed methods:  H5RT_create(), H5RT_search(), and H5RT_free().

The STR algorithm used during creation is based on the one described here.

Updates CMakeLists.txt to include H5RT.c and related headers.

Adds rtree.c test file to validate R-tree creation and search functionalities.
2025-10-02 06:49:52 -05:00
Matt L c83b798de5 Generate VOL tests for h5repack (#5793)
* Generate VOL tests for h5repack

* Correct cleanup depends

* Correct wrong varname

* Remove 'cmake' specification
2025-09-30 20:24:41 -05:00
Matt L af77085d3f Generate VOL tests for h5dump (#5763)
Add VOL tests for h5dump, update test generation logic, and modify test configurations.

Tests:
      Add VOL tests for h5dump in CMakeTests.cmake and CMakeTestsXML.cmake.
      Modify ADD_H5_TEST macro to support VOL-specific tests and filtering.
      Add gent_tvms() function in h5dumpgentest.c and h5dumpgentest.h for generating test files.
2025-09-30 13:14:44 -05:00
Matt L 7a920d0835 Include VDS changes in CHANGELOG (#5877)
* Add CHANGELOG note for delayed layout copy

* Add link to shared strings CHANGELOG
2025-09-30 10:10:49 -05:00
Matt L fe7ae303b1 Add missing cleanup dependency to h5repack tests (#5878)
* Fix overwriting dependency list
2025-09-25 17:10:24 -05:00
Matt L d072fcce90 Merge h5repack test macros (#5792) 2025-09-25 08:57:14 -05:00
Matt L fdabc30649 Generate VOL tests for h5ls (#5769)
* Generate VOL tests for h5ls
* Update workflow
* Rework test skipping
Co-authored-by: jhendersonHDF <jhenderson@hdfgroup.org>
2025-09-24 11:54:52 -05:00
Matt L 9d2134e24a Add missing test files to h5gentest --h5repack (#5791)
* Add missing test files to h5gentest --h5repack  and update generator routines for type handling.
2025-09-22 08:42:55 -05:00
Matt L 6ea1f50431 Generate VOL tests for h5mkgrp (#5772)
* Rework h5mkgrp ADD_H5_TEST

* Generate VOL tests for h5mkgrp

* Fix h5ls-verification test not being skipped with regex
2025-09-20 12:23:32 -05:00
Matt L 0a73bd9b57 Merge h5dump test macros (#5752) 2025-09-15 08:00:53 -05:00
Matt L baa182a743 Add external ref test files to h5dumpgentest (#5761)
The trefer_extR test depends upon this pair of files, but always uses the pre-generated ones checked into the repo. This adds a routine to generate them, which will soon be used by the h5dump VOL tests.
2025-09-03 22:52:10 -05:00
Matt L 3d6d43ba87 Merge h5ls add-test macros (#5766)
Refactor ADD_H5_TEST macro in CMakeTests.cmake to consolidate test definitions and improve consistency.

Macros:
Consolidated ADD_H5_TEST and ADD_H5_ERR_TEST into a single ADD_H5_TEST macro in CMakeTests.cmake.
ADD_H5_TEST now accepts RESULT_CODE and optional RESULT_ERRCHECK as keyword arguments.

Test Definitions:
Updated all test invocations to use the new ADD_H5_TEST macro format with RESULT_CODE and RESULT_ERRCHECK where applicable.
Removed redundant ADD_H5_ERR_TEST macro usage.

Behavior:
Ensures consistent test setup and error handling across all h5ls tests.
2025-09-03 22:51:14 -05:00
Matt L 5ce77b3fea Separate test file generation from testing in external link reference test (#5760)
Move the portion of test_reference_external() in charge of test file creation to its own dedicated function. This will eventually be helpful if/when we change the test file creation here to used a shared routine.
2025-09-03 22:47:48 -05:00
Matt L 8093d2dd90 Remove unused args from h5diff test macro (#5753) 2025-09-02 06:43:06 -05:00
Matt L 5b1ef5e243 Temporarily turn off h5diff tests for cache VOL (#5732) 2025-08-19 14:12:34 -05:00
Matt L 30c3636684 Correct VFD h5repack test file cleanup (#5717)
Improve test file cleanup in h5repacktst.c by using h5_delete_test_file and avoiding deletion of default-driver exclusive files with non-default drivers.

Behavior:
Use h5_delete_test_file in h5repacktst.c for file deletions, ensuring compatibility with Family VFD filename requirements.
Avoid deleting default-driver exclusive files with non-default drivers in h5repacktst.c.

File Management:
Reorganize file arrays in h5repackgentest.h to separate default-driver files from others.
2025-08-19 07:29:04 -05:00
Matt L abada2661b Generate VOL tests for h5diff (#5680) 2025-08-15 11:39:33 -05:00
Matt L 99a3e84532 Fix Family VFD filename conflict in tests (#5673) 2025-08-14 07:58:39 -05:00
Matt L e05cff7391 Fix VOL CMake builds (#5719)
* Correct target emptiness check
* Quote string literal
2025-08-13 07:06:07 -05:00
Matt L 43f1310905 Generate VOL tests for h5copy (#5551)
* Add VOL testing to h5copy
2025-08-07 07:43:02 -05:00
Matt L 9cce779ba1 Consolidate h5diff add-test macros (#5675) 2025-08-01 06:19:50 -05:00
Matt L ad76f8274b Move h5repacktst file generation to h5repackgentest (#5564) 2025-07-18 11:58:52 -05:00
Matt L b68ec8d119 Consolidate h5copy add-test macros (#5650)
* Merge ADD_H5_F_TEST macro
* Merge ADD_H5_TEST2 macro
* Merge ADD_H5_TEST_SAME macro
* Merge ADD_H5_CMP_TEST macro
* Simplify UD macros
* Remove redundant test properties
* Rework ADD_H5_TEST arg handling
2025-07-10 07:05:54 -05:00
Matt L d212ae6b41 Remove extra indentation in tools test CMake (#5646) 2025-07-07 08:32:15 -05:00
Matt L 3b054fe7cc Always build test generators (#5622) 2025-06-23 07:47:05 -05:00
Matt L 41bba281c1 Resolve spurious linkchecker timeouts (#5598)
* Remove unnecessary workflow installs
* Reduce the number of linkchecker threads
2025-06-20 11:44:17 -05:00
Matt L 68bf564886 Delay dataset layout copy to DCPL (#5537) 2025-06-20 11:02:55 -05:00
Matt L cb81d566ee Update links to Rajeev Thakur's papers (#5605) 2025-06-17 11:43:24 -05:00
Matt L 6beb04760d Move tool testfiles to shared folder (#5597)
* Maintain tool testfile division in build folders
* Add h5dump reference files to shared folder
* Fix testfile path for java
* Remove unused filter
2025-06-17 06:54:19 -05:00
Matt L 01d61245fe Correct h5diff test ref files (#5596) 2025-06-12 13:04:24 -05:00
Matt L 869910e03b Bring h5dumpgentest in line with expected test files (#5458) 2025-06-12 09:14:55 -05:00
Matt L 0253babb65 Bring h5diffgentest in line with expected test files (#5456)
* Remove exit code lines
2025-06-12 09:14:07 -05:00
Matt L 6bd6383552 Add h5ls test files to gentest (#5559) 2025-06-12 07:38:40 -05:00
Matt L b93cd97ba3 Replace filtered temporary files with streams (#5583) 2025-06-06 11:03:08 -05:00
Matt L 17c16b659a Correct filtered test file cleanup paths (#5562) 2025-06-04 12:56:46 -05:00
Matt L b594d01986 Simplify runTest file filtering (#5552) 2025-05-30 12:39:15 -05:00
Matt L cd1d05ef33 Fix symbol definition conflict in tools (#5554) 2025-05-29 08:52:49 -05:00
Matt L cf2ca1f685 Merge test file generators for tools (#5515)
* Add header files for tool gentest scripts
* Correct library type for core targets
* Use EXIT_SUCCESS/EXIT_FAILURE on script exit
* Remove h5clear from merged script
* Include gentest header
* Add udfilter files to h5copy gen func
* Add nerror returns to main generator functions
* Move defines to tool headers
* Add copyright header
2025-05-27 11:09:19 -05:00
Matt L 8702eb7358 Fix syntax error in zlib setup (#5545) 2025-05-22 06:34:33 -05:00
Matt L 9db58791cd Fix typo in DLS test message (#5534) 2025-05-14 15:29:49 -05:00
Matt L bafca72cfa Mask values in h5dump output files (#5473)
* Use TEST_MASK argument for masking
* Leave test output file unmasked on disk
* Extract masking to macro
* Mask reference files at test runtime
2025-05-06 09:21:15 -05:00
Matt L ae48814d2d Fix incorrect link size for VOL connectors in h5dump (#5423)
Further improvement described in issue #5426 may be needed in future.
2025-04-18 11:41:33 -05:00
Matt L f469afca53 Fix bad VOL env var handling in CMake tests (#5337)
* Fix bad VOL env var handling in CMake tests

* Preserve VOL connector env during filter plugin test

* Do not load env VOL connector during filter plugin test
2025-04-15 08:08:38 -05:00
Matt L 2b982cf2fe Fix bad connector ID management during file open fallback (#5429) 2025-04-11 15:08:16 -05:00
Matt L 9a8bfc453c Add FUSE report to RFC documentation (#5433)
* Use aliases for FUSE report URL

* Move Fuse RFC to RFCURL
2025-04-11 14:20:17 -05:00
Matt L ff047dea0e Fix incorrect link size for VOL connectors in h5ls/h5diff (#5406) 2025-03-28 06:42:42 -05:00
Matt L 4b609617f6 Close attribute after shared attr dtype test (#5360) 2025-03-12 13:17:02 -05:00
Matt L 07030271ee Fix objects not being closed on objcopy helper failure (#5331) 2025-02-27 10:19:57 -06:00
Matt L e07da0c772 Fix bad objcopy test cleanup on failure (#5320) 2025-02-17 11:46:26 -06:00
Matt L 331c000e6a Add H5Tdecode2, rename and deprecate H5Tdecode (#5213) 2025-01-24 08:13:43 -06:00
Matt L 3e8aa54c17 Correct H5T_decode return value description (#5242) 2025-01-16 11:33:52 -06:00
Matt L 6b9612227f Remove duplicate definition in parallel API tests (#5221) 2025-01-10 06:25:12 -06:00
Matt L 7f93e90c8e Re-enable zlib in LOG VOL CI (#5181) 2024-12-17 10:44:42 -06:00
Matt L 914640e123 Prevent H5Pset* routines from modifying default plists (#5172)
* Prevent H5Pset_vol from changing default VOL
* Prevent public routines from modifying default plists
* Allow default backing FAPL for onion VFD
* Require FAPL in H5Pset_vol()
* Merge into existing H5P tests
2024-12-17 07:52:46 -06:00
Matt L 44cff2339c Add missing H5_DLL to Native callback (#5173) 2024-12-10 21:45:15 -06:00
Matt L e2da35371b Clean up thread-local error stacks in all threads (#4852)
* Clean up error stacks from secondary threads
2024-10-01 08:53:53 -07:00
Matt L 62e4777836 Split H5TS termination into threadlocal/thread-global parts (#4881) 2024-10-01 08:38:46 -07:00
Matt L 5ac5105b34 RELEASE note for threadsafety warning (#4883) 2024-09-26 14:02:55 -05:00
Matt L e590960f86 Add threadsafety warning doc (#4877) 2024-09-26 06:57:11 -05:00
mattjala 39fdf5d075 Fix missing routine on MacOS ttsafe test (#4863) 2024-09-23 05:36:54 -05:00
mattjala d1cfe5295b Fix memory leaks in ttsafe tests (#4842) 2024-09-18 10:35:45 -05:00
mattjala ca217e2c71 Document usage for H5TSmutex_release/acquire() (#4836) 2024-09-17 09:06:03 -07:00
mattjala ff14dee3e9 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
2024-08-26 13:29:13 -05:00
mattjala 4791d3416c Fix segfault in ROS3 credential parsing (#4736)
* Fix segfault in s3 credential parsing

* Fix AWS cred parsing when >1 profile provided
2024-08-21 07:35:29 -05:00
mattjala d25cc7d41b Test creating unseekable file (#4720) 2024-08-19 07:35:40 -05:00
mattjala a8dcba252e Make VOL CI run against current branch (#4654) 2024-07-17 11:57:49 -05:00
mattjala e6e098b7c3 Correct H5VL_t ref count on H5O_refresh_metadata failure (#4636)
* Fix bad H5VL_t rc on H5O_refresh_metadata fail

* Decrement nrefs before raising error
2024-07-15 11:01:15 -07:00
mattjala 546b79673c Document VOL object wrapping context (#4611) 2024-06-29 13:22:35 -07:00
mattjala cefadcf70a Correct documentation for return-and-read fields (#4598) 2024-06-26 20:39:12 -07:00
mattjala 0c4041f846 Document that ctx VOL property isn't drawn from the FAPL (#4597) 2024-06-24 12:04:48 -05:00
mattjala 90cfab3c05 Clarify documentation for H5CX_get_data_transform (#4580)
* Correct comment for H5CX_get_data_transform

* Document why data transform ctx field doesnt use macro
2024-06-19 07:48:11 -05:00
mattjala 2fa630c1cd Document H5Punregister modifying default properties (#4570) 2024-06-15 10:45:12 -07:00
mattjala ce99ebcc99 Clarify H5CX macro documentation (#4569) 2024-06-14 09:18:25 -07:00
mattjala db4465f2e9 Document property shared name behavior (#4565) 2024-06-14 09:17:57 -07:00
mattjala acbbf15202 Add property names to context field docs (#4563) 2024-06-14 09:04:49 -07:00
mattjala 09fe0ba079 Document 'return-and-read' field in API context (#4560) 2024-06-12 07:57:38 -05:00
mattjala 0cd6a094ab Correct property cb signatures in docs (#4554)
* Correct property cb signatures in docs
* Correct delete callback type name in docs
* add missing word to H5P__free_prop doc
2024-06-07 17:09:32 -07:00