diff options
author | Quincey Koziol <qkoziol@amazon.com> | 2023-01-05 23:42:33 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-05 23:42:33 (GMT) |
commit | 337a882af80a5158624c1044df8acce6a5781fc9 (patch) | |
tree | 55f26875b1502379051e5f2318eaf47a299c800d | |
parent | 423ee69c1e0edc2b8985e925bc496d09e1db9710 (diff) | |
download | hdf5-337a882af80a5158624c1044df8acce6a5781fc9.zip hdf5-337a882af80a5158624c1044df8acce6a5781fc9.tar.gz hdf5-337a882af80a5158624c1044df8acce6a5781fc9.tar.bz2 |
Update FORTRAN VOL connector test for external pass-through testing (#2393)
* Correct concurrency bugs when running tests, along with a bugfix & small
warning cleanup.
* Committing clang-format changes
* Allow spaces (and tabs) in VOL connector info string from environment variable.
* Parse connector name from HDF5_PLUGIN_PATH environment variable better
* Correct H5VLquery_optional to use H5VL routine instead of H5I. Also add an
error message to the failure return value from not finding a plugin.
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: AWS ParallelCluster user <ec2-user@ip-10-0-0-65.us-east-2.compute.internal>
Co-authored-by: Koziol <qkoziol@88665a374c70.ant.amazon.com>
-rw-r--r-- | fortran/test/vol_connector.F90 | 4 | ||||
-rw-r--r-- | src/H5PLint.c | 2 | ||||
-rw-r--r-- | src/H5VL.c | 2 |
3 files changed, 6 insertions, 2 deletions
diff --git a/fortran/test/vol_connector.F90 b/fortran/test/vol_connector.F90 index 2cc6cee..bfea2e1 100644 --- a/fortran/test/vol_connector.F90 +++ b/fortran/test/vol_connector.F90 @@ -237,6 +237,7 @@ PROGRAM vol_connector LOGICAL :: cleanup, status CHARACTER(LEN=12) :: VOL_CONNECTOR_ENV INTEGER :: LEN = 0 + INTEGER :: CONN_NAME_LEN CALL h5open_f(error) cleanup = .TRUE. @@ -251,8 +252,9 @@ PROGRAM vol_connector ! Check to see if the VOL connector was set with an env variable CALL GET_ENVIRONMENT_VARIABLE("HDF5_VOL_CONNECTOR", VOL_CONNECTOR_ENV, LEN) + CONN_NAME_LEN = INDEX(VOL_CONNECTOR_ENV, ' ') IF(LEN.NE.0)THEN - NATIVE_VOL_CONNECTOR_NAME = TRIM(VOL_CONNECTOR_ENV) + NATIVE_VOL_CONNECTOR_NAME = TRIM(VOL_CONNECTOR_ENV(1:CONN_NAME_LEN)) ELSE NATIVE_VOL_CONNECTOR_NAME = "native" ENDIF diff --git a/src/H5PLint.c b/src/H5PLint.c index 4995adb..4c970c5 100644 --- a/src/H5PLint.c +++ b/src/H5PLint.c @@ -259,6 +259,8 @@ H5PL_load(H5PL_type_t type, const H5PL_key_t *key) /* Set the return value we found the plugin */ if (found) ret_value = plugin_info; + else + HGOTO_ERROR(H5E_PLUGIN, H5E_NOTFOUND, NULL, "unable to locate plugin") done: FUNC_LEAVE_NOAPI(ret_value) @@ -967,7 +967,7 @@ H5VLquery_optional(hid_t obj_id, H5VL_subclass_t subcls, int opt_type, uint64_t /* Check args */ if (NULL == flags) HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid 'flags' pointer") - if (NULL == (vol_obj = (H5VL_object_t *)H5I_object(obj_id))) + if (NULL == (vol_obj = H5VL_vol_object(obj_id))) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid object identifier") /* Query the connector */ |