{"id":23278544,"url":"https://github.com/hdfgroup/vol-tests","last_synced_at":"2025-08-21T11:31:36.717Z","repository":{"id":40434835,"uuid":"286839684","full_name":"HDFGroup/vol-tests","owner":"HDFGroup","description":null,"archived":false,"fork":false,"pushed_at":"2024-01-10T23:34:07.000Z","size":2940,"stargazers_count":4,"open_issues_count":3,"forks_count":12,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-08-12T21:11:38.540Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HDFGroup.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-11T20:16:57.000Z","updated_at":"2023-02-04T07:21:21.000Z","dependencies_parsed_at":"2024-12-19T22:32:37.718Z","dependency_job_id":"9dc24bf9-0691-490c-8cf7-28ee655108f1","html_url":"https://github.com/HDFGroup/vol-tests","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/HDFGroup/vol-tests","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HDFGroup%2Fvol-tests","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HDFGroup%2Fvol-tests/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HDFGroup%2Fvol-tests/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HDFGroup%2Fvol-tests/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HDFGroup","download_url":"https://codeload.github.com/HDFGroup/vol-tests/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HDFGroup%2Fvol-tests/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271470112,"owners_count":24765318,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-21T02:00:08.990Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-19T22:32:13.397Z","updated_at":"2025-08-21T11:31:35.493Z","avatar_url":"https://github.com/HDFGroup.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![HDF5 API test CI](https://github.com/HDFGroup/vol-tests/actions/workflows/main.yml/badge.svg)](https://github.com/HDFGroup/vol-tests/actions/workflows/main.yml)\n[![Test HDF5 ADIOS2 VOL](https://github.com/HDFGroup/vol-tests/actions/workflows/adios2.yml/badge.svg)](https://github.com/HDFGroup/vol-tests/actions/workflows/adios2.yml)\n[![Test HDF5 async VOL](https://github.com/HDFGroup/vol-tests/actions/workflows/async.yml/badge.svg)](https://github.com/HDFGroup/vol-tests/actions/workflows/async.yml)\n[![Test HDF5 cache VOL](https://github.com/HDFGroup/vol-tests/actions/workflows/cache.yml/badge.svg)](https://github.com/HDFGroup/vol-tests/actions/workflows/cache.yml)\n[![Test HDF5 Log-based VOL](https://github.com/HDFGroup/vol-tests/actions/workflows/log.yml/badge.svg)](https://github.com/HDFGroup/vol-tests/actions/workflows/log.yml)\n[![Test HDF5 external pass-through VOL](https://github.com/HDFGroup/vol-tests/actions/workflows/pass.yml/badge.svg)](https://github.com/HDFGroup/vol-tests/actions/workflows/pass.yml)\n[![Test HDF5 REST VOL](https://github.com/HDFGroup/vol-tests/actions/workflows/rest.yml/badge.svg)](https://github.com/HDFGroup/vol-tests/actions/workflows/rest.yml)\n\n# HDF5 VOL Tests\n\nThis repository contains several test applications that exercise [HDF5](https://github.com/HDFGroup/hdf5)'s\npublic API and serve as regression tests for HDF5 [VOL Connectors](https://portal.hdfgroup.org/display/HDF5/Virtual+Object+Layer).\n\n### Software Requirements\n\nThe following are required to build the HDF5 VOL tests:\n\n- CMake 2.8.12.2 or newer\n- HDF5 1.14.0 or newer\n\nNote: The HDF5 VOL tests project is currently unsupported for building on Windows.\n\n### Build Process\n\nThe HDF5 VOL tests are built using CMake in an out-of-source fashion. A typical build\nwould look like:\n\n    mkdir build\n    cd build\n    cmake -DCMAKE_BUILD_TYPE:STRING=Release ${BUILD_OPTIONS} -G ${CMAKE_GENERATOR} ..\n    make\n\nBuild time options that can be passed for `${BUILD_OPTIONS}` are discussed in the following\nsection. The CMake documentation should be consulted when determining what to set for\n`CMAKE_GENERATOR`.\n\n### Build Options\n\nThe following build options are available to influence how the VOL tests get built. To set an\noption, it should be prepended with `-D` when passed to the `cmake` command. For example,\n\n    cmake -DHDF5_DIR=/temp/hdf5 ..\n\nwould set the value of the `HDF5_DIR` build option to `/temp/hdf5`.\n\n##### Required\n\n`HDF5_DIR` - The VOL test build process will attempt to automatically locate an HDF5 installation\non the system. However, if one cannot be found, then this option should be set to point to a\ndirectory which contains the CMake-related files for an HDF5 installation. For example, on linux\nsystems this directory will usually be:\n\n    \u003chdf5_install_root\u003e/share/cmake/hdf5/\n\nand will contain `hdf5-config.cmake`, among other files.\n\n##### Optional\n\n`HDF5_VOL_TEST_ENABLE_PARALLEL` (Default: OFF) - This option enables parallel HDF5 tests and requires that the HDF5 installation used is built with the parallel library enabled.\n\n`HDF5_VOL_TEST_ENABLE_ASYNC` (Default: OFF) - This option enables tests that use HDF5's asynchronous API routines.\n\n`HDF5_VOL_TEST_ENABLE_PART` (Default: OFF) - This option enables building of the main test executable,\n`h5vl_test`, as a set of individual executables, one per HDF5 'interface', rather than as a single executable.\nThis option is mostly helpful for CI integration, but otherwise is safe to leave off.\n\n### Usage\n\nThe HDF5 VOL tests currently only support usage with HDF5 VOL connectors that can be loaded dynamically\nas a plugin. For information on how to build a VOL connector in this manner, refer to section 2.3 of the\n[HDF5 VOL Connector Author Guide](https://portal.hdfgroup.org/display/HDF5/HDF5+VOL+Connector+Authors+Guide?preview=/53610813/59903039/vol_connector_author_guide.pdf).\n\nTo use the HDF5 VOL tests with a particular VOL connector, first set the following two environment variables:\n\n`HDF5_VOL_CONNECTOR` - This environment variable should be set to the name chosen for the VOL connector to\nbe used. For example, HDF5's DAOS VOL connector uses the name \"[daos](https://github.com/HDFGroup/vol-daos/blob/master/src/daos_vol.h#L30)\" and would therefore set:\n\n    HDF5_VOL_CONNECTOR=daos\n\n`HDF5_PLUGIN_PATH` - This environment variable should be set to the directory that contains the built library\nfor the VOL connector to be used.\n\nOnce these are set, the HDF5 VOL tests can be run by executing the following command from the build\ndirectory:\n\n    ctest . -VV\n\nIndividual test executables can also be manually run from the build directory.\n\nIf HDF5 is unable to locate or load the VOL connector specified, it will fall back to running the tests with\nthe native HDF5 VOL connector and an error similar to the following will appear in the test output:\n\n    HDF5-DIAG: Error detected in HDF5 (1.13.0) MPI-process 0:\n      #000: /home/user/git/hdf5/src/H5.c line 1010 in H5open(): library initialization failed\n        major: Function entry/exit\n        minor: Unable to initialize object\n      #001: /home/user/git/hdf5/src/H5.c line 277 in H5_init_library(): unable to initialize vol interface\n        major: Function entry/exit\n        minor: Unable to initialize object\n      #002: /home/user/git/hdf5/src/H5VLint.c line 199 in H5VL_init_phase2(): unable to set default VOL connector\n        major: Virtual Object Layer\n        minor: Can't set value\n      #003: /home/user/git/hdf5/src/H5VLint.c line 429 in H5VL__set_def_conn(): can't register connector\n        major: Virtual Object Layer\n        minor: Unable to register new ID\n      #004: /home/user/git/hdf5/src/H5VLint.c line 1321 in H5VL__register_connector_by_name(): unable to load VOL connector\n        major: Virtual Object Layer\n        minor: Unable to initialize object\n\n### Help and Support\n\nFor help with building or using the HDF5 VOL tests, please contact the [HDF Help Desk](https://portal.hdfgroup.org/display/support/The+HDF+Help+Desk).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhdfgroup%2Fvol-tests","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhdfgroup%2Fvol-tests","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhdfgroup%2Fvol-tests/lists"}