Skip to content

Generate VOL tests for h5copy #5551

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 30 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
4d9743b
Generate VOL-specific tests for h5copy
mattjala Apr 25, 2025
c6353fc
Add h5copy tests to VOL workflows
mattjala Apr 25, 2025
62961e0
Fix repack macro for terminal connectors
mattjala Apr 25, 2025
0cd4e4a
Remove workflow trigger change
mattjala Apr 25, 2025
80f9bb7
Disable h5copy tests for certain workflows
mattjala Apr 25, 2025
691c28c
Fix incorrect plugin path
mattjala Apr 28, 2025
03a027e
Fix missing OR operator in regex
mattjala Apr 28, 2025
24f7312
Fix inconsistent test names
mattjala Apr 28, 2025
290559f
Replace colon with generic path separator
mattjala Apr 28, 2025
9f7b3b8
Rename h5copy tests
mattjala Apr 29, 2025
30544ff
Use consistent VOL name
mattjala Apr 29, 2025
827909b
Factor out shared logic into a load vol macro
mattjala Apr 29, 2025
54797b4
Exclude H5COPY tests from REST VOL CI
mattjala Apr 29, 2025
435b420
Correct macro index usage
mattjala Apr 29, 2025
9833dbd
Get vol name from external targets list
mattjala Apr 29, 2025
967d756
Use gentest to set up test files
mattjala May 7, 2025
1bc2785
Factor out VOL info work to macro
mattjala May 7, 2025
48443ba
Correct arg handling with Native VOL
mattjala May 8, 2025
cab38d6
Add target for VOL misc file copying
mattjala May 20, 2025
d2b1008
Update gentest usage argument
mattjala May 22, 2025
0818457
Remove debug comment
mattjala May 28, 2025
3138a11
Document usage of new macro
mattjala Jun 11, 2025
009f875
Merge ADD_H5_F_TEST macro
mattjala Jun 19, 2025
4c1a519
Merge ADD_H5_TEST2 macro
mattjala Jun 19, 2025
a20eca2
Merge ADD_H5_TEST_SAME macro
mattjala Jun 20, 2025
2b86560
Merge ADD_H5_CMP_TEST macro
mattjala Jun 20, 2025
154d332
Remove flag from test names
mattjala Jun 20, 2025
46f17c9
Simply UD macros
mattjala Jun 20, 2025
5d59f37
Remove VOL prefix from native h5copy tests
mattjala Jun 20, 2025
1044a84
Move VOL iteration inside add test macros
mattjala Jun 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/vol_cache.yml
Original file line number Diff line number Diff line change
Expand Up @@ -161,4 +161,4 @@ jobs:
# that this should be re-enabled in the future.
if: ${{ ! matrix.async }}
run: |
ctest --build-config ${{ inputs.build_mode }} -VV -R "HDF5_VOL_vol-cache" .
ctest --build-config ${{ inputs.build_mode }} -VV -R "HDF5_VOL_vol-cache" .
3 changes: 2 additions & 1 deletion .github/workflows/vol_rest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -191,4 +191,5 @@ jobs:
HSDS_ENDPOINT=http+unix://%2Ftmp%2Fhs%2Fsn_1.sock \
ROOT_DIR=${{github.workspace}}/hsdsdata \
BUCKET_NAME=hsdstest \
ctest --build-config ${{ inputs.build_mode }} -VV -R "h5_api" .
ctest --build-config ${{ inputs.build_mode }} -VV -R "h5_api" -E "H5COPY" .

27 changes: 27 additions & 0 deletions config/HDF5Macros.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -118,3 +118,30 @@ macro (H5_CREATE_VFD_DIR)
file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${vfdtest}")
endforeach ()
endmacro ()

# Given the name of a CMake target for an external VOL connector,
# populate variables with the names vol_name_out and vol_env_out with
# the connector's name and the environment string needed to load the connector,
# respectively.
macro(HDF5_GET_VOL_TGT_INFO vol_tgt vol_name_out vol_env_out)
set(${vol_env_out} "")
# HDF5_VOL_CONNECTOR
get_target_property (ext_vol_name "${vol_tgt}" HDF5_VOL_NAME)
list(APPEND ${vol_env_out} "HDF5_VOL_CONNECTOR=${ext_vol_name}")

# HDF5_PLUGIN_PATH
get_target_property(vol_lib_targets "${vol_tgt}" HDF5_VOL_TARGETS)
set(vol_plugin_paths "${CMAKE_BINARY_DIR}/${HDF5_INSTALL_BIN_DIR}")
foreach (lib_target ${vol_lib_targets})
get_target_property (lib_target_output_dir "${lib_target}" LIBRARY_OUTPUT_DIRECTORY)
if (NOT "${lib_target_output_dir}" STREQUAL "lib_target_output_dir-NOTFOUND"
AND NOT "${lib_target_output_dir}" STREQUAL ""
AND NOT "${lib_target_output_dir}" STREQUAL "${CMAKE_BINARY_DIR}/${HDF5_INSTALL_BIN_DIR}")
set (vol_plugin_paths "${vol_plugin_paths}${CMAKE_SEP}${lib_target_output_dir}")
endif ()
endforeach ()
list(APPEND ${vol_env_out} "HDF5_PLUGIN_PATH=${vol_plugin_paths}")

# VOL name
string(REPLACE "HDF5_VOL_" "" ${vol_name_out} "${vol_tgt}")
endmacro()
Loading
Loading