From 06c12f97cd309f661926a7cbc007325cd4284d52 Mon Sep 17 00:00:00 2001 From: Quincey Koziol Date: Mon, 9 Jan 2023 17:18:28 -0600 Subject: Pass-through connector testing flexibility (#2399) * 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. * Play nice with existing plugin paths * Use API routine to determine if native connector is terminal. * Committing clang-format changes * Make string size larger, to allow for connectors with longer names. * Be more flexible about testing external pass through connectors, especially if they have registered new optional operations. Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: AWS ParallelCluster user Co-authored-by: Koziol --- fortran/test/vol_connector.F90 | 2 +- test/vol.c | 12 +++++------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/fortran/test/vol_connector.F90 b/fortran/test/vol_connector.F90 index bfea2e1..e2235f4 100644 --- a/fortran/test/vol_connector.F90 +++ b/fortran/test/vol_connector.F90 @@ -235,7 +235,7 @@ PROGRAM vol_connector INTEGER :: error INTEGER :: ret_total_error LOGICAL :: cleanup, status - CHARACTER(LEN=12) :: VOL_CONNECTOR_ENV + CHARACTER(LEN=32) :: VOL_CONNECTOR_ENV INTEGER :: LEN = 0 INTEGER :: CONN_NAME_LEN diff --git a/test/vol.c b/test/vol.c index d369669..e50476f 100644 --- a/test/vol.c +++ b/test/vol.c @@ -1664,7 +1664,7 @@ exercise_reg_opt_oper(hid_t fake_vol_id, hid_t reg_opt_vol_id, H5VL_subclass_t s /* Verify that the reserved amount of optional operations is obeyed */ /* (The first optional operation registered should be at the lower limit) */ - if (op_val != H5VL_RESERVED_NATIVE_OPTIONAL) + if (op_val < H5VL_RESERVED_NATIVE_OPTIONAL) TEST_ERROR; /* Look up 1st registered optional operation */ @@ -1683,7 +1683,7 @@ exercise_reg_opt_oper(hid_t fake_vol_id, hid_t reg_opt_vol_id, H5VL_subclass_t s /* Verify that the reserved amount of optional operations is obeyed */ /* (The 2nd optional operation registered should be at the lower limit + 1) */ - if (op_val2 != (H5VL_RESERVED_NATIVE_OPTIONAL + 1)) + if (op_val2 < (H5VL_RESERVED_NATIVE_OPTIONAL + 1)) TEST_ERROR; /* Look up 2nd registered optional operation */ @@ -2242,10 +2242,9 @@ test_get_vol_name(void) conn_env_str = "native"; /* Skip the connectors other than the native and pass_through connector */ - if (HDstrcmp(conn_env_str, "native") && - HDstrncmp(conn_env_str, "pass_through", HDstrlen("pass_through"))) { + if (HDstrcmp(conn_env_str, "native") && HDstrcmp(conn_env_str, "pass_through")) { SKIPPED(); - HDprintf(" only test the native or pass_through connector\n"); + HDprintf(" only test the native or internal pass_through connector\n"); return SUCCEED; } @@ -2262,8 +2261,7 @@ test_get_vol_name(void) /* When comparing the pass_through connector, ignore the rest information (under_vol=0;under_info={}) */ if ((!HDstrcmp(conn_env_str, "native") && HDstrcmp(vol_name, "native")) || - (!HDstrncmp(conn_env_str, "pass_through", HDstrlen("pass_through")) && - HDstrcmp(vol_name, "pass_through"))) + (!HDstrcmp(conn_env_str, "pass_through") && HDstrcmp(vol_name, "pass_through"))) TEST_ERROR; if (H5Fclose(file_id) < 0) -- cgit v0.12