summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/API/H5_api_dataset_test.c480
-rw-r--r--test/API/H5_api_dataset_test.h5
-rw-r--r--test/API/H5_api_link_test.c362
-rw-r--r--test/API/H5_api_link_test.h15
-rw-r--r--test/cache.c2267
-rw-r--r--test/cache_common.h12
-rw-r--r--test/cache_tagging.c11
-rw-r--r--test/dt_arith.c1
-rw-r--r--test/h5test.c43
-rw-r--r--test/h5test.h1
-rw-r--r--test/links.c222
-rw-r--r--test/vol.c20
12 files changed, 1451 insertions, 1988 deletions
diff --git a/test/API/H5_api_dataset_test.c b/test/API/H5_api_dataset_test.c
index e9ad15c..2989b70 100644
--- a/test/API/H5_api_dataset_test.c
+++ b/test/API/H5_api_dataset_test.c
@@ -67,6 +67,7 @@ static int test_dataset_string_encodings(void);
static int test_dataset_builtin_type_conversion(void);
static int test_dataset_real_to_int_conversion(void);
static int test_dataset_compound_partial_io(void);
+static int test_dataset_vlen_io(void);
static int test_dataset_set_extent_chunked_unlimited(void);
static int test_dataset_set_extent_chunked_fixed(void);
static int test_dataset_set_extent_data(void);
@@ -148,6 +149,7 @@ static int (*dataset_tests[])(void) = {
test_dataset_builtin_type_conversion,
test_dataset_real_to_int_conversion,
test_dataset_compound_partial_io,
+ test_dataset_vlen_io,
test_dataset_set_extent_chunked_unlimited,
test_dataset_set_extent_chunked_fixed,
test_dataset_set_extent_data,
@@ -9829,6 +9831,484 @@ error:
return 1;
}
+/* A test to check that vlen sequences can be written and read back
+ * with basic parent types and selections */
+static int
+test_dataset_vlen_io(void)
+{
+ hid_t file_id = H5I_INVALID_HID;
+ hid_t container_group = H5I_INVALID_HID;
+ hid_t space_id = H5I_INVALID_HID;
+ hid_t dset_int = H5I_INVALID_HID;
+ hid_t dset_float = H5I_INVALID_HID;
+ hid_t dset_string = H5I_INVALID_HID;
+ hid_t vlen_int = H5I_INVALID_HID;
+ hid_t vlen_float = H5I_INVALID_HID;
+ hid_t vlen_string = H5I_INVALID_HID;
+ hid_t str_base_type = H5I_INVALID_HID;
+
+ hsize_t dims[1] = {DATASET_VLEN_IO_DSET_DIMS};
+ hsize_t point_coords[DATASET_VLEN_IO_DSET_DIMS / 2];
+
+ hvl_t wbuf[DATASET_VLEN_IO_DSET_DIMS];
+ hvl_t rbuf[DATASET_VLEN_IO_DSET_DIMS];
+
+ TESTING_MULTIPART(
+ "verification of dataset data with H5Dwrite and then H5D read with variable length sequence data");
+
+ /* Make sure the connector supports the API functions being tested */
+ if (!(vol_cap_flags_g & H5VL_CAP_FLAG_FILE_BASIC) || !(vol_cap_flags_g & H5VL_CAP_FLAG_GROUP_BASIC) ||
+ !(vol_cap_flags_g & H5VL_CAP_FLAG_DATASET_BASIC) || !(vol_cap_flags_g & H5VL_CAP_FLAG_DATASET_MORE)) {
+ SKIPPED();
+ printf(" API functions for basic file, group, or dataset aren't supported with this "
+ "connector\n");
+ return 0;
+ }
+
+ TESTING_2("test setup");
+
+ if ((file_id = H5Fopen(H5_api_test_filename, H5F_ACC_RDWR, H5P_DEFAULT)) < 0) {
+ H5_FAILED();
+ printf(" couldn't open file '%s'\n", H5_api_test_filename);
+ goto error;
+ }
+
+ if ((container_group = H5Gopen2(file_id, DATASET_TEST_GROUP_NAME, H5P_DEFAULT)) < 0) {
+ H5_FAILED();
+ printf(" couldn't open container group '%s'\n", DATASET_TEST_GROUP_NAME);
+ goto error;
+ }
+
+ if ((space_id = H5Screate_simple(1, dims, NULL)) < 0) {
+ H5_FAILED();
+ printf(" couldn't create dataspace");
+ goto error;
+ }
+
+ if ((vlen_int = H5Tvlen_create(H5T_NATIVE_INT)) < 0) {
+ H5_FAILED();
+ printf(" couldn't create vlen integer sequence");
+ goto error;
+ }
+
+ if ((vlen_float = H5Tvlen_create(H5T_NATIVE_FLOAT)) < 0) {
+ H5_FAILED();
+ printf(" couldn't create vlen float sequence");
+ goto error;
+ }
+
+ if ((str_base_type = H5Tcopy(H5T_C_S1)) < 0)
+ TEST_ERROR;
+
+ if ((H5Tset_size(str_base_type, DATASET_VLEN_IO_STR_LEN)) < 0)
+ TEST_ERROR;
+
+ if ((vlen_string = H5Tvlen_create(str_base_type)) < 0) {
+ H5_FAILED();
+ printf(" couldn't create vlen string sequence");
+ goto error;
+ }
+
+ if ((dset_int = H5Dcreate2(file_id, DATASET_VLEN_IO_DSET_NAME "_int", vlen_int, space_id, H5P_DEFAULT,
+ H5P_DEFAULT, H5P_DEFAULT)) < 0) {
+ H5_FAILED();
+ printf(" couldn't create dataset with vlen integer sequence datatype");
+ goto error;
+ }
+
+ if ((dset_float = H5Dcreate2(file_id, DATASET_VLEN_IO_DSET_NAME "_float", vlen_float, space_id,
+ H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
+ H5_FAILED();
+ printf(" couldn't create dataset with vlen float sequence datatype");
+ goto error;
+ }
+
+ if ((dset_string = H5Dcreate2(file_id, DATASET_VLEN_IO_DSET_NAME "_string", vlen_string, space_id,
+ H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
+ H5_FAILED();
+ printf(" couldn't create dataset with vlen string sequence datatype");
+ goto error;
+ }
+
+ memset(wbuf, 0, sizeof(hvl_t) * DATASET_VLEN_IO_DSET_DIMS);
+ memset(rbuf, 0, sizeof(hvl_t) * DATASET_VLEN_IO_DSET_DIMS);
+
+ PASSED();
+
+ BEGIN_MULTIPART
+ {
+ PART_BEGIN(rw_all_int)
+ {
+ TESTING_2("write and read entire dataspace with integer sequence");
+ /* Set up write buffer */
+ for (size_t i = 0; i < DATASET_VLEN_IO_DSET_DIMS; i++) {
+ if ((wbuf[i].p = calloc(i + 1, sizeof(int) * (i + 1))) == NULL)
+ PART_TEST_ERROR(rw_all_int);
+
+ for (size_t j = 0; j < i + 1; j++) {
+ ((int *)wbuf[i].p)[j] = (int)(i * j + 1);
+ }
+
+ wbuf[i].len = i + 1;
+ }
+
+ /* Perform write */
+ if ((H5Dwrite(dset_int, vlen_int, space_id, H5S_ALL, H5P_DEFAULT, (const void *)wbuf)) < 0)
+ PART_TEST_ERROR(rw_all_int);
+
+ /* Perform read */
+ if ((H5Dread(dset_int, vlen_int, space_id, H5S_ALL, H5P_DEFAULT, (void *)rbuf)) < 0)
+ PART_TEST_ERROR(rw_all_int);
+
+ /* Verify data */
+ for (size_t i = 0; i < DATASET_VLEN_IO_DSET_DIMS; i++) {
+ if (!rbuf[i].p)
+ PART_TEST_ERROR(rw_all_int);
+
+ if (rbuf[i].len != wbuf[i].len)
+ PART_TEST_ERROR(rw_all_int);
+
+ for (size_t j = 0; j < i + 1; j++)
+ if (((int *)rbuf[i].p)[j] != ((int *)wbuf[i].p)[j])
+ PART_TEST_ERROR(rw_all_int);
+ }
+
+ PASSED();
+
+ /* Reset buffers */
+
+ if (H5Treclaim(vlen_int, space_id, H5P_DEFAULT, rbuf) < 0)
+ PART_TEST_ERROR(rw_all_int);
+
+ if (H5Treclaim(vlen_int, space_id, H5P_DEFAULT, wbuf) < 0)
+ PART_TEST_ERROR(rw_all_int);
+
+ memset(wbuf, 0, sizeof(hvl_t) * DATASET_VLEN_IO_DSET_DIMS);
+ memset(rbuf, 0, sizeof(hvl_t) * DATASET_VLEN_IO_DSET_DIMS);
+ }
+ PART_END(rw_all_int)
+ {
+ TESTING_2("write and read entire dataspace with float sequence");
+ /* Set up write buffer */
+ for (size_t i = 0; i < DATASET_VLEN_IO_DSET_DIMS; i++) {
+ if ((wbuf[i].p = calloc(i + 1, sizeof(float) * (i + 1))) == NULL)
+ PART_TEST_ERROR(rw_all_float);
+
+ for (size_t j = 0; j < i + 1; j++) {
+ ((float *)wbuf[i].p)[j] = (float)(i * j + 1);
+ }
+
+ wbuf[i].len = i + 1;
+ }
+
+ /* Perform write */
+ if ((H5Dwrite(dset_float, vlen_float, space_id, H5S_ALL, H5P_DEFAULT, (const void *)wbuf)) < 0)
+ PART_TEST_ERROR(rw_all_float);
+
+ /* Perform read */
+ if ((H5Dread(dset_float, vlen_float, space_id, H5S_ALL, H5P_DEFAULT, (void *)rbuf)) < 0)
+ PART_TEST_ERROR(rw_all_float);
+
+ /* Verify data */
+ for (size_t i = 0; i < DATASET_VLEN_IO_DSET_DIMS; i++) {
+ if (!rbuf[i].p)
+ PART_TEST_ERROR(rw_all_float);
+
+ if (rbuf[i].len != wbuf[i].len)
+ PART_TEST_ERROR(rw_all_float);
+
+ for (size_t j = 0; j < i + 1; j++) {
+ float expected = ((float *)wbuf[i].p)[j];
+ float actual = ((float *)rbuf[i].p)[j];
+
+ if (!(H5_DBL_REL_EQUAL(expected, actual, 0.001)))
+ PART_TEST_ERROR(rw_all_float);
+ }
+ }
+
+ PASSED();
+
+ /* Reset buffers */
+
+ if (H5Treclaim(vlen_float, space_id, H5P_DEFAULT, rbuf) < 0)
+ PART_TEST_ERROR(rw_all_float);
+
+ if (H5Treclaim(vlen_float, space_id, H5P_DEFAULT, wbuf) < 0)
+ PART_TEST_ERROR(rw_all_float);
+
+ memset(wbuf, 0, sizeof(hvl_t) * DATASET_VLEN_IO_DSET_DIMS);
+ memset(rbuf, 0, sizeof(hvl_t) * DATASET_VLEN_IO_DSET_DIMS);
+ PART_BEGIN(rw_all_float)
+ }
+ PART_END(rw_all_float);
+
+ PART_BEGIN(rw_all_string)
+ {
+ TESTING_2("write and read entire dataspace with string sequence");
+ /* Set up write buffer */
+ for (size_t i = 0; i < DATASET_VLEN_IO_DSET_DIMS; i++) {
+ if ((wbuf[i].p = calloc(i + 1, DATASET_VLEN_IO_STR_LEN)) == NULL)
+ PART_TEST_ERROR(rw_all_string);
+
+ for (size_t j = 0; j < i + 1; j++) {
+ char *str_ptr = ((char *)wbuf[i].p) + DATASET_VLEN_IO_STR_LEN * j;
+ memcpy(str_ptr, DATASET_VLEN_IO_STR_VALUE, DATASET_VLEN_IO_STR_LEN);
+ }
+
+ wbuf[i].len = i + 1;
+ }
+
+ /* Perform write */
+ if ((H5Dwrite(dset_string, vlen_string, space_id, H5S_ALL, H5P_DEFAULT, (const void *)wbuf)) < 0)
+ PART_TEST_ERROR(rw_all_string);
+
+ /* Perform read */
+ if ((H5Dread(dset_string, vlen_string, space_id, H5S_ALL, H5P_DEFAULT, (void *)rbuf)) < 0)
+ PART_TEST_ERROR(rw_all_string);
+
+ /* Verify data */
+ for (size_t i = 0; i < DATASET_VLEN_IO_DSET_DIMS; i++) {
+ if (!rbuf[i].p)
+ PART_TEST_ERROR(rw_all_string);
+
+ if (rbuf[i].len != wbuf[i].len)
+ PART_TEST_ERROR(rw_all_string);
+
+ for (size_t j = 0; j < i + 1; j++) {
+ char str_buf[DATASET_VLEN_IO_STR_LEN + 1];
+ char *str_ptr = (char *)rbuf[i].p + DATASET_VLEN_IO_STR_LEN * j;
+ memcpy(str_buf, str_ptr, DATASET_VLEN_IO_STR_LEN);
+ str_buf[DATASET_VLEN_IO_STR_LEN] = '\0';
+
+ if (strcmp(str_buf, DATASET_VLEN_IO_STR_VALUE))
+ PART_TEST_ERROR(rw_all_string);
+ }
+ }
+
+ PASSED();
+
+ /* Reset buffers */
+
+ if (H5Treclaim(vlen_string, space_id, H5P_DEFAULT, rbuf) < 0)
+ PART_TEST_ERROR(rw_all_string);
+
+ if (H5Treclaim(vlen_string, space_id, H5P_DEFAULT, wbuf) < 0)
+ PART_TEST_ERROR(rw_all_string);
+
+ memset(wbuf, 0, sizeof(hvl_t) * DATASET_VLEN_IO_DSET_DIMS);
+ memset(rbuf, 0, sizeof(hvl_t) * DATASET_VLEN_IO_DSET_DIMS);
+ }
+ PART_END(rw_all_string);
+
+ PART_BEGIN(rw_point_selection)
+ {
+ /* Select even-indexed points */
+ for (size_t i = 0; i < DATASET_VLEN_IO_DSET_DIMS / 2; i++)
+ point_coords[i] = i * 2;
+
+ /* Select points on dataspace */
+ if (H5Sselect_elements(space_id, H5S_SELECT_SET, DATASET_VLEN_IO_DSET_DIMS / 2,
+ (const hsize_t *)point_coords) < 0)
+ PART_TEST_ERROR(rw_point_selection);
+
+ /* Set up write buffer */
+ for (size_t i = 0; i < DATASET_VLEN_IO_DSET_DIMS; i++) {
+ if ((wbuf[i].p = calloc(i + 1, sizeof(int) * (i + 1))) == NULL)
+ PART_TEST_ERROR(rw_point_selection);
+
+ for (size_t j = 0; j < i + 1; j++) {
+ ((int *)wbuf[i].p)[j] = (int)(i * j + 1);
+ }
+
+ wbuf[i].len = i + 1;
+ }
+
+ /* Perform write */
+ if ((H5Dwrite(dset_int, vlen_int, space_id, space_id, H5P_DEFAULT, (const void *)wbuf)) < 0)
+ PART_TEST_ERROR(rw_point_selection);
+
+ /* Perform read */
+ if ((H5Dread(dset_int, vlen_int, space_id, space_id, H5P_DEFAULT, (void *)rbuf)) < 0)
+ PART_TEST_ERROR(rw_point_selection);
+
+ /* Verify data */
+ for (size_t i = 0; i < DATASET_VLEN_IO_DSET_DIMS; i++) {
+ if (i % 2 == 0) {
+ if (!rbuf[i].p)
+ PART_TEST_ERROR(rw_point_selection);
+
+ if (rbuf[i].len != wbuf[i].len)
+ PART_TEST_ERROR(rw_point_selection);
+
+ for (size_t j = 0; j < i + 1; j++)
+ if (((int *)rbuf[i].p)[j] != ((int *)wbuf[i].p)[j])
+ PART_TEST_ERROR(rw_point_selection);
+ }
+ else {
+ /* Odd positions in buffer should still read 0 */
+ if (rbuf[i].p)
+ PART_TEST_ERROR(rw_point_selection);
+ if (rbuf[i].len)
+ PART_TEST_ERROR(rw_point_selection);
+ }
+ }
+
+ PASSED();
+
+ /* Reset buffers */
+
+ if (H5Treclaim(vlen_int, space_id, H5P_DEFAULT, rbuf) < 0)
+ PART_TEST_ERROR(rw_point_selection);
+
+ if (H5Treclaim(vlen_int, space_id, H5P_DEFAULT, wbuf) < 0)
+ PART_TEST_ERROR(rw_point_selection);
+
+ memset(wbuf, 0, sizeof(hvl_t) * DATASET_VLEN_IO_DSET_DIMS);
+ memset(rbuf, 0, sizeof(hvl_t) * DATASET_VLEN_IO_DSET_DIMS);
+ }
+ PART_END(rw_point_selection);
+
+ PART_BEGIN(rw_hyperslab_selection)
+ {
+ /* Select hyperslab of every 3rd element */
+ const hsize_t start[1] = {0};
+ const hsize_t stride[1] = {3};
+ const hsize_t count[1] = {1 + (DATASET_VLEN_IO_DSET_DIMS / stride[0])};
+ const hsize_t block[1] = {1};
+
+ if ((H5Sselect_hyperslab(space_id, H5S_SELECT_SET, start, stride, count, block)) < 0)
+ PART_TEST_ERROR(rw_hyperslab_selection);
+
+ /* Set up write buffer */
+ for (size_t i = 0; i < DATASET_VLEN_IO_DSET_DIMS; i++) {
+ if ((wbuf[i].p = calloc(i + 1, sizeof(int) * (i + 1))) == NULL)
+ PART_TEST_ERROR(rw_hyperslab_selection);
+
+ for (size_t j = 0; j < i + 1; j++) {
+ ((int *)wbuf[i].p)[j] = (int)(i * j + 1);
+ }
+
+ wbuf[i].len = i + 1;
+ }
+
+ /* Perform write */
+ if ((H5Dwrite(dset_int, vlen_int, space_id, space_id, H5P_DEFAULT, (const void *)wbuf)) < 0)
+ PART_TEST_ERROR(rw_hyperslab_selection);
+
+ /* Perform read */
+ if ((H5Dread(dset_int, vlen_int, space_id, space_id, H5P_DEFAULT, (void *)rbuf)) < 0)
+ PART_TEST_ERROR(rw_hyperslab_selection);
+
+ /* Verify data */
+ for (size_t i = 0; i < DATASET_VLEN_IO_DSET_DIMS; i++) {
+ if (i % stride[0] == 0) {
+ if (!rbuf[i].p)
+ PART_TEST_ERROR(rw_hyperslab_selection);
+
+ if (rbuf[i].len != wbuf[i].len)
+ PART_TEST_ERROR(rw_hyperslab_selection);
+
+ for (size_t j = 0; j < i + 1; j++)
+ if (((int *)rbuf[i].p)[j] != ((int *)wbuf[i].p)[j])
+ PART_TEST_ERROR(rw_hyperslab_selection);
+ }
+ else {
+ /* Unread positions should still be 0 */
+ if (rbuf[i].p)
+ PART_TEST_ERROR(rw_hyperslab_selection);
+ if (rbuf[i].len)
+ PART_TEST_ERROR(rw_hyperslab_selection);
+ }
+ }
+
+ PASSED();
+
+ /* Reset buffers */
+
+ if (H5Treclaim(vlen_int, space_id, H5P_DEFAULT, rbuf) < 0)
+ PART_TEST_ERROR(rw_hyperslab_selection);
+
+ if (H5Treclaim(vlen_int, space_id, H5P_DEFAULT, wbuf) < 0)
+ PART_TEST_ERROR(rw_hyperslab_selection);
+
+ memset(wbuf, 0, sizeof(hvl_t) * DATASET_VLEN_IO_DSET_DIMS);
+ memset(rbuf, 0, sizeof(hvl_t) * DATASET_VLEN_IO_DSET_DIMS);
+ }
+ PART_END(rw_hyperslab_selection);
+ }
+ END_MULTIPART;
+
+ TESTING_2("test cleanup");
+
+ if (H5Fclose(file_id) < 0)
+ TEST_ERROR;
+ if (H5Gclose(container_group) < 0)
+ TEST_ERROR;
+ if (H5Dclose(dset_int) < 0)
+ TEST_ERROR;
+ if (H5Dclose(dset_float) < 0)
+ TEST_ERROR;
+ if (H5Dclose(dset_string) < 0)
+ TEST_ERROR;
+ if (H5Sclose(space_id) < 0)
+ TEST_ERROR;
+ /* In case of memory allocation error, not all hvl_t buffers in array may be allocated.
+ * Free one-by-one */
+ for (size_t i = 0; i < DATASET_VLEN_IO_DSET_DIMS; i++) {
+ if (wbuf[i].p) {
+ free(wbuf[i].p);
+ wbuf[i].p = NULL;
+ }
+ }
+
+ for (size_t i = 0; i < DATASET_VLEN_IO_DSET_DIMS; i++) {
+ if (rbuf[i].p) {
+ free(rbuf[i].p);
+ rbuf[i].p = NULL;
+ }
+ }
+
+ if (H5Tclose(vlen_int) < 0)
+ TEST_ERROR;
+ if (H5Tclose(vlen_float) < 0)
+ TEST_ERROR;
+ if (H5Tclose(vlen_string) < 0)
+ TEST_ERROR;
+
+ PASSED();
+ return 0;
+error:
+
+ H5E_BEGIN_TRY
+ {
+ H5Fclose(file_id);
+ H5Gclose(container_group);
+ H5Dclose(dset_int);
+ H5Dclose(dset_float);
+ H5Dclose(dset_string);
+ H5Sclose(space_id);
+ for (size_t i = 0; i < DATASET_VLEN_IO_DSET_DIMS; i++) {
+ if (wbuf[i].p) {
+ free(wbuf[i].p);
+ wbuf[i].p = NULL;
+ }
+ }
+
+ for (size_t i = 0; i < DATASET_VLEN_IO_DSET_DIMS; i++) {
+ if (rbuf[i].p) {
+ free(rbuf[i].p);
+ rbuf[i].p = NULL;
+ }
+ }
+ H5Tclose(vlen_int);
+ H5Tclose(vlen_float);
+ H5Tclose(vlen_string);
+ }
+ H5E_END_TRY
+
+ return 1;
+}
+
/*
* A test to check that a chunked dataset's extent can be
* changed by using H5Dset_extent. This test uses unlimited
diff --git a/test/API/H5_api_dataset_test.h b/test/API/H5_api_dataset_test.h
index 086dc1c..12a111a 100644
--- a/test/API/H5_api_dataset_test.h
+++ b/test/API/H5_api_dataset_test.h
@@ -256,6 +256,11 @@ int H5_api_dataset_test(void);
#define DATASET_DATA_COMPOUND_PARTIAL_IO_TEST_GROUP_NAME "dataset_compound_partial_io_test"
#define DATASET_DATA_COMPOUND_PARTIAL_IO_TEST_DSET_NAME "dataset_compound_partial_io_test"
+#define DATASET_VLEN_IO_DSET_DIMS 100
+#define DATASET_VLEN_IO_DSET_NAME "vlen_dset"
+#define DATASET_VLEN_IO_STR_LEN 8
+#define DATASET_VLEN_IO_STR_VALUE "abcdefgh"
+
#define DATASET_SET_EXTENT_CHUNKED_UNLIMITED_TEST_SPACE_RANK 2
#define DATASET_SET_EXTENT_CHUNKED_UNLIMITED_TEST_NUM_PASSES 3
#define DATASET_SET_EXTENT_CHUNKED_UNLIMITED_TEST_GROUP_NAME "set_extent_chunked_unlimited_test"
diff --git a/test/API/H5_api_link_test.c b/test/API/H5_api_link_test.c
index b6ae512..e681084 100644
--- a/test/API/H5_api_link_test.c
+++ b/test/API/H5_api_link_test.c
@@ -374,6 +374,7 @@ test_create_hard_link_many(void)
hid_t file_id = H5I_INVALID_HID;
hid_t container_group = H5I_INVALID_HID;
hid_t group_id = H5I_INVALID_HID, group_id2 = H5I_INVALID_HID;
+ bool valid_name_matched = FALSE;
char objname[HARD_LINK_TEST_GROUP_MANY_NAME_BUF_SIZE]; /* Object name */
TESTING("hard link creation of many links");
@@ -505,6 +506,7 @@ test_create_hard_link_many(void)
HARD_LINK_TEST_GROUP_MANY_FINAL_NAME);
goto error;
}
+
/* Check name */
if (H5Iget_name(group_id2, objname, (size_t)HARD_LINK_TEST_GROUP_MANY_NAME_BUF_SIZE) < 0) {
H5_FAILED();
@@ -512,9 +514,23 @@ test_create_hard_link_many(void)
goto error;
}
- if (strcmp(objname, "/" LINK_TEST_GROUP_NAME "/" HARD_LINK_TEST_GROUP_MANY_NAME "/hard21")) {
+ for (size_t i = 1; (i < HARD_LINK_TEST_GROUP_MANY_NUM_HARD_LINKS + 1 && !valid_name_matched); i++) {
+ char name_possibility[H5_API_TEST_FILENAME_MAX_LENGTH];
+
+ snprintf(name_possibility, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%zu",
+ "/" LINK_TEST_GROUP_NAME "/" HARD_LINK_TEST_GROUP_MANY_NAME "/hard", i);
+
+ valid_name_matched |= !strcmp(objname, name_possibility);
+ }
+
+ valid_name_matched |= !strcmp(objname, "/" LINK_TEST_GROUP_NAME "/" HARD_LINK_TEST_GROUP_MANY_NAME
+ "/" HARD_LINK_TEST_GROUP_MANY_FINAL_NAME);
+
+ if (!valid_name_matched) {
H5_FAILED();
- printf(" wrong name of the object '%s'\n", objname);
+ printf(" H5Iget_name failed to retrieve a valid name for '%s'\n",
+ HARD_LINK_TEST_GROUP_MANY_FINAL_NAME);
+
goto error;
}
@@ -900,7 +916,8 @@ test_create_hard_link_invalid_params(void)
{
TESTING_2("H5Lcreate_hard across files");
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((ext_file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -1555,11 +1572,12 @@ error:
static int
test_create_soft_link_many(void)
{
- htri_t link_exists;
- hid_t file_id = H5I_INVALID_HID;
- hid_t container_group = H5I_INVALID_HID;
- hid_t group_id = H5I_INVALID_HID;
- hid_t object_id = H5I_INVALID_HID;
+ htri_t link_exists = FAIL;
+ bool valid_name_matched = FALSE;
+ hid_t file_id = H5I_INVALID_HID;
+ hid_t container_group = H5I_INVALID_HID;
+ hid_t group_id = H5I_INVALID_HID;
+ hid_t object_id = H5I_INVALID_HID;
char objname[SOFT_LINK_TEST_GROUP_MANY_NAME_BUF_SIZE]; /* Object name */
TESTING("soft link creation of many links");
@@ -1709,9 +1727,23 @@ test_create_soft_link_many(void)
goto error;
}
- if (strcmp(objname, "/" LINK_TEST_GROUP_NAME "/" SOFT_LINK_TEST_GROUP_MANY_NAME "/soft16")) {
+ for (size_t i = 1; (i < SOFT_LINK_TEST_GROUP_MANY_NAME_SOFT_LINK_COUNT + 1 && !valid_name_matched); i++) {
+ char name_possibility[H5_API_TEST_FILENAME_MAX_LENGTH];
+
+ snprintf(name_possibility, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%zu",
+ "/" LINK_TEST_GROUP_NAME "/" SOFT_LINK_TEST_GROUP_MANY_NAME "/soft", i);
+
+ valid_name_matched |= !strcmp(objname, name_possibility);
+ }
+
+ valid_name_matched |= !strcmp(objname, "/" LINK_TEST_GROUP_NAME "/" SOFT_LINK_TEST_GROUP_MANY_NAME
+ "/" SOFT_LINK_TEST_GROUP_MANY_FINAL_NAME);
+
+ if (!valid_name_matched) {
H5_FAILED();
- printf(" wrong name of the object '%s'\n", objname);
+ printf(" H5Iget_name failed to retrieve a valid name for '%s'\n",
+ "/" LINK_TEST_GROUP_NAME "/" SOFT_LINK_TEST_GROUP_MANY_NAME
+ "/" SOFT_LINK_TEST_GROUP_MANY_FINAL_NAME);
goto error;
}
@@ -1999,7 +2031,8 @@ test_create_external_link(void)
return 0;
}
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -2107,7 +2140,8 @@ test_create_external_link_dangling(void)
return 0;
}
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((ext_file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -2248,7 +2282,8 @@ test_create_external_link_multi(void)
{
TESTING_2("Create the first external file to be pointed to");
- snprintf(ext_link_filename1, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename1, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((file_id = H5Fcreate(ext_link_filename1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -2308,7 +2343,7 @@ test_create_external_link_multi(void)
{
TESTING_2("Create the second external file to be pointed to");
- snprintf(ext_link_filename2, H5_API_TEST_FILENAME_MAX_LENGTH, "%s",
+ snprintf(ext_link_filename2, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
EXTERNAL_LINK_TEST_FILE_NAME2);
if ((file_id = H5Fcreate(ext_link_filename2, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
@@ -2365,7 +2400,7 @@ test_create_external_link_multi(void)
{
TESTING_2("Create the third external file to be pointed to");
- snprintf(ext_link_filename3, H5_API_TEST_FILENAME_MAX_LENGTH, "%s",
+ snprintf(ext_link_filename3, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
EXTERNAL_LINK_TEST_FILE_NAME3);
if ((file_id = H5Fcreate(ext_link_filename3, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
@@ -2462,9 +2497,10 @@ test_create_external_link_multi(void)
PART_ERROR(H5Lcreate_external_final_file);
}
- if (strcmp(objname, "/A/B/C")) {
+ if (strcmp(objname, "/A/B/C") && strcmp(objname, "/D/E/F") && strcmp(objname, "/G/H/I") &&
+ strcmp(objname, "/" LINK_TEST_GROUP_NAME "/" EXTERNAL_LINK_TEST_MULTI_NAME "/ext_link")) {
H5_FAILED();
- printf(" wrong name of the object '%s'\n", objname);
+ printf(" H5Iget_name failed to retrieve a valid name for the object '%s'\n", "/A/B/C");
PART_ERROR(H5Lcreate_external_final_file);
}
@@ -2532,9 +2568,13 @@ test_create_external_link_multi(void)
PART_ERROR(H5Lcreate_external_object_created);
}
- if (strcmp(objname, "/A/B/C/new_group")) {
+ if (strcmp(objname, "/A/B/C/new_group") && strcmp(objname, "/D/E/F/new_group") &&
+ strcmp(objname, "/G/H/I/new_group") &&
+ strcmp(objname,
+ "/" LINK_TEST_GROUP_NAME "/" EXTERNAL_LINK_TEST_MULTI_NAME "/ext_link/new_group")) {
H5_FAILED();
- printf(" wrong name of the object '%s'\n", objname);
+ printf(" H5Iget_name was unable to retrieve a valid name for the object '%s'\n",
+ "/A/B/C/new_group");
PART_ERROR(H5Lcreate_external_object_created);
}
@@ -2587,9 +2627,10 @@ error:
static int
test_create_external_link_ping_pong(void)
{
- hid_t file_id = H5I_INVALID_HID;
- hid_t group_id = H5I_INVALID_HID;
- hid_t group_id2 = H5I_INVALID_HID;
+ hid_t file_id = H5I_INVALID_HID;
+ hid_t group_id = H5I_INVALID_HID;
+ hid_t group_id2 = H5I_INVALID_HID;
+ bool valid_name_matched = false;
char ext_link_filename1[H5_API_TEST_FILENAME_MAX_LENGTH];
char ext_link_filename2[H5_API_TEST_FILENAME_MAX_LENGTH];
char objname[EXTERNAL_LINK_TEST_MULTI_NAME_BUF_SIZE];
@@ -2605,8 +2646,10 @@ test_create_external_link_ping_pong(void)
return 0;
}
- snprintf(ext_link_filename1, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_PING_PONG_NAME1);
- snprintf(ext_link_filename2, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_PING_PONG_NAME2);
+ snprintf(ext_link_filename1, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_PING_PONG_NAME1);
+ snprintf(ext_link_filename2, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_PING_PONG_NAME2);
BEGIN_MULTIPART
{
@@ -2735,9 +2778,19 @@ test_create_external_link_ping_pong(void)
PART_ERROR(H5Lcreate_external_verify);
}
- if (strcmp(objname, "/final")) {
+ for (size_t i = 1; i < EXTERNAL_LINK_TEST_PING_PONG_NUM_LINKS + 1 && !valid_name_matched; i++) {
+ char name_possibility[H5_API_TEST_FILENAME_MAX_LENGTH];
+
+ snprintf(name_possibility, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%zu", "/link", i);
+
+ valid_name_matched |= !strcmp(name_possibility, objname);
+ }
+
+ valid_name_matched |= !strcmp(objname, "/final");
+
+ if (!valid_name_matched) {
H5_FAILED();
- printf(" wrong name of the object '%s'\n", objname);
+ printf(" H5Iget_name was unable to retrieve a valid name for the object '%s'\n", "/final");
PART_ERROR(H5Lcreate_external_verify);
}
@@ -2795,9 +2848,20 @@ test_create_external_link_ping_pong(void)
PART_ERROR(H5Lcreate_external_verify_again);
}
- if (strcmp(objname, "/final/new_group")) {
+ for (size_t i = 1; i < EXTERNAL_LINK_TEST_PING_PONG_NUM_LINKS + 1 && !valid_name_matched; i++) {
+ char name_possibility[H5_API_TEST_FILENAME_MAX_LENGTH];
+
+ snprintf(name_possibility, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%zu%s", "/link", i,
+ "/new_group");
+
+ valid_name_matched |= !strcmp(objname, name_possibility);
+ }
+
+ valid_name_matched |= !strcmp(objname, "/final/new_group");
+
+ if (!valid_name_matched) {
H5_FAILED();
- printf(" wrong name of the object '%s'\n", objname);
+ printf(" H5Iget_name was unable to find a valid name for '%s'\n", "/final/new_group");
PART_ERROR(H5Lcreate_external_verify_again);
}
@@ -2860,7 +2924,7 @@ test_create_external_link_invalid_params(void)
TESTING_2("test setup");
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s",
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
EXTERNAL_LINK_INVALID_PARAMS_TEST_FILE_NAME);
if ((file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
@@ -3751,7 +3815,8 @@ test_delete_link(void)
{
TESTING_2("H5Ldelete on external link");
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((ext_file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -5714,7 +5779,8 @@ test_delete_link(void)
}
/* Create file for external link to reference */
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((ext_file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -5995,7 +6061,8 @@ test_delete_link(void)
}
/* Create file for external link to reference */
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((ext_file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -6270,7 +6337,8 @@ test_delete_link(void)
TESTING_2("H5Ldelete_by_idx on external link by alphabetical order in increasing order");
/* Create file for external link to reference */
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((ext_file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -6545,7 +6613,8 @@ test_delete_link(void)
TESTING_2("H5Ldelete_by_idx on external link by alphabetical order in decreasing order");
/* Create file for external link to reference */
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((ext_file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -8253,7 +8322,8 @@ test_copy_link(void)
{
TESTING_2("H5Lcopy on external link (copied link's properties not checked)");
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((ext_file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -8361,7 +8431,8 @@ test_copy_link(void)
TESTING_2("H5Lcopy on external link (copied link's properties checked)");
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((ext_file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -8564,7 +8635,8 @@ test_copy_link(void)
{
TESTING_2("H5Lcopy on external link using H5L_SAME_LOC");
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((ext_file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -9081,7 +9153,8 @@ test_copy_link_invalid_params(void)
{
TESTING_2("H5Lcopy invalid across files");
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((ext_file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -9175,7 +9248,8 @@ test_move_link(void)
TESTING_2("test setup");
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((file_id = H5Fopen(H5_api_test_filename, H5F_ACC_RDWR, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -10056,7 +10130,8 @@ test_move_link(void)
{
TESTING_2("H5Lmove on external link (moved link's properties not checked)");
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((ext_file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -10164,7 +10239,8 @@ test_move_link(void)
TESTING_2("H5Lmove on external link (moved link's properties checked)");
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((ext_file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -10367,7 +10443,8 @@ test_move_link(void)
{
TESTING_2("H5Lmove on external link using H5L_SAME_LOC");
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((ext_file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -10505,7 +10582,8 @@ test_move_link(void)
{
TESTING_2("H5Lmove to rename external link without moving it");
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((ext_file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -11389,7 +11467,8 @@ test_move_link_invalid_params(void)
{
TESTING_2("H5Lmove into another file");
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((ext_file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -11628,7 +11707,8 @@ test_get_link_val(void)
memset(&link_info, 0, sizeof(link_info));
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((ext_file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -12526,7 +12606,8 @@ test_get_link_val(void)
PART_EMPTY(H5Lget_val_by_idx_external_crt_order_increasing);
}
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((ext_file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -12775,7 +12856,8 @@ test_get_link_val(void)
PART_EMPTY(H5Lget_val_by_idx_external_crt_order_decreasing);
}
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((ext_file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -13018,7 +13100,8 @@ test_get_link_val(void)
TESTING_2("H5Lget_val_by_idx on external link by alphabetical order in increasing order");
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((ext_file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -13261,7 +13344,8 @@ test_get_link_val(void)
TESTING_2("H5Lget_val_by_idx on external link by alphabetical order in decreasing order");
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((ext_file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -14168,7 +14252,8 @@ test_get_link_info(void)
memset(&link_info, 0, sizeof(link_info));
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((ext_file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -15733,7 +15818,8 @@ test_get_link_info(void)
PART_EMPTY(H5Lget_info_by_idx_external_crt_order_increasing);
}
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((ext_file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -15936,7 +16022,8 @@ test_get_link_info(void)
PART_EMPTY(H5Lget_info_by_idx_external_crt_order_decreasing);
}
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((ext_file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -16133,7 +16220,8 @@ test_get_link_info(void)
{
TESTING_2("H5Lget_info_by_idx2 on external link by alphabetical order in increasing order");
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((ext_file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -16336,7 +16424,8 @@ test_get_link_info(void)
{
TESTING_2("H5Lget_info_by_idx2 on external link by alphabetical order in decreasing order");
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((ext_file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -18362,7 +18451,8 @@ test_get_link_name(void)
}
/* Create file for external link to reference */
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((ext_file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -18550,7 +18640,8 @@ test_get_link_name(void)
}
/* Create file for external link to reference */
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((ext_file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -18732,7 +18823,8 @@ test_get_link_name(void)
TESTING_2("H5Lget_name_by_idx on external link by alphabetical order in increasing order");
/* Create file for external link to reference */
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((ext_file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -18914,7 +19006,8 @@ test_get_link_name(void)
TESTING_2("H5Lget_name_by_idx on external link by alphabetical order in decreasing order");
/* Create file for external link to reference */
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((ext_file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -19580,6 +19673,14 @@ test_link_iterate_hard_links(void)
{
TESTING_2("H5Literate2 by link name in increasing order");
+ if (!(vol_cap_flags_g & H5VL_CAP_FLAG_EXTERNAL_LINKS) ||
+ !(vol_cap_flags_g & H5VL_CAP_FLAG_UD_LINKS)) {
+ SKIPPED();
+ printf(" API functions for external or user-defined link aren't supported with this "
+ "connector\n");
+ PART_EMPTY(H5Literate_link_name_increasing);
+ }
+
i = 0;
/* Test basic link iteration capability using both index types and both index orders */
@@ -20215,7 +20316,8 @@ test_link_iterate_external_links(void)
TESTING_2("test setup");
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -20301,6 +20403,12 @@ test_link_iterate_external_links(void)
{
TESTING_2("H5Literate2 by link name in increasing order");
+ if (!(vol_cap_flags_g & H5VL_CAP_FLAG_EXTERNAL_LINKS)) {
+ SKIPPED();
+ printf(" external link API is not supported with this VOL connector\n");
+ PART_EMPTY(H5Literate_link_name_increasing);
+ }
+
i = 0;
/* Test basic link iteration capability using both index types and both index orders */
@@ -20325,6 +20433,12 @@ test_link_iterate_external_links(void)
{
TESTING_2("H5Literate2 by link name in decreasing order");
+ if (!(vol_cap_flags_g & H5VL_CAP_FLAG_EXTERNAL_LINKS)) {
+ SKIPPED();
+ printf(" external link API is not supported with this VOL connector\n");
+ PART_EMPTY(H5Literate_link_name_decreasing);
+ }
+
/* Reset the counter to the appropriate value for the next test */
i = LINK_ITER_EXT_LINKS_TEST_NUM_LINKS;
@@ -20349,9 +20463,11 @@ test_link_iterate_external_links(void)
{
TESTING_2("H5Literate2 by creation order in increasing order");
- if (!(vol_cap_flags_g & H5VL_CAP_FLAG_CREATION_ORDER)) {
+ if (!(vol_cap_flags_g & H5VL_CAP_FLAG_CREATION_ORDER) ||
+ !(vol_cap_flags_g & H5VL_CAP_FLAG_EXTERNAL_LINKS)) {
SKIPPED();
- printf(" creation order tracking isn't supported with this VOL connector\n");
+ printf(" creation order tracking or the external link API aren't supported with this VOL "
+ "connector\n");
PART_EMPTY(H5Literate_link_creation_increasing);
}
@@ -20379,9 +20495,11 @@ test_link_iterate_external_links(void)
{
TESTING_2("H5Literate2 by creation order in decreasing order");
- if (!(vol_cap_flags_g & H5VL_CAP_FLAG_CREATION_ORDER)) {
+ if (!(vol_cap_flags_g & H5VL_CAP_FLAG_CREATION_ORDER) ||
+ !(vol_cap_flags_g & H5VL_CAP_FLAG_EXTERNAL_LINKS)) {
SKIPPED();
- printf(" creation order tracking isn't supported with this VOL connector\n");
+ printf(" creation order tracking or the external link API aren't supported with this VOL "
+ "connector\n");
PART_EMPTY(H5Literate_link_creation_decreasing);
}
@@ -20409,6 +20527,12 @@ test_link_iterate_external_links(void)
{
TESTING_2("H5Literate_by_name2 by link name in increasing order");
+ if (!(vol_cap_flags_g & H5VL_CAP_FLAG_EXTERNAL_LINKS)) {
+ SKIPPED();
+ printf(" the external link API is not supported with this VOL connector\n");
+ PART_EMPTY(H5Literate_by_name_link_name_increasing);
+ }
+
/* Reset the counter to the appropriate value for the next test */
i = 0;
@@ -20434,6 +20558,13 @@ test_link_iterate_external_links(void)
{
TESTING_2("H5Literate_by_name2 by link name in decreasing order");
+ if (!(vol_cap_flags_g & H5VL_CAP_FLAG_EXTERNAL_LINKS)) {
+ SKIPPED();
+ printf(" creation order tracking or the external link API aren't supported with this VOL "
+ "connector\n");
+ PART_EMPTY(H5Literate_by_name_creation_decreasing);
+ }
+
/* Reset the counter to the appropriate value for the next test */
i = LINK_ITER_EXT_LINKS_TEST_NUM_LINKS;
@@ -20459,9 +20590,11 @@ test_link_iterate_external_links(void)
{
TESTING_2("H5Literate_by_name2 by creation order in increasing order");
- if (!(vol_cap_flags_g & H5VL_CAP_FLAG_CREATION_ORDER)) {
+ if (!(vol_cap_flags_g & H5VL_CAP_FLAG_CREATION_ORDER) ||
+ !(vol_cap_flags_g & H5VL_CAP_FLAG_EXTERNAL_LINKS)) {
SKIPPED();
- printf(" creation order tracking isn't supported with this VOL connector\n");
+ printf(" creation order tracking or the external link API aren't supported with this VOL "
+ "connector\n");
PART_EMPTY(H5Literate_by_name_creation_increasing);
}
@@ -20491,9 +20624,11 @@ test_link_iterate_external_links(void)
{
TESTING_2("H5Literate_by_name2 by creation order in decreasing order");
- if (!(vol_cap_flags_g & H5VL_CAP_FLAG_CREATION_ORDER)) {
+ if (!(vol_cap_flags_g & H5VL_CAP_FLAG_CREATION_ORDER) ||
+ !(vol_cap_flags_g & H5VL_CAP_FLAG_EXTERNAL_LINKS)) {
SKIPPED();
- printf(" creation order tracking isn't supported with this VOL connector\n");
+ printf(" creation order tracking or the external link API are not supported with this VOL "
+ "connector\n");
PART_EMPTY(H5Literate_by_name_creation_decreasing);
}
@@ -20612,7 +20747,8 @@ test_link_iterate_mixed_links(void)
TESTING_2("test setup");
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -20737,6 +20873,14 @@ test_link_iterate_mixed_links(void)
{
TESTING_2("H5Literate2 by link name in increasing order");
+ if (!(vol_cap_flags_g & H5VL_CAP_FLAG_EXTERNAL_LINKS) ||
+ !(vol_cap_flags_g & H5VL_CAP_FLAG_UD_LINKS)) {
+ SKIPPED();
+ printf(" creation order tracking, external links, or user-defined links aren't supported "
+ "with this VOL connector\n");
+ PART_EMPTY(H5Literate_link_name_increasing);
+ }
+
i = 0;
/* Test basic link iteration capability using both index types and both index orders */
@@ -20760,6 +20904,14 @@ test_link_iterate_mixed_links(void)
{
TESTING_2("H5Literate2 by link name in decreasing order");
+ if (!(vol_cap_flags_g & H5VL_CAP_FLAG_EXTERNAL_LINKS) ||
+ !(vol_cap_flags_g & H5VL_CAP_FLAG_UD_LINKS)) {
+ SKIPPED();
+ printf(" creation order tracking, external links, or user-defined links aren't supported "
+ "with this VOL connector\n");
+ PART_EMPTY(H5Literate_link_name_decreasing);
+ }
+
/* Reset the counter to the appropriate value for the next test */
i = LINK_ITER_MIXED_LINKS_TEST_NUM_LINKS;
@@ -20783,9 +20935,12 @@ test_link_iterate_mixed_links(void)
{
TESTING_2("H5Literate2 by creation order in increasing order");
- if (!(vol_cap_flags_g & H5VL_CAP_FLAG_CREATION_ORDER)) {
+ if (!(vol_cap_flags_g & H5VL_CAP_FLAG_CREATION_ORDER) ||
+ !(vol_cap_flags_g & H5VL_CAP_FLAG_EXTERNAL_LINKS) ||
+ !(vol_cap_flags_g & H5VL_CAP_FLAG_UD_LINKS)) {
SKIPPED();
- printf(" creation order tracking isn't supported with this VOL connector\n");
+ printf(" creation order tracking, external links, or user-defined links aren't supported "
+ "with this VOL connector\n");
PART_EMPTY(H5Literate_link_creation_increasing);
}
@@ -20813,9 +20968,12 @@ test_link_iterate_mixed_links(void)
{
TESTING_2("H5Literate2 by creation order in decreasing order");
- if (!(vol_cap_flags_g & H5VL_CAP_FLAG_CREATION_ORDER)) {
+ if (!(vol_cap_flags_g & H5VL_CAP_FLAG_CREATION_ORDER) ||
+ !(vol_cap_flags_g & H5VL_CAP_FLAG_EXTERNAL_LINKS) ||
+ !(vol_cap_flags_g & H5VL_CAP_FLAG_UD_LINKS)) {
SKIPPED();
- printf(" creation order tracking isn't supported with this VOL connector\n");
+ printf(" creation order tracking, external links, or user-defined links aren't supported "
+ "with this VOL connector\n");
PART_EMPTY(H5Literate_link_creation_decreasing);
}
@@ -20843,6 +21001,13 @@ test_link_iterate_mixed_links(void)
{
TESTING_2("H5Literate_by_name2 by link name in increasing order");
+ if (!(vol_cap_flags_g & H5VL_CAP_FLAG_EXTERNAL_LINKS) ||
+ !(vol_cap_flags_g & H5VL_CAP_FLAG_UD_LINKS)) {
+ SKIPPED();
+ printf(" external links or user-defined links aren't supported with this VOL connector\n");
+ PART_EMPTY(H5Literate_by_name_link_name_increasing);
+ }
+
i = 0;
if (H5Literate_by_name2(
@@ -20867,6 +21032,13 @@ test_link_iterate_mixed_links(void)
{
TESTING_2("H5Literate_by_name2 by link name in decreasing order");
+ if (!(vol_cap_flags_g & H5VL_CAP_FLAG_EXTERNAL_LINKS) ||
+ !(vol_cap_flags_g & H5VL_CAP_FLAG_UD_LINKS)) {
+ SKIPPED();
+ printf(" external links or user-defined links aren't supported with this VOL connector\n");
+ PART_EMPTY(H5Literate_by_name_link_name_decreasing);
+ }
+
/* Reset the counter to the appropriate value for the next test */
i = LINK_ITER_MIXED_LINKS_TEST_NUM_LINKS;
@@ -20892,9 +21064,12 @@ test_link_iterate_mixed_links(void)
{
TESTING_2("H5Literate_by_name2 by creation order in increasing order");
- if (!(vol_cap_flags_g & H5VL_CAP_FLAG_CREATION_ORDER)) {
+ if (!(vol_cap_flags_g & H5VL_CAP_FLAG_CREATION_ORDER) ||
+ !(vol_cap_flags_g & H5VL_CAP_FLAG_EXTERNAL_LINKS) ||
+ !(vol_cap_flags_g & H5VL_CAP_FLAG_UD_LINKS)) {
SKIPPED();
- printf(" creation order tracking isn't supported with this VOL connector\n");
+ printf(" creation order tracking, external links, or user-defined links aren't supported "
+ "with this VOL connector\n");
PART_EMPTY(H5Literate_by_name_creation_increasing);
}
@@ -20923,9 +21098,12 @@ test_link_iterate_mixed_links(void)
{
TESTING_2("H5Literate_by_name2 by creation order in decreasing order");
- if (!(vol_cap_flags_g & H5VL_CAP_FLAG_CREATION_ORDER)) {
+ if (!(vol_cap_flags_g & H5VL_CAP_FLAG_CREATION_ORDER) ||
+ !(vol_cap_flags_g & H5VL_CAP_FLAG_EXTERNAL_LINKS) ||
+ !(vol_cap_flags_g & H5VL_CAP_FLAG_UD_LINKS)) {
SKIPPED();
- printf(" creation order tracking isn't supported with this VOL connector\n");
+ printf(" creation order tracking, external links, or user-defined links aren't supported "
+ "with this VOL connector\n");
PART_EMPTY(H5Literate_by_name_creation_decreasing);
}
@@ -20954,9 +21132,12 @@ test_link_iterate_mixed_links(void)
{
TESTING_2("H5Literate2 index-saving capabilities in increasing order");
- if (!(vol_cap_flags_g & H5VL_CAP_FLAG_CREATION_ORDER)) {
+ if (!(vol_cap_flags_g & H5VL_CAP_FLAG_CREATION_ORDER) ||
+ !(vol_cap_flags_g & H5VL_CAP_FLAG_EXTERNAL_LINKS) ||
+ !(vol_cap_flags_g & H5VL_CAP_FLAG_UD_LINKS)) {
SKIPPED();
- printf(" creation order tracking isn't supported with this VOL connector\n");
+ printf(" creation order tracking, external links, or user-defined links aren't supported "
+ "with this VOL connector\n");
PART_EMPTY(H5Literate_index_saving_increasing);
}
@@ -20992,9 +21173,12 @@ test_link_iterate_mixed_links(void)
{
TESTING_2("H5Literate2 index-saving capabilities in decreasing order");
- if (!(vol_cap_flags_g & H5VL_CAP_FLAG_CREATION_ORDER)) {
+ if (!(vol_cap_flags_g & H5VL_CAP_FLAG_CREATION_ORDER) ||
+ !(vol_cap_flags_g & H5VL_CAP_FLAG_EXTERNAL_LINKS) ||
+ !(vol_cap_flags_g & H5VL_CAP_FLAG_UD_LINKS)) {
SKIPPED();
- printf(" creation order tracking isn't supported with this VOL connector\n");
+ printf(" creation order tracking, external links, or user-defined links aren't supported "
+ "with this VOL connector\n");
PART_EMPTY(H5Literate_index_saving_decreasing);
}
@@ -21098,7 +21282,8 @@ test_link_iterate_invalid_params(void)
TESTING_2("test setup");
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -22525,7 +22710,8 @@ test_link_visit_external_links_no_cycles(void)
TESTING_2("test setup");
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -22953,7 +23139,8 @@ test_link_visit_mixed_links_no_cycles(void)
TESTING_2("test setup");
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -24593,7 +24780,8 @@ test_link_visit_mixed_links_cycles(void)
TESTING_2("test setup");
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -25030,7 +25218,8 @@ test_link_visit_invalid_params(void)
TESTING_2("test setup");
- snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s", EXTERNAL_LINK_TEST_FILE_NAME);
+ snprintf(ext_link_filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
+ EXTERNAL_LINK_TEST_FILE_NAME);
if ((file_id = H5Fcreate(ext_link_filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
H5_FAILED();
@@ -25829,7 +26018,6 @@ link_iter_external_links_cb(hid_t group_id, const char *name, const H5L_info2_t
herr_t ret_val = H5_ITER_CONT;
if (!(vol_cap_flags_g & H5VL_CAP_FLAG_EXTERNAL_LINKS)) {
- SKIPPED();
printf(" API functions for external links aren't supported with this "
"connector\n");
return 1;
@@ -25894,7 +26082,6 @@ link_iter_mixed_links_cb(hid_t group_id, const char *name, const H5L_info2_t *in
herr_t ret_val = 0;
if (!(vol_cap_flags_g & H5VL_CAP_FLAG_EXTERNAL_LINKS) || !(vol_cap_flags_g & H5VL_CAP_FLAG_UD_LINKS)) {
- SKIPPED();
printf(" API functions for external or user-defined link aren't supported with this "
"connector\n");
return 1;
@@ -25983,7 +26170,6 @@ link_iter_idx_saving_cb(hid_t group_id, const char *name, const H5L_info2_t *inf
int *broken = (int *)op_data;
if (!(vol_cap_flags_g & H5VL_CAP_FLAG_EXTERNAL_LINKS) || !(vol_cap_flags_g & H5VL_CAP_FLAG_UD_LINKS)) {
- SKIPPED();
printf(" API functions for external or user-defined link aren't supported with this "
"connector\n");
return 1;
diff --git a/test/API/H5_api_link_test.h b/test/API/H5_api_link_test.h
index c068f4f..02514cd 100644
--- a/test/API/H5_api_link_test.h
+++ b/test/API/H5_api_link_test.h
@@ -29,9 +29,10 @@ int H5_api_link_test(void);
#define HARD_LINK_TEST_GROUP_LONG_NAME "hard_link_long_name"
#define MAX_NAME_LEN ((64 * 1024) + 1024)
-#define HARD_LINK_TEST_GROUP_MANY_NAME "hard_link_many_name"
-#define HARD_LINK_TEST_GROUP_MANY_FINAL_NAME "hard_link_final"
-#define HARD_LINK_TEST_GROUP_MANY_NAME_BUF_SIZE 1024
+#define HARD_LINK_TEST_GROUP_MANY_NAME "hard_link_many_name"
+#define HARD_LINK_TEST_GROUP_MANY_FINAL_NAME "hard_link_final"
+#define HARD_LINK_TEST_GROUP_MANY_NAME_BUF_SIZE 1024
+#define HARD_LINK_TEST_GROUP_MANY_NUM_HARD_LINKS 21
#define H5L_SAME_LOC_TEST_GROUP_NAME "h5l_same_loc_test_group"
#define H5L_SAME_LOC_TEST_LINK_NAME1 "h5l_same_loc_test_link1"
@@ -58,9 +59,10 @@ int H5_api_link_test(void);
#define SOFT_LINK_TEST_GROUP_LONG_NAME "soft_link_long_name"
#define SOFT_LINK_TEST_LONG_OBJECT_NAME "soft_link_object_name"
-#define SOFT_LINK_TEST_GROUP_MANY_NAME "soft_link_many_name"
-#define SOFT_LINK_TEST_GROUP_MANY_FINAL_NAME "soft_link_final"
-#define SOFT_LINK_TEST_GROUP_MANY_NAME_BUF_SIZE 1024
+#define SOFT_LINK_TEST_GROUP_MANY_NAME "soft_link_many_name"
+#define SOFT_LINK_TEST_GROUP_MANY_FINAL_NAME "soft_link_final"
+#define SOFT_LINK_TEST_GROUP_MANY_NAME_BUF_SIZE 1024
+#define SOFT_LINK_TEST_GROUP_MANY_NAME_SOFT_LINK_COUNT 16
#define SOFT_LINK_INVALID_PARAMS_TEST_GROUP_NAME "soft_link_creation_invalid_params_test"
#define SOFT_LINK_INVALID_PARAMS_TEST_LINK_NAME "soft_link_to_root"
@@ -82,6 +84,7 @@ int H5_api_link_test(void);
#define EXTERNAL_LINK_TEST_PING_PONG_NAME1 "ext_link_file_ping_pong_1.h5"
#define EXTERNAL_LINK_TEST_PING_PONG_NAME2 "ext_link_file_ping_pong_2.h5"
#define EXTERNAL_LINK_TEST_PING_PONG_NAME_BUF_SIZE 1024
+#define EXTERNAL_LINK_TEST_PING_PONG_NUM_LINKS 6
#define EXTERNAL_LINK_INVALID_PARAMS_TEST_GROUP_NAME "external_link_creation_invalid_params_test"
#define EXTERNAL_LINK_INVALID_PARAMS_TEST_FILE_NAME "ext_link_invalid_params_file.h5"
diff --git a/test/cache.c b/test/cache.c
index 4e62886..09d6a1f 100644
--- a/test/cache.c
+++ b/test/cache.c
@@ -2779,16 +2779,14 @@ check_insert_entry(unsigned paged)
if (pass) {
insert_entry(file_ptr, entry_type, 0, H5C__NO_FLAGS_SET);
- insert_entry(file_ptr, entry_type, 1, H5C__SET_FLUSH_MARKER_FLAG);
- insert_entry(file_ptr, entry_type, 2, H5C__PIN_ENTRY_FLAG);
- insert_entry(file_ptr, entry_type, 3, (H5C__SET_FLUSH_MARKER_FLAG | H5C__PIN_ENTRY_FLAG));
+ insert_entry(file_ptr, entry_type, 1, H5C__PIN_ENTRY_FLAG);
}
/* Verify that the entries are inserted as desired. */
i = 0;
base_addr = entries[0];
- while (pass && (i < 4)) {
+ while (pass && (i < 2)) {
entry_ptr = &(base_addr[i]);
/* Start by checking everything we can via H5C_get_entry_status() */
@@ -2815,7 +2813,7 @@ check_insert_entry(unsigned paged)
if (pass) {
/* verify that the pinned flag got set correctly */
- if ((i == 2) || (i == 3)) {
+ if (i == 1) {
if (!is_pinned) {
@@ -2841,24 +2839,6 @@ check_insert_entry(unsigned paged)
if (pass) {
- /* Verify that the flush marker got set correctly */
- if ((i == 1) || (i == 3)) {
-
- if (!((entry_ptr->header).flush_marker)) {
-
- pass = false;
- failure_mssg = "Unexpected insert results 5.";
- }
- }
- else if ((entry_ptr->header).flush_marker) {
-
- pass = false;
- failure_mssg = "Unexpected insert results 6.";
- }
- }
-
- if (pass) {
-
/* Verify that pinned entries are in the pinned entry list */
if ((entry_ptr->header).is_pinned) {
@@ -2927,15 +2907,15 @@ check_insert_entry(unsigned paged)
if (pass) {
- if ((cache_ptr->index_len != 4) || (cache_ptr->index_size != 4 * entry_sizes[entry_type]) ||
+ if ((cache_ptr->index_len != 2) || (cache_ptr->index_size != 2 * entry_sizes[entry_type]) ||
((cache_ptr->slist_enabled) &&
- ((cache_ptr->slist_len != 4) || (cache_ptr->slist_size != 4 * entry_sizes[entry_type]))) ||
- (cache_ptr->pl_len != 0) || (cache_ptr->pl_size != (size_t)0) || (cache_ptr->pel_len != 2) ||
- (cache_ptr->pel_size != 2 * entry_sizes[entry_type]) || (cache_ptr->LRU_list_len != 2) ||
- (cache_ptr->LRU_list_size != 2 * entry_sizes[entry_type])
+ ((cache_ptr->slist_len != 2) || (cache_ptr->slist_size != 2 * entry_sizes[entry_type]))) ||
+ (cache_ptr->pl_len != 0) || (cache_ptr->pl_size != (size_t)0) || (cache_ptr->pel_len != 1) ||
+ (cache_ptr->pel_size != 1 * entry_sizes[entry_type]) || (cache_ptr->LRU_list_len != 1) ||
+ (cache_ptr->LRU_list_size != 1 * entry_sizes[entry_type])
#if H5C_MAINTAIN_CLEAN_AND_DIRTY_LRU_LISTS
- || (cache_ptr->dLRU_list_len != 2) ||
- (cache_ptr->dLRU_list_size != 2 * entry_sizes[entry_type]) || (cache_ptr->cLRU_list_len != 0) ||
+ || (cache_ptr->dLRU_list_len != 1) ||
+ (cache_ptr->dLRU_list_size != 1 * entry_sizes[entry_type]) || (cache_ptr->cLRU_list_len != 0) ||
(cache_ptr->cLRU_list_size != (size_t)0)
#endif /* H5C_MAINTAIN_CLEAN_AND_DIRTY_LRU_LISTS */
) {
@@ -2951,14 +2931,12 @@ check_insert_entry(unsigned paged)
#if H5C_COLLECT_CACHE_STATS
if (pass) {
- if ((cache_ptr->insertions[entry_type] != 4) || (cache_ptr->pinned_insertions[entry_type] != 2) ||
- (cache_ptr->pins[entry_type] != 2) || (cache_ptr->unpins[entry_type] != 0) ||
- (cache_ptr->dirty_pins[entry_type] != 0) || (cache_ptr->max_index_len != 4) ||
- (cache_ptr->max_index_size != 4 * entry_sizes[entry_type]) ||
- ((cache_ptr->slist_enabled) &&
- ((cache_ptr->slist_len != 4) || (cache_ptr->slist_size != 4 * entry_sizes[entry_type]))) ||
- (cache_ptr->max_pl_len != 0) || (cache_ptr->max_pl_size != (size_t)0) ||
- (cache_ptr->max_pel_len != 2) || (cache_ptr->max_pel_size != 2 * entry_sizes[entry_type])) {
+ if ((cache_ptr->insertions[entry_type] != 2) || (cache_ptr->pinned_insertions[entry_type] != 1) ||
+ (cache_ptr->pins[entry_type] != 1) || (cache_ptr->unpins[entry_type] != 0) ||
+ (cache_ptr->dirty_pins[entry_type] != 0) || (cache_ptr->max_index_len != 2) ||
+ (cache_ptr->max_index_size != 2 * entry_sizes[entry_type]) || (cache_ptr->max_pl_len != 0) ||
+ (cache_ptr->max_pl_size != (size_t)0) || (cache_ptr->max_pel_len != 1) ||
+ (cache_ptr->max_pel_size != 1 * entry_sizes[entry_type])) {
pass = false;
failure_mssg = "Unexpected insert results 11.";
@@ -2970,8 +2948,7 @@ check_insert_entry(unsigned paged)
if (pass) {
- unpin_entry(entry_type, 2);
- unpin_entry(entry_type, 3);
+ unpin_entry(entry_type, 1);
}
if (pass) {
@@ -3130,12 +3107,6 @@ check_flush_cache__empty_cache(H5F_t *file_ptr)
"flush with flags = 0x08 failed on empty cache.\n")
}
- if (pass) {
-
- H5C_FLUSH_CACHE(file_ptr, H5C__FLUSH_MARKED_ENTRIES_FLAG,
- "flush with flags = 0x10 failed on empty cache.\n")
- }
-
} /* check_flush_cache__empty_cache() */
/*-------------------------------------------------------------------------
@@ -3169,71 +3140,70 @@ check_flush_cache__multi_entry(H5F_t *file_ptr)
int test_num = 1;
unsigned int flush_flags = H5C__NO_FLAGS_SET;
unsigned int spec_size = 8;
- struct flush_cache_test_spec spec[8] = {
- {/* entry_num = */ 0,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 100,
- /* insert_flag = */ false,
- /* flags = */ H5C__NO_FLAGS_SET,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 1,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 75,
- /* insert_flag = */ false,
- /* flags = */ H5C__DIRTIED_FLAG,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 2,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 25,
- /* insert_flag = */ true,
- /* flags = */ H5C__NO_FLAGS_SET,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 3,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 50,
- /* insert_flag = */ true,
- /* flags = */ H5C__NO_FLAGS_SET,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 4,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 10,
- /* insert_flag = */ false,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 5,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 20,
- /* insert_flag = */ false,
- /* flags = */ H5C__DIRTIED_FLAG | H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 6,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 30,
- /* insert_flag = */ true,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 7,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 40,
- /* insert_flag = */ true,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ false}};
+ struct flush_cache_test_spec spec[8] = {{/* entry_num = */ 0,
+ /* entry_type = */ PICO_ENTRY_TYPE,
+ /* entry_index = */ 100,
+ /* insert_flag = */ false,
+ /* flags = */ H5C__NO_FLAGS_SET,
+ /* expected_deserialized = */ true,
+ /* expected_serialized = */ false,
+ /* expected_destroyed = */ false},
+ {/* entry_num = */ 1,
+ /* entry_type = */ PICO_ENTRY_TYPE,
+ /* entry_index = */ 75,
+ /* insert_flag = */ false,
+ /* flags = */ H5C__DIRTIED_FLAG,
+ /* expected_deserialized = */ true,
+ /* expected_serialized = */ true,
+ /* expected_destroyed = */ false},
+ {/* entry_num = */ 2,
+ /* entry_type = */ PICO_ENTRY_TYPE,
+ /* entry_index = */ 25,
+ /* insert_flag = */ true,
+ /* flags = */ H5C__NO_FLAGS_SET,
+ /* expected_deserialized = */ false,
+ /* expected_serialized = */ true,
+ /* expected_destroyed = */ false},
+ {/* entry_num = */ 3,
+ /* entry_type = */ PICO_ENTRY_TYPE,
+ /* entry_index = */ 50,
+ /* insert_flag = */ true,
+ /* flags = */ H5C__NO_FLAGS_SET,
+ /* expected_deserialized = */ false,
+ /* expected_serialized = */ true,
+ /* expected_destroyed = */ false},
+ {/* entry_num = */ 4,
+ /* entry_type = */ MONSTER_ENTRY_TYPE,
+ /* entry_index = */ 10,
+ /* insert_flag = */ false,
+ /* flags = */ H5C__NO_FLAGS_SET,
+ /* expected_deserialized = */ true,
+ /* expected_serialized = */ false,
+ /* expected_destroyed = */ false},
+ {/* entry_num = */ 5,
+ /* entry_type = */ MONSTER_ENTRY_TYPE,
+ /* entry_index = */ 20,
+ /* insert_flag = */ false,
+ /* flags = */ H5C__DIRTIED_FLAG,
+ /* expected_deserialized = */ true,
+ /* expected_serialized = */ true,
+ /* expected_destroyed = */ false},
+ {/* entry_num = */ 6,
+ /* entry_type = */ MONSTER_ENTRY_TYPE,
+ /* entry_index = */ 30,
+ /* insert_flag = */ true,
+ /* flags = */ H5C__NO_FLAGS_SET,
+ /* expected_deserialized = */ false,
+ /* expected_serialized = */ true,
+ /* expected_destroyed = */ false},
+ {/* entry_num = */ 7,
+ /* entry_type = */ MONSTER_ENTRY_TYPE,
+ /* entry_index = */ 40,
+ /* insert_flag = */ true,
+ /* flags = */ H5C__NO_FLAGS_SET,
+ /* expected_deserialized = */ false,
+ /* expected_serialized = */ true,
+ /* expected_destroyed = */ false}};
check_flush_cache__multi_entry_test(file_ptr, test_num, flush_flags, spec_size, spec);
}
@@ -3242,71 +3212,70 @@ check_flush_cache__multi_entry(H5F_t *file_ptr)
int test_num = 2;
unsigned int flush_flags = H5C__FLUSH_INVALIDATE_FLAG;
unsigned int spec_size = 8;
- struct flush_cache_test_spec spec[8] = {
- {/* entry_num = */ 0,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 100,
- /* insert_flag = */ false,
- /* flags = */ H5C__NO_FLAGS_SET,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 1,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 75,
- /* insert_flag = */ false,
- /* flags = */ H5C__DIRTIED_FLAG,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 2,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 25,
- /* insert_flag = */ true,
- /* flags = */ H5C__NO_FLAGS_SET,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 3,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 50,
- /* insert_flag = */ true,
- /* flags = */ H5C__NO_FLAGS_SET,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 4,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 10,
- /* insert_flag = */ false,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 5,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 20,
- /* insert_flag = */ false,
- /* flags = */ H5C__DIRTIED_FLAG | H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 6,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 30,
- /* insert_flag = */ true,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 7,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 40,
- /* insert_flag = */ true,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ true}};
+ struct flush_cache_test_spec spec[8] = {{/* entry_num = */ 0,
+ /* entry_type = */ PICO_ENTRY_TYPE,
+ /* entry_index = */ 100,
+ /* insert_flag = */ false,
+ /* flags = */ H5C__NO_FLAGS_SET,
+ /* expected_deserialized = */ true,
+ /* expected_serialized = */ false,
+ /* expected_destroyed = */ true},
+ {/* entry_num = */ 1,
+ /* entry_type = */ PICO_ENTRY_TYPE,
+ /* entry_index = */ 75,
+ /* insert_flag = */ false,
+ /* flags = */ H5C__DIRTIED_FLAG,
+ /* expected_deserialized = */ true,
+ /* expected_serialized = */ true,
+ /* expected_destroyed = */ true},
+ {/* entry_num = */ 2,
+ /* entry_type = */ PICO_ENTRY_TYPE,
+ /* entry_index = */ 25,
+ /* insert_flag = */ true,
+ /* flags = */ H5C__NO_FLAGS_SET,
+ /* expected_deserialized = */ false,
+ /* expected_serialized = */ true,
+ /* expected_destroyed = */ true},
+ {/* entry_num = */ 3,
+ /* entry_type = */ PICO_ENTRY_TYPE,
+ /* entry_index = */ 50,
+ /* insert_flag = */ true,
+ /* flags = */ H5C__NO_FLAGS_SET,
+ /* expected_deserialized = */ false,
+ /* expected_serialized = */ true,
+ /* expected_destroyed = */ true},
+ {/* entry_num = */ 4,
+ /* entry_type = */ MONSTER_ENTRY_TYPE,
+ /* entry_index = */ 10,
+ /* insert_flag = */ false,
+ /* flags = */ H5C__NO_FLAGS_SET,
+ /* expected_deserialized = */ true,
+ /* expected_serialized = */ false,
+ /* expected_destroyed = */ true},
+ {/* entry_num = */ 5,
+ /* entry_type = */ MONSTER_ENTRY_TYPE,
+ /* entry_index = */ 20,
+ /* insert_flag = */ false,
+ /* flags = */ H5C__DIRTIED_FLAG,
+ /* expected_deserialized = */ true,
+ /* expected_serialized = */ true,
+ /* expected_destroyed = */ true},
+ {/* entry_num = */ 6,
+ /* entry_type = */ MONSTER_ENTRY_TYPE,
+ /* entry_index = */ 30,
+ /* insert_flag = */ true,
+ /* flags = */ H5C__NO_FLAGS_SET,
+ /* expected_deserialized = */ false,
+ /* expected_serialized = */ true,
+ /* expected_destroyed = */ true},
+ {/* entry_num = */ 7,
+ /* entry_type = */ MONSTER_ENTRY_TYPE,
+ /* entry_index = */ 40,
+ /* insert_flag = */ true,
+ /* flags = */ H5C__NO_FLAGS_SET,
+ /* expected_deserialized = */ false,
+ /* expected_serialized = */ true,
+ /* expected_destroyed = */ true}};
check_flush_cache__multi_entry_test(file_ptr, test_num, flush_flags, spec_size, spec);
}
@@ -3315,512 +3284,215 @@ check_flush_cache__multi_entry(H5F_t *file_ptr)
int test_num = 3;
unsigned int flush_flags = H5C__FLUSH_CLEAR_ONLY_FLAG;
unsigned int spec_size = 8;
- struct flush_cache_test_spec spec[8] = {
- {/* entry_num = */ 0,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 100,
- /* insert_flag = */ false,
- /* flags = */ H5C__NO_FLAGS_SET,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 1,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 75,
- /* insert_flag = */ false,
- /* flags = */ H5C__DIRTIED_FLAG,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 2,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 25,
- /* insert_flag = */ true,
- /* flags = */ H5C__NO_FLAGS_SET,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 3,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 50,
- /* insert_flag = */ true,
- /* flags = */ H5C__NO_FLAGS_SET,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 4,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 10,
- /* insert_flag = */ false,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 5,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 20,
- /* insert_flag = */ false,
- /* flags = */ H5C__DIRTIED_FLAG | H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 6,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 30,
- /* insert_flag = */ true,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 7,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 40,
- /* insert_flag = */ true,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ false}};
+ struct flush_cache_test_spec spec[8] = {{/* entry_num = */ 0,
+ /* entry_type = */ PICO_ENTRY_TYPE,
+ /* entry_index = */ 100,
+ /* insert_flag = */ false,
+ /* flags = */ H5C__NO_FLAGS_SET,
+ /* expected_deserialized = */ true,
+ /* expected_serialized = */ false,
+ /* expected_destroyed = */ false},
+ {/* entry_num = */ 1,
+ /* entry_type = */ PICO_ENTRY_TYPE,
+ /* entry_index = */ 75,
+ /* insert_flag = */ false,
+ /* flags = */ H5C__DIRTIED_FLAG,
+ /* expected_deserialized = */ true,
+ /* expected_serialized = */ false,
+ /* expected_destroyed = */ false},
+ {/* entry_num = */ 2,
+ /* entry_type = */ PICO_ENTRY_TYPE,
+ /* entry_index = */ 25,
+ /* insert_flag = */ true,
+ /* flags = */ H5C__NO_FLAGS_SET,
+ /* expected_deserialized = */ false,
+ /* expected_serialized = */ false,
+ /* expected_destroyed = */ false},
+ {/* entry_num = */ 3,
+ /* entry_type = */ PICO_ENTRY_TYPE,
+ /* entry_index = */ 50,
+ /* insert_flag = */ true,
+ /* flags = */ H5C__NO_FLAGS_SET,
+ /* expected_deserialized = */ false,
+ /* expected_serialized = */ false,
+ /* expected_destroyed = */ false},
+ {/* entry_num = */ 4,
+ /* entry_type = */ MONSTER_ENTRY_TYPE,
+ /* entry_index = */ 10,
+ /* insert_flag = */ false,
+ /* flags = */ H5C__NO_FLAGS_SET,
+ /* expected_deserialized = */ true,
+ /* expected_serialized = */ false,
+ /* expected_destroyed = */ false},
+ {/* entry_num = */ 5,
+ /* entry_type = */ MONSTER_ENTRY_TYPE,
+ /* entry_index = */ 20,
+ /* insert_flag = */ false,
+ /* flags = */ H5C__DIRTIED_FLAG,
+ /* expected_deserialized = */ true,
+ /* expected_serialized = */ false,
+ /* expected_destroyed = */ false},
+ {/* entry_num = */ 6,
+ /* entry_type = */ MONSTER_ENTRY_TYPE,
+ /* entry_index = */ 30,
+ /* insert_flag = */ true,
+ /* flags = */ H5C__NO_FLAGS_SET,
+ /* expected_deserialized = */ false,
+ /* expected_serialized = */ false,
+ /* expected_destroyed = */ false},
+ {/* entry_num = */ 7,
+ /* entry_type = */ MONSTER_ENTRY_TYPE,
+ /* entry_index = */ 40,
+ /* insert_flag = */ true,
+ /* flags = */ H5C__NO_FLAGS_SET,
+ /* expected_deserialized = */ false,
+ /* expected_serialized = */ false,
+ /* expected_destroyed = */ false}};
check_flush_cache__multi_entry_test(file_ptr, test_num, flush_flags, spec_size, spec);
}
if (pass) {
int test_num = 4;
- unsigned int flush_flags = H5C__FLUSH_MARKED_ENTRIES_FLAG;
- unsigned int spec_size = 8;
- struct flush_cache_test_spec spec[8] = {
- {/* entry_num = */ 0,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 100,
- /* insert_flag = */ false,
- /* flags = */ H5C__NO_FLAGS_SET,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 1,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 75,
- /* insert_flag = */ false,
- /* flags = */ H5C__DIRTIED_FLAG,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 2,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 25,
- /* insert_flag = */ true,
- /* flags = */ H5C__NO_FLAGS_SET,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 3,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 50,
- /* insert_flag = */ true,
- /* flags = */ H5C__NO_FLAGS_SET,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 4,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 10,
- /* insert_flag = */ false,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 5,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 20,
- /* insert_flag = */ false,
- /* flags = */ H5C__DIRTIED_FLAG | H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 6,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 30,
- /* insert_flag = */ true,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 7,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 40,
- /* insert_flag = */ true,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ false}};
-
- check_flush_cache__multi_entry_test(file_ptr, test_num, flush_flags, spec_size, spec);
- }
-
- if (pass) {
- int test_num = 5;
unsigned int flush_flags = H5C__FLUSH_INVALIDATE_FLAG | H5C__FLUSH_CLEAR_ONLY_FLAG;
unsigned int spec_size = 8;
- struct flush_cache_test_spec spec[8] = {
- {/* entry_num = */ 0,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 100,
- /* insert_flag = */ false,
- /* flags = */ H5C__NO_FLAGS_SET,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 1,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 75,
- /* insert_flag = */ false,
- /* flags = */ H5C__DIRTIED_FLAG,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 2,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 25,
- /* insert_flag = */ true,
- /* flags = */ H5C__NO_FLAGS_SET,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 3,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 50,
- /* insert_flag = */ true,
- /* flags = */ H5C__NO_FLAGS_SET,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 4,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 10,
- /* insert_flag = */ false,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 5,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 20,
- /* insert_flag = */ false,
- /* flags = */ H5C__DIRTIED_FLAG | H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 6,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 30,
- /* insert_flag = */ true,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 7,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 40,
- /* insert_flag = */ true,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ true}};
-
- check_flush_cache__multi_entry_test(file_ptr, test_num, flush_flags, spec_size, spec);
- }
-
- if (pass) {
- int test_num = 6;
- unsigned int flush_flags = H5C__FLUSH_INVALIDATE_FLAG | H5C__FLUSH_MARKED_ENTRIES_FLAG;
- unsigned int spec_size = 8;
- struct flush_cache_test_spec spec[8] = {
- {/* entry_num = */ 0,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 100,
- /* insert_flag = */ false,
- /* flags = */ H5C__NO_FLAGS_SET,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 1,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 75,
- /* insert_flag = */ false,
- /* flags = */ H5C__DIRTIED_FLAG,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 2,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 25,
- /* insert_flag = */ true,
- /* flags = */ H5C__NO_FLAGS_SET,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 3,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 50,
- /* insert_flag = */ true,
- /* flags = */ H5C__NO_FLAGS_SET,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 4,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 10,
- /* insert_flag = */ false,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 5,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 20,
- /* insert_flag = */ false,
- /* flags = */ H5C__DIRTIED_FLAG | H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 6,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 30,
- /* insert_flag = */ true,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 7,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 40,
- /* insert_flag = */ true,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ true}};
-
- check_flush_cache__multi_entry_test(file_ptr, test_num, flush_flags, spec_size, spec);
- }
-
- if (pass) {
- int test_num = 7;
- unsigned int flush_flags = H5C__FLUSH_CLEAR_ONLY_FLAG | H5C__FLUSH_MARKED_ENTRIES_FLAG;
- unsigned int spec_size = 8;
- struct flush_cache_test_spec spec[8] = {
- {/* entry_num = */ 0,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 100,
- /* insert_flag = */ false,
- /* flags = */ H5C__NO_FLAGS_SET,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 1,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 75,
- /* insert_flag = */ false,
- /* flags = */ H5C__DIRTIED_FLAG,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 2,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 25,
- /* insert_flag = */ true,
- /* flags = */ H5C__NO_FLAGS_SET,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 3,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 50,
- /* insert_flag = */ true,
- /* flags = */ H5C__NO_FLAGS_SET,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 4,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 10,
- /* insert_flag = */ false,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 5,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 20,
- /* insert_flag = */ false,
- /* flags = */ H5C__DIRTIED_FLAG | H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 6,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 30,
- /* insert_flag = */ true,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 7,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 40,
- /* insert_flag = */ true,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ false}};
-
- check_flush_cache__multi_entry_test(file_ptr, test_num, flush_flags, spec_size, spec);
- }
-
- if (pass) {
- int test_num = 8;
- unsigned int flush_flags =
- H5C__FLUSH_INVALIDATE_FLAG | H5C__FLUSH_CLEAR_ONLY_FLAG | H5C__FLUSH_MARKED_ENTRIES_FLAG;
- unsigned int spec_size = 8;
- struct flush_cache_test_spec spec[8] = {
- {/* entry_num = */ 0,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 100,
- /* insert_flag = */ false,
- /* flags = */ H5C__NO_FLAGS_SET,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 1,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 75,
- /* insert_flag = */ false,
- /* flags = */ H5C__DIRTIED_FLAG,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 2,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 25,
- /* insert_flag = */ true,
- /* flags = */ H5C__NO_FLAGS_SET,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 3,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 50,
- /* insert_flag = */ true,
- /* flags = */ H5C__NO_FLAGS_SET,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 4,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 10,
- /* insert_flag = */ false,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 5,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 20,
- /* insert_flag = */ false,
- /* flags = */ H5C__DIRTIED_FLAG | H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 6,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 30,
- /* insert_flag = */ true,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 7,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 40,
- /* insert_flag = */ true,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ true}};
+ struct flush_cache_test_spec spec[8] = {{/* entry_num = */ 0,
+ /* entry_type = */ PICO_ENTRY_TYPE,
+ /* entry_index = */ 100,
+ /* insert_flag = */ false,
+ /* flags = */ H5C__NO_FLAGS_SET,
+ /* expected_deserialized = */ true,
+ /* expected_serialized = */ false,
+ /* expected_destroyed = */ true},
+ {/* entry_num = */ 1,
+ /* entry_type = */ PICO_ENTRY_TYPE,
+ /* entry_index = */ 75,
+ /* insert_flag = */ false,
+ /* flags = */ H5C__DIRTIED_FLAG,
+ /* expected_deserialized = */ true,
+ /* expected_serialized = */ false,
+ /* expected_destroyed = */ true},
+ {/* entry_num = */ 2,
+ /* entry_type = */ PICO_ENTRY_TYPE,
+ /* entry_index = */ 25,
+ /* insert_flag = */ true,
+ /* flags = */ H5C__NO_FLAGS_SET,
+ /* expected_deserialized = */ false,
+ /* expected_serialized = */ false,
+ /* expected_destroyed = */ true},
+ {/* entry_num = */ 3,
+ /* entry_type = */ PICO_ENTRY_TYPE,
+ /* entry_index = */ 50,
+ /* insert_flag = */ true,
+ /* flags = */ H5C__NO_FLAGS_SET,
+ /* expected_deserialized = */ false,
+ /* expected_serialized = */ false,
+ /* expected_destroyed = */ true},
+ {/* entry_num = */ 4,
+ /* entry_type = */ MONSTER_ENTRY_TYPE,
+ /* entry_index = */ 10,
+ /* insert_flag = */ false,
+ /* flags = */ H5C__NO_FLAGS_SET,
+ /* expected_deserialized = */ true,
+ /* expected_serialized = */ false,
+ /* expected_destroyed = */ true},
+ {/* entry_num = */ 5,
+ /* entry_type = */ MONSTER_ENTRY_TYPE,
+ /* entry_index = */ 20,
+ /* insert_flag = */ false,
+ /* flags = */ H5C__DIRTIED_FLAG,
+ /* expected_deserialized = */ true,
+ /* expected_serialized = */ false,
+ /* expected_destroyed = */ true},
+ {/* entry_num = */ 6,
+ /* entry_type = */ MONSTER_ENTRY_TYPE,
+ /* entry_index = */ 30,
+ /* insert_flag = */ true,
+ /* flags = */ H5C__NO_FLAGS_SET,
+ /* expected_deserialized = */ false,
+ /* expected_serialized = */ false,
+ /* expected_destroyed = */ true},
+ {/* entry_num = */ 7,
+ /* entry_type = */ MONSTER_ENTRY_TYPE,
+ /* entry_index = */ 40,
+ /* insert_flag = */ true,
+ /* flags = */ H5C__NO_FLAGS_SET,
+ /* expected_deserialized = */ false,
+ /* expected_serialized = */ false,
+ /* expected_destroyed = */ true}};
check_flush_cache__multi_entry_test(file_ptr, test_num, flush_flags, spec_size, spec);
}
/* verify that all other flags are ignored */
if (pass) {
- int test_num = 9;
- unsigned int flush_flags = (unsigned)~(H5C__FLUSH_INVALIDATE_FLAG | H5C__FLUSH_CLEAR_ONLY_FLAG |
- H5C__FLUSH_MARKED_ENTRIES_FLAG);
+ int test_num = 5;
+ unsigned int flush_flags = (unsigned)~(H5C__FLUSH_INVALIDATE_FLAG | H5C__FLUSH_CLEAR_ONLY_FLAG);
unsigned int spec_size = 8;
- struct flush_cache_test_spec spec[8] = {
- {/* entry_num = */ 0,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 100,
- /* insert_flag = */ false,
- /* flags = */ H5C__NO_FLAGS_SET,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 1,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 75,
- /* insert_flag = */ false,
- /* flags = */ H5C__DIRTIED_FLAG,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 2,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 25,
- /* insert_flag = */ true,
- /* flags = */ H5C__NO_FLAGS_SET,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 3,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 50,
- /* insert_flag = */ true,
- /* flags = */ H5C__NO_FLAGS_SET,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 4,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 10,
- /* insert_flag = */ false,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 5,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 20,
- /* insert_flag = */ false,
- /* flags = */ H5C__DIRTIED_FLAG | H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 6,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 30,
- /* insert_flag = */ true,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ false},
- {/* entry_num = */ 7,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 40,
- /* insert_flag = */ true,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ false}};
+ struct flush_cache_test_spec spec[8] = {{/* entry_num = */ 0,
+ /* entry_type = */ PICO_ENTRY_TYPE,
+ /* entry_index = */ 100,
+ /* insert_flag = */ false,
+ /* flags = */ H5C__NO_FLAGS_SET,
+ /* expected_deserialized = */ true,
+ /* expected_serialized = */ false,
+ /* expected_destroyed = */ false},
+ {/* entry_num = */ 1,
+ /* entry_type = */ PICO_ENTRY_TYPE,
+ /* entry_index = */ 75,
+ /* insert_flag = */ false,
+ /* flags = */ H5C__DIRTIED_FLAG,
+ /* expected_deserialized = */ true,
+ /* expected_serialized = */ true,
+ /* expected_destroyed = */ false},
+ {/* entry_num = */ 2,
+ /* entry_type = */ PICO_ENTRY_TYPE,
+ /* entry_index = */ 25,
+ /* insert_flag = */ true,
+ /* flags = */ H5C__NO_FLAGS_SET,
+ /* expected_deserialized = */ false,
+ /* expected_serialized = */ true,
+ /* expected_destroyed = */ false},
+ {/* entry_num = */ 3,
+ /* entry_type = */ PICO_ENTRY_TYPE,
+ /* entry_index = */ 50,
+ /* insert_flag = */ true,
+ /* flags = */ H5C__NO_FLAGS_SET,
+ /* expected_deserialized = */ false,
+ /* expected_serialized = */ true,
+ /* expected_destroyed = */ false},
+ {/* entry_num = */ 4,
+ /* entry_type = */ MONSTER_ENTRY_TYPE,
+ /* entry_index = */ 10,
+ /* insert_flag = */ false,
+ /* flags = */ H5C__NO_FLAGS_SET,
+ /* expected_deserialized = */ true,
+ /* expected_serialized = */ false,
+ /* expected_destroyed = */ false},
+ {/* entry_num = */ 5,
+ /* entry_type = */ MONSTER_ENTRY_TYPE,
+ /* entry_index = */ 20,
+ /* insert_flag = */ false,
+ /* flags = */ H5C__DIRTIED_FLAG,
+ /* expected_deserialized = */ true,
+ /* expected_serialized = */ true,
+ /* expected_destroyed = */ false},
+ {/* entry_num = */ 6,
+ /* entry_type = */ MONSTER_ENTRY_TYPE,
+ /* entry_index = */ 30,
+ /* insert_flag = */ true,
+ /* flags = */ H5C__NO_FLAGS_SET,
+ /* expected_deserialized = */ false,
+ /* expected_serialized = */ true,
+ /* expected_destroyed = */ false},
+ {/* entry_num = */ 7,
+ /* entry_type = */ MONSTER_ENTRY_TYPE,
+ /* entry_index = */ 40,
+ /* insert_flag = */ true,
+ /* flags = */ H5C__NO_FLAGS_SET,
+ /* expected_deserialized = */ false,
+ /* expected_serialized = */ true,
+ /* expected_destroyed = */ false}};
check_flush_cache__multi_entry_test(file_ptr, test_num, flush_flags, spec_size, spec);
}
@@ -3885,7 +3557,7 @@ check_flush_cache__multi_entry(H5F_t *file_ptr)
/* entry_type = */ MONSTER_ENTRY_TYPE,
/* entry_index = */ 10,
/* insert_flag = */ false,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
+ /* flags = */ H5C__NO_FLAGS_SET,
/* num_pins = */ 4,
/* pin_type[MAX_PINS] = */
{PICO_ENTRY_TYPE, PICO_ENTRY_TYPE, PICO_ENTRY_TYPE, PICO_ENTRY_TYPE, -1, -1, -1, -1},
@@ -3897,7 +3569,7 @@ check_flush_cache__multi_entry(H5F_t *file_ptr)
/* entry_type = */ MONSTER_ENTRY_TYPE,
/* entry_index = */ 20,
/* insert_flag = */ false,
- /* flags = */ H5C__DIRTIED_FLAG | H5C__SET_FLUSH_MARKER_FLAG,
+ /* flags = */ H5C__DIRTIED_FLAG,
/* num_pins = */ 5,
/* pin_type[MAX_PINS] = */
{PICO_ENTRY_TYPE, PICO_ENTRY_TYPE, PICO_ENTRY_TYPE, PICO_ENTRY_TYPE, MONSTER_ENTRY_TYPE, -1, -1,
@@ -3910,7 +3582,7 @@ check_flush_cache__multi_entry(H5F_t *file_ptr)
/* entry_type = */ MONSTER_ENTRY_TYPE,
/* entry_index = */ 30,
/* insert_flag = */ true,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
+ /* flags = */ H5C__NO_FLAGS_SET,
/* num_pins = */ 6,
/* pin_type[MAX_PINS] = */
{PICO_ENTRY_TYPE, PICO_ENTRY_TYPE, PICO_ENTRY_TYPE, PICO_ENTRY_TYPE, MONSTER_ENTRY_TYPE,
@@ -3923,7 +3595,7 @@ check_flush_cache__multi_entry(H5F_t *file_ptr)
/* entry_type = */ MONSTER_ENTRY_TYPE,
/* entry_index = */ 40,
/* insert_flag = */ true,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
+ /* flags = */ H5C__NO_FLAGS_SET,
/* num_pins = */ 7,
/* pin_type[MAX_PINS] = */
{PICO_ENTRY_TYPE, PICO_ENTRY_TYPE, PICO_ENTRY_TYPE, PICO_ENTRY_TYPE, MONSTER_ENTRY_TYPE,
@@ -3990,7 +3662,7 @@ check_flush_cache__multi_entry(H5F_t *file_ptr)
/* entry_type = */ MONSTER_ENTRY_TYPE,
/* entry_index = */ 10,
/* insert_flag = */ false,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
+ /* flags = */ H5C__NO_FLAGS_SET,
/* num_pins = */ 0,
/* pin_type[MAX_PINS] = */ {-1, -1, -1, -1, -1, -1, -1, -1},
/* pin_idx[MAX_PINS] = */ {-1, -1, -1, -1, -1, -1, -1, -1},
@@ -4001,7 +3673,7 @@ check_flush_cache__multi_entry(H5F_t *file_ptr)
/* entry_type = */ MONSTER_ENTRY_TYPE,
/* entry_index = */ 20,
/* insert_flag = */ false,
- /* flags = */ H5C__DIRTIED_FLAG | H5C__SET_FLUSH_MARKER_FLAG,
+ /* flags = */ H5C__DIRTIED_FLAG,
/* num_pins = */ 1,
/* pin_type[MAX_PINS] = */ {MONSTER_ENTRY_TYPE, -1, -1, -1, -1 - 1, -1, -1},
/* pin_idx[MAX_PINS] = */ {10, -1, -1, -1 - 1, -1, -1, -1},
@@ -4012,7 +3684,7 @@ check_flush_cache__multi_entry(H5F_t *file_ptr)
/* entry_type = */ MONSTER_ENTRY_TYPE,
/* entry_index = */ 30,
/* insert_flag = */ true,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
+ /* flags = */ H5C__NO_FLAGS_SET,
/* num_pins = */ 2,
/* pin_type[MAX_PINS] = */ {MONSTER_ENTRY_TYPE, MONSTER_ENTRY_TYPE, -1, -1, -1, -1, -1, -1},
/* pin_idx[MAX_PINS] = */ {10, 20, -1, -1, -1, -1, -1, -1},
@@ -4023,7 +3695,7 @@ check_flush_cache__multi_entry(H5F_t *file_ptr)
/* entry_type = */ MONSTER_ENTRY_TYPE,
/* entry_index = */ 40,
/* insert_flag = */ true,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
+ /* flags = */ H5C__NO_FLAGS_SET,
/* num_pins = */ 3,
/* pin_type[MAX_PINS] = */
{MONSTER_ENTRY_TYPE, MONSTER_ENTRY_TYPE, MONSTER_ENTRY_TYPE, -1, -1, -1, -1, -1},
@@ -4088,7 +3760,7 @@ check_flush_cache__multi_entry(H5F_t *file_ptr)
/* entry_type = */ MONSTER_ENTRY_TYPE,
/* entry_index = */ 10,
/* insert_flag = */ false,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
+ /* flags = */ H5C__NO_FLAGS_SET,
/* num_pins = */ 0,
/* pin_type[MAX_PINS] = */ {-1, -1, -1, -1, -1, -1, -1, -1},
/* pin_idx[MAX_PINS] = */ {-1, -1, -1, -1, -1, -1, -1, -1},
@@ -4099,7 +3771,7 @@ check_flush_cache__multi_entry(H5F_t *file_ptr)
/* entry_type = */ MONSTER_ENTRY_TYPE,
/* entry_index = */ 20,
/* insert_flag = */ false,
- /* flags = */ H5C__DIRTIED_FLAG | H5C__SET_FLUSH_MARKER_FLAG,
+ /* flags = */ H5C__DIRTIED_FLAG,
/* num_pins = */ 0,
/* pin_type[MAX_PINS] = */ {-1, -1, -1, -1, -1, -1, -1, -1},
/* pin_idx[MAX_PINS] = */ {-1, -1, -1, -1, -1, -1, -1, -1},
@@ -4110,218 +3782,21 @@ check_flush_cache__multi_entry(H5F_t *file_ptr)
/* entry_type = */ MONSTER_ENTRY_TYPE,
/* entry_index = */ 30,
/* insert_flag = */ true,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* num_pins = */ 0,
- /* pin_type[MAX_PINS] = */ {-1, -1, -1, -1, -1, -1, -1, -1},
- /* pin_idx[MAX_PINS] = */ {-1, -1, -1, -1, -1, -1, -1, -1},
- /* expected_deserialized = */ false,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 7,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 40,
- /* insert_flag = */ true,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* num_pins = */ 0,
- /* pin_type[MAX_PINS] = */ {-1, -1, -1, -1, -1, -1, -1, -1},
- /* pin_idx[MAX_PINS] = */ {-1, -1, -1, -1, -1, -1, -1, -1},
- /* expected_deserialized = */ false,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ true}};
-
- check_flush_cache__pe_multi_entry_test(file_ptr, test_num, flush_flags, spec_size, spec);
- }
-
- if (pass) {
- int test_num = 4;
- unsigned int flush_flags = H5C__FLUSH_INVALIDATE_FLAG | H5C__FLUSH_MARKED_ENTRIES_FLAG;
- unsigned int spec_size = 8;
- struct pe_flush_cache_test_spec spec[8] = {
- {/* entry_num = */ 0,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 100,
- /* insert_flag = */ false,
/* flags = */ H5C__NO_FLAGS_SET,
/* num_pins = */ 0,
/* pin_type[MAX_PINS] = */ {-1, -1, -1, -1, -1, -1, -1, -1},
/* pin_idx[MAX_PINS] = */ {-1, -1, -1, -1, -1, -1, -1, -1},
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 1,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 75,
- /* insert_flag = */ false,
- /* flags = */ H5C__DIRTIED_FLAG,
- /* num_pins = */ 1,
- /* pin_type[MAX_PINS] = */ {PICO_ENTRY_TYPE, -1, -1, -1, -1, -1, -1, -1},
- /* pin_idx[MAX_PINS] = */ {100, -1, -1, -1, -1, -1, -1, -1},
- /* expected_deserialized = */ true,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 2,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 25,
- /* insert_flag = */ true,
- /* flags = */ H5C__NO_FLAGS_SET,
- /* num_pins = */ 1,
- /* pin_type[MAX_PINS] = */ {PICO_ENTRY_TYPE, -1, -1, -1, -1, -1, -1, -1},
- /* pin_idx[MAX_PINS] = */ {100, -1, -1, -1, -1, -1, -1, -1},
/* expected_deserialized = */ false,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 3,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 50,
- /* insert_flag = */ true,
- /* flags = */ H5C__NO_FLAGS_SET,
- /* num_pins = */ 1,
- /* pin_type[MAX_PINS] = */ {PICO_ENTRY_TYPE, -1, -1, -1, -1, -1, -1, -1},
- /* pin_idx[MAX_PINS] = */ {100, -1, -1, -1, -1, -1, -1, -1},
- /* expected_deserialized = */ false,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 4,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 10,
- /* insert_flag = */ false,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* num_pins = */ 0,
- /* pin_type[MAX_PINS] = */ {-1, -1, -1, -1, -1, -1, -1, -1},
- /* pin_idx[MAX_PINS] = */ {-1, -1, -1, -1, -1, -1, -1, -1},
- /* expected_deserialized = */ true,
/* expected_serialized = */ false,
/* expected_destroyed = */ true},
- {/* entry_num = */ 5,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 20,
- /* insert_flag = */ false,
- /* flags = */ H5C__DIRTIED_FLAG,
- /* num_pins = */ 4,
- /* pin_type[MAX_PINS] = */
- {PICO_ENTRY_TYPE, PICO_ENTRY_TYPE, PICO_ENTRY_TYPE, PICO_ENTRY_TYPE, -1, -1, -1, -1},
- /* pin_idx[MAX_PINS] = */ {100, 75, 25, 50, -1, -1, -1, -1},
- /* expected_deserialized = */ true,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 6,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 30,
- /* insert_flag = */ true,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* num_pins = */ 4,
- /* pin_type[MAX_PINS] = */
- {PICO_ENTRY_TYPE, PICO_ENTRY_TYPE, PICO_ENTRY_TYPE, PICO_ENTRY_TYPE, -1, -1, -1, -1},
- /* pin_idx[MAX_PINS] = */ {100, 75, 25, 50, -1, -1, -1, -1},
- /* expected_deserialized = */ false,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ true},
{/* entry_num = */ 7,
/* entry_type = */ MONSTER_ENTRY_TYPE,
/* entry_index = */ 40,
/* insert_flag = */ true,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* num_pins = */ 0,
- /* pin_type[MAX_PINS] = */ {-1, -1, -1, -1, -1, -1, -1, -1},
- /* pin_idx[MAX_PINS] = */ {-1, -1, -1, -1, -1, -1, -1, -1},
- /* expected_deserialized = */ false,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ true}};
-
- check_flush_cache__pe_multi_entry_test(file_ptr, test_num, flush_flags, spec_size, spec);
- }
-
- if (pass) {
- int test_num = 5;
- unsigned int flush_flags =
- H5C__FLUSH_INVALIDATE_FLAG | H5C__FLUSH_CLEAR_ONLY_FLAG | H5C__FLUSH_MARKED_ENTRIES_FLAG;
- unsigned int spec_size = 8;
- struct pe_flush_cache_test_spec spec[8] = {
- {/* entry_num = */ 0,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 100,
- /* insert_flag = */ false,
/* flags = */ H5C__NO_FLAGS_SET,
/* num_pins = */ 0,
/* pin_type[MAX_PINS] = */ {-1, -1, -1, -1, -1, -1, -1, -1},
/* pin_idx[MAX_PINS] = */ {-1, -1, -1, -1, -1, -1, -1, -1},
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 1,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 75,
- /* insert_flag = */ false,
- /* flags = */ H5C__DIRTIED_FLAG,
- /* num_pins = */ 1,
- /* pin_type[MAX_PINS] = */ {PICO_ENTRY_TYPE, -1, -1, -1, -1, -1, -1, -1},
- /* pin_idx[MAX_PINS] = */ {100, -1, -1, -1, -1, -1, -1, -1},
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 2,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 25,
- /* insert_flag = */ true,
- /* flags = */ H5C__NO_FLAGS_SET,
- /* num_pins = */ 1,
- /* pin_type[MAX_PINS] = */ {PICO_ENTRY_TYPE, -1, -1, -1, -1, -1, -1, -1},
- /* pin_idx[MAX_PINS] = */ {100, -1, -1, -1, -1, -1, -1, -1},
- /* expected_deserialized = */ false,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 3,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 50,
- /* insert_flag = */ true,
- /* flags = */ H5C__NO_FLAGS_SET,
- /* num_pins = */ 1,
- /* pin_type[MAX_PINS] = */ {PICO_ENTRY_TYPE, -1, -1, -1, -1, -1, -1, -1},
- /* pin_idx[MAX_PINS] = */ {100, -1, -1, -1, -1, -1, -1, -1},
- /* expected_deserialized = */ false,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 4,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 10,
- /* insert_flag = */ false,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* num_pins = */ 1,
- /* pin_type[MAX_PINS] = */ {PICO_ENTRY_TYPE, -1, -1, -1, -1, -1, -1, -1},
- /* pin_idx[MAX_PINS] = */ {100, -1, -1, -1, -1, -1, -1, -1},
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 5,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 20,
- /* insert_flag = */ false,
- /* flags = */ H5C__DIRTIED_FLAG | H5C__SET_FLUSH_MARKER_FLAG,
- /* num_pins = */ 1,
- /* pin_type[MAX_PINS] = */ {PICO_ENTRY_TYPE, -1, -1, -1, -1, -1, -1, -1},
- /* pin_idx[MAX_PINS] = */ {100, -1, -1, -1, -1, -1, -1, -1},
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 6,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 30,
- /* insert_flag = */ true,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* num_pins = */ 1,
- /* pin_type[MAX_PINS] = */ {PICO_ENTRY_TYPE, -1, -1, -1, -1, -1, -1, -1},
- /* pin_idx[MAX_PINS] = */ {100, -1, -1, -1, -1, -1, -1, -1},
- /* expected_deserialized = */ false,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ true},
- {/* entry_num = */ 7,
- /* entry_type = */ MONSTER_ENTRY_TYPE,
- /* entry_index = */ 40,
- /* insert_flag = */ true,
- /* flags = */ H5C__SET_FLUSH_MARKER_FLAG,
- /* num_pins = */ 1,
- /* pin_type[MAX_PINS] = */ {PICO_ENTRY_TYPE, -1, -1, -1, -1, -1, -1, -1},
- /* pin_idx[MAX_PINS] = */ {100, -1, -1, -1, -1, -1, -1, -1},
/* expected_deserialized = */ false,
/* expected_serialized = */ false,
/* expected_destroyed = */ true}};
@@ -5927,198 +5402,6 @@ check_flush_cache__flush_ops(H5F_t *file_ptr)
if (pass) /* test #21 */
{
- /* Now mix things up a bit.
- *
- * Load several entries, two of which have flush functions that
- * resize, dirty, and move two entries that are not in the
- * cache. Mark only one of these entries, and then flush the
- * cache with the flush marked entries flag.
- *
- * This is the only test in which we test the
- * H5C__FLUSH_MARKED_ENTRIES_FLAG. The hope is that since
- * we test the two features extensively by themselves, so
- * it should be sufficient to verify that they play together
- * as expected.
- */
- int test_num = 21;
- unsigned int flush_flags = H5C__FLUSH_MARKED_ENTRIES_FLAG;
- int spec_size = 4;
- int check_size = 4;
- unsigned init_expected_index_len = 4;
- size_t init_expected_index_size = (2 * VARIABLE_ENTRY_SIZE) + (2 * PICO_ENTRY_SIZE);
- unsigned expected_index_len = 6;
- size_t expected_index_size = (2 * VARIABLE_ENTRY_SIZE) + (VARIABLE_ENTRY_SIZE / 4) +
- (VARIABLE_ENTRY_SIZE / 2) + (2 * PICO_ENTRY_SIZE);
-
- assert(spec_size <= max_num_spec);
- assert(check_size <= max_num_check);
-
- spec[0] = (struct fo_flush_cache_test_spec){
- /* entry_num = */ 0,
- /* entry_type = */ VARIABLE_ENTRY_TYPE,
- /* entry_index = */ 1,
- /* insert_flag = */ false,
- /* flags = */ H5C__DIRTIED_FLAG | H5C__SET_FLUSH_MARKER_FLAG,
- /* resize_flag = */ false,
- /* new_size = */ 0,
- /* num_pins = */ 0,
- /* pin_type = */ {0, 0, 0, 0, 0, 0, 0, 0},
- /* pin_idx = */ {0, 0, 0, 0, 0, 0, 0, 0},
- /* num_flush_ops = */ 6,
- /* flush_ops = */
- /* op_code: type: idx: flag: size: order_ptr: */
- {{FLUSH_OP__RESIZE, VARIABLE_ENTRY_TYPE, 0, false, VARIABLE_ENTRY_SIZE / 4, NULL},
- {FLUSH_OP__DIRTY, VARIABLE_ENTRY_TYPE, 0, false, 0, NULL},
- {FLUSH_OP__MOVE, VARIABLE_ENTRY_TYPE, 0, false, 0, NULL},
- {FLUSH_OP__DIRTY, VARIABLE_ENTRY_TYPE, 2, false, 0, NULL},
- {FLUSH_OP__RESIZE, VARIABLE_ENTRY_TYPE, 2, false, VARIABLE_ENTRY_SIZE / 2, NULL},
- {FLUSH_OP__MOVE, VARIABLE_ENTRY_TYPE, 2, false, 0, NULL},
- {FLUSH_OP__NO_OP, 0, 0, false, 0, NULL},
- {FLUSH_OP__NO_OP, 0, 0, false, 0, NULL},
- {FLUSH_OP__NO_OP, 0, 0, false, 0, NULL},
- {FLUSH_OP__NO_OP, 0, 0, false, 0, NULL}},
- /* expected_deserialized = */ true,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ false};
- spec[1] = (struct fo_flush_cache_test_spec){
- /* entry_num = */ 1,
- /* entry_type = */ VARIABLE_ENTRY_TYPE,
- /* entry_index = */ 11,
- /* insert_flag = */ false,
- /* flags = */ H5C__DIRTIED_FLAG,
- /* resize_flag = */ false,
- /* new_size = */ 0,
- /* num_pins = */ 0,
- /* pin_type = */ {0, 0, 0, 0, 0, 0, 0, 0},
- /* pin_idx = */ {0, 0, 0, 0, 0, 0, 0, 0},
- /* num_flush_ops = */ 6,
- /* flush_ops = */
- /* op_code: type: idx: flag: size: order_ptr: */
- {{FLUSH_OP__RESIZE, VARIABLE_ENTRY_TYPE, 10, false, VARIABLE_ENTRY_SIZE / 4, NULL},
- {FLUSH_OP__DIRTY, VARIABLE_ENTRY_TYPE, 10, false, 0, NULL},
- {FLUSH_OP__MOVE, VARIABLE_ENTRY_TYPE, 10, false, 0, NULL},
- {FLUSH_OP__DIRTY, VARIABLE_ENTRY_TYPE, 12, false, 0, NULL},
- {FLUSH_OP__RESIZE, VARIABLE_ENTRY_TYPE, 12, false, VARIABLE_ENTRY_SIZE / 2, NULL},
- {FLUSH_OP__MOVE, VARIABLE_ENTRY_TYPE, 12, false, 0, NULL},
- {FLUSH_OP__NO_OP, 0, 0, false, 0, NULL},
- {FLUSH_OP__NO_OP, 0, 0, false, 0, NULL},
- {FLUSH_OP__NO_OP, 0, 0, false, 0, NULL},
- {FLUSH_OP__NO_OP, 0, 0, false, 0, NULL}},
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ false};
- spec[2] = (struct fo_flush_cache_test_spec){
- /* entry_num = */ 2,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 0,
- /* insert_flag = */ false,
- /* flags = */ H5C__DIRTIED_FLAG | H5C__SET_FLUSH_MARKER_FLAG,
- /* resize_flag = */ false,
- /* new_size = */ 0,
- /* num_pins = */ 0,
- /* pin_type = */ {0, 0, 0, 0, 0, 0, 0, 0},
- /* pin_idx = */ {0, 0, 0, 0, 0, 0, 0, 0},
- /* num_flush_ops = */ 0,
- /* flush_ops = */
- /* op_code: type: idx: flag: size: order_ptr: */
- {{FLUSH_OP__NO_OP, 0, 0, false, 0, NULL},
- {FLUSH_OP__NO_OP, 0, 0, false, 0, NULL},
- {FLUSH_OP__NO_OP, 0, 0, false, 0, NULL},
- {FLUSH_OP__NO_OP, 0, 0, false, 0, NULL},
- {FLUSH_OP__NO_OP, 0, 0, false, 0, NULL},
- {FLUSH_OP__NO_OP, 0, 0, false, 0, NULL},
- {FLUSH_OP__NO_OP, 0, 0, false, 0, NULL},
- {FLUSH_OP__NO_OP, 0, 0, false, 0, NULL},
- {FLUSH_OP__NO_OP, 0, 0, false, 0, NULL},
- {FLUSH_OP__NO_OP, 0, 0, false, 0, NULL}},
- /* expected_deserialized = */ true,
- /* expected_serialized = */ true,
- /* expected_destroyed = */ false};
- spec[3] = (struct fo_flush_cache_test_spec){
- /* entry_num = */ 3,
- /* entry_type = */ PICO_ENTRY_TYPE,
- /* entry_index = */ 1,
- /* insert_flag = */ false,
- /* flags = */ H5C__DIRTIED_FLAG,
- /* resize_flag = */ false,
- /* new_size = */ 0,
- /* num_pins = */ 0,
- /* pin_type = */ {0, 0, 0, 0, 0, 0, 0, 0},
- /* pin_idx = */ {0, 0, 0, 0, 0, 0, 0, 0},
- /* num_flush_ops = */ 0,
- /* flush_ops = */
- /* op_code: type: idx: flag: size: order_ptr: */
- {{FLUSH_OP__NO_OP, 0, 0, false, 0, NULL},
- {FLUSH_OP__NO_OP, 0, 0, false, 0, NULL},
- {FLUSH_OP__NO_OP, 0, 0, false, 0, NULL},
- {FLUSH_OP__NO_OP, 0, 0, false, 0, NULL},
- {FLUSH_OP__NO_OP, 0, 0, false, 0, NULL},
- {FLUSH_OP__NO_OP, 0, 0, false, 0, NULL},
- {FLUSH_OP__NO_OP, 0, 0, false, 0, NULL},
- {FLUSH_OP__NO_OP, 0, 0, false, 0, NULL},
- {FLUSH_OP__NO_OP, 0, 0, false, 0, NULL},
- {FLUSH_OP__NO_OP, 0, 0, false, 0, NULL}},
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ false};
-
- checks[0] = (struct fo_flush_entry_check){/* entry_num = */ 0,
- /* entry_type = */ VARIABLE_ENTRY_TYPE,
- /* entry_index = */ 0,
- /* expected_size = */ VARIABLE_ENTRY_SIZE / 4,
- /* in_cache = */ true,
- /* at_main_addr = */ false,
- /* is_dirty = */ true,
- /* is_protected = */ false,
- /* is_pinned = */ false,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ false};
- checks[1] = (struct fo_flush_entry_check){/* entry_num = */ 1,
- /* entry_type = */ VARIABLE_ENTRY_TYPE,
- /* entry_index = */ 2,
- /* expected_size = */ VARIABLE_ENTRY_SIZE / 2,
- /* in_cache = */ true,
- /* at_main_addr = */ false,
- /* is_dirty = */ true,
- /* is_protected = */ false,
- /* is_pinned = */ false,
- /* expected_deserialized = */ true,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ false};
- checks[2] = (struct fo_flush_entry_check){/* entry_num = */ 2,
- /* entry_type = */ VARIABLE_ENTRY_TYPE,
- /* entry_index = */ 10,
- /* expected_size = */ VARIABLE_ENTRY_SIZE,
- /* in_cache = */ false,
- /* at_main_addr = */ true,
- /* is_dirty = */ false,
- /* is_protected = */ false,
- /* is_pinned = */ false,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ false};
- checks[3] = (struct fo_flush_entry_check){/* entry_num = */ 3,
- /* entry_type = */ VARIABLE_ENTRY_TYPE,
- /* entry_index = */ 12,
- /* expected_size = */ VARIABLE_ENTRY_SIZE,
- /* in_cache = */ false,
- /* at_main_addr = */ true,
- /* is_dirty = */ false,
- /* is_protected = */ false,
- /* is_pinned = */ false,
- /* expected_deserialized = */ false,
- /* expected_serialized = */ false,
- /* expected_destroyed = */ false};
-
- check_flush_cache__flush_op_test(file_ptr, test_num, flush_flags, spec_size, spec,
- init_expected_index_len, init_expected_index_size,
- expected_index_len, expected_index_size, check_size, checks);
- reset_entries();
- }
-
- if (pass) /* test #22 */
- {
/* Mix things up some more.
*
* Load lots of entries, some of which have flush functions that
@@ -6128,7 +5411,7 @@ check_flush_cache__flush_ops(H5F_t *file_ptr)
* Also load entries that have flush ops on entries that are in
* cache.
*/
- int test_num = 22;
+ int test_num = 21;
unsigned int flush_flags = H5C__NO_FLAGS_SET;
int spec_size = 6;
int check_size = 4;
@@ -6359,9 +5642,9 @@ check_flush_cache__flush_ops(H5F_t *file_ptr)
reset_entries();
}
- if (pass) /* test #23 */
+ if (pass) /* test #22 */
{
- /* Repeat test #23 with the flush invalidate flag set.
+ /* Repeat test #21 with the flush invalidate flag set.
*
* Mix things up some more.
*
@@ -6372,7 +5655,7 @@ check_flush_cache__flush_ops(H5F_t *file_ptr)
* Also load entries that have flush ops on entries that are in
* cache.
*/
- int test_num = 23;
+ int test_num = 22;
unsigned int flush_flags = H5C__FLUSH_INVALIDATE_FLAG;
int spec_size = 6;
int check_size = 4;
@@ -6606,12 +5889,12 @@ check_flush_cache__flush_ops(H5F_t *file_ptr)
*
* Now create some tests mixing flush ops and pins.
*/
- if (pass) /* test #24 */
+ if (pass) /* test #23 */
{
/* Pico entries 50 and 150 pin pico entry 100, and also dirty
* pico entry 100 on flush.
*/
- int test_num = 24;
+ int test_num = 23;
unsigned int flush_flags = H5C__NO_FLAGS_SET;
int spec_size = 3;
int check_size = 0;
@@ -6723,14 +6006,14 @@ check_flush_cache__flush_ops(H5F_t *file_ptr)
expected_index_len, expected_index_size, check_size, checks);
}
- if (pass) /* test #25 */
+ if (pass) /* test #24 */
{
/* Repeat the previous test with the flush invalidate flag.
*
* Pico entries 50 and 150 pin pico entry 100, and also dirty
* pico entry 100 on flush.
*/
- int test_num = 25;
+ int test_num = 24;
unsigned int flush_flags = H5C__FLUSH_INVALIDATE_FLAG;
int spec_size = 3;
int check_size = 0;
@@ -6842,7 +6125,7 @@ check_flush_cache__flush_ops(H5F_t *file_ptr)
expected_index_len, expected_index_size, check_size, checks);
}
- if (pass) /* test #26 */
+ if (pass) /* test #25 */
{
/* This one is complex.
*
@@ -6919,7 +6202,7 @@ check_flush_cache__flush_ops(H5F_t *file_ptr)
* dirties (VET, 650)
* dirties (VET, 750)
*/
- int test_num = 26;
+ int test_num = 25;
unsigned int flush_flags = H5C__NO_FLAGS_SET;
int spec_size = 10;
int check_size = 3;
@@ -7246,9 +6529,9 @@ check_flush_cache__flush_ops(H5F_t *file_ptr)
reset_entries();
}
- if (pass) /* test #27 */
+ if (pass) /* test #26 */
{
- /* Repeat test #26 with the flush invalidate flag.
+ /* Repeat test #25 with the flush invalidate flag.
*
* In the following overview table, VET stands for
* VARIABLE_ENTRY_TYPE.
@@ -7327,7 +6610,7 @@ check_flush_cache__flush_ops(H5F_t *file_ptr)
* dirties (VET, 650)
* dirties (VET, 750)
*/
- int test_num = 27;
+ int test_num = 26;
unsigned int flush_flags = H5C__FLUSH_INVALIDATE_FLAG;
int spec_size = 10;
int check_size = 3;
@@ -7654,13 +6937,13 @@ check_flush_cache__flush_ops(H5F_t *file_ptr)
reset_entries();
}
- if (pass) /* test #28 */
+ if (pass) /* test #27 */
{
/* Test the expected fheap case, in which an entry dirties
* and resizes itself, and dirties an entry which it has
* pinned.
*/
- int test_num = 28;
+ int test_num = 27;
unsigned int flush_flags = H5C__NO_FLAGS_SET;
int spec_size = 5;
int check_size = 0;
@@ -7828,15 +7111,15 @@ check_flush_cache__flush_ops(H5F_t *file_ptr)
reset_entries();
}
- if (pass) /* test #29 */
+ if (pass) /* test #28 */
{
- /* Repeat test #28 with the flush invalidate flag.
+ /* Repeat test #27 with the flush invalidate flag.
*
* Test the expected fheap case, in which an entry dirties
* and resizes itself, and dirties an entry which it has
* pinned.
*/
- int test_num = 29;
+ int test_num = 28;
unsigned int flush_flags = H5C__FLUSH_INVALIDATE_FLAG;
int spec_size = 5;
int check_size = 0;
@@ -9640,36 +8923,6 @@ check_flush_cache__single_entry(H5F_t *file_ptr)
/* entry_idx */ 0,
/* insert_flag */ false,
/* flags */ H5C__NO_FLAGS_SET,
- /* flush_flags */ H5C__FLUSH_MARKED_ENTRIES_FLAG,
- /* expected_deserialized */ true,
- /* expected_serialized */ false,
- /* expected_destroyed */ false);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 8,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ false,
- /* flags */ H5C__DIRTIED_FLAG,
- /* flush_flags */ H5C__FLUSH_MARKED_ENTRIES_FLAG,
- /* expected_deserialized */ true,
- /* expected_serialized */ false,
- /* expected_destroyed */ false);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 9,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ false,
- /* flags */ H5C__NO_FLAGS_SET,
/* flush_flags */ H5C__FLUSH_INVALIDATE_FLAG | H5C__FLUSH_CLEAR_ONLY_FLAG,
/* expected_deserialized */ true,
/* expected_serialized */ false,
@@ -9680,253 +8933,11 @@ check_flush_cache__single_entry(H5F_t *file_ptr)
check_flush_cache__single_entry_test(
/* file_ptr */ file_ptr,
- /* test_num */ 10,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ false,
- /* flags */ H5C__DIRTIED_FLAG,
- /* flush_flags */ H5C__FLUSH_INVALIDATE_FLAG | H5C__FLUSH_CLEAR_ONLY_FLAG,
- /* expected_deserialized */ true,
- /* expected_serialized */ false,
- /* expected_destroyed */ true);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 11,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ false,
- /* flags */ H5C__NO_FLAGS_SET,
- /* flush_flags */ H5C__FLUSH_MARKED_ENTRIES_FLAG | H5C__FLUSH_CLEAR_ONLY_FLAG,
- /* expected_deserialized */ true,
- /* expected_serialized */ false,
- /* expected_destroyed */ false);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 12,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ false,
- /* flags */ H5C__DIRTIED_FLAG,
- /* flush_flags */ H5C__FLUSH_MARKED_ENTRIES_FLAG | H5C__FLUSH_CLEAR_ONLY_FLAG,
- /* expected_deserialized */ true,
- /* expected_serialized */ false,
- /* expected_destroyed */ false);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 13,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ false,
- /* flags */ H5C__NO_FLAGS_SET,
- /* flush_flags */ H5C__FLUSH_MARKED_ENTRIES_FLAG | H5C__FLUSH_INVALIDATE_FLAG,
- /* expected_deserialized */ true,
- /* expected_serialized */ false,
- /* expected_destroyed */ true);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 14,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ false,
- /* flags */ H5C__DIRTIED_FLAG,
- /* flush_flags */ H5C__FLUSH_MARKED_ENTRIES_FLAG | H5C__FLUSH_INVALIDATE_FLAG,
- /* expected_deserialized */ true,
- /* expected_serialized */ true,
- /* expected_destroyed */ true);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 15,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ false,
- /* flags */ H5C__NO_FLAGS_SET,
- /* flush_flags */ H5C__FLUSH_INVALIDATE_FLAG | H5C__FLUSH_CLEAR_ONLY_FLAG |
- H5C__FLUSH_MARKED_ENTRIES_FLAG,
- /* expected_deserialized */ true,
- /* expected_serialized */ false,
- /* expected_destroyed */ true);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 16,
+ /* test_num */ 8,
/* entry_type */ PICO_ENTRY_TYPE,
/* entry_idx */ 0,
/* insert_flag */ false,
/* flags */ H5C__DIRTIED_FLAG,
- /* flush_flags */ H5C__FLUSH_INVALIDATE_FLAG | H5C__FLUSH_CLEAR_ONLY_FLAG |
- H5C__FLUSH_MARKED_ENTRIES_FLAG,
- /* expected_deserialized */ true,
- /* expected_serialized */ false,
- /* expected_destroyed */ true);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 17,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ false,
- /* flags */ H5C__SET_FLUSH_MARKER_FLAG,
- /* flush_flags */ H5C__NO_FLAGS_SET,
- /* expected_deserialized */ true,
- /* expected_serialized */ false,
- /* expected_destroyed */ false);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 18,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ false,
- /* flags */ H5C__DIRTIED_FLAG | H5C__SET_FLUSH_MARKER_FLAG,
- /* flush_flags */ H5C__NO_FLAGS_SET,
- /* expected_deserialized */ true,
- /* expected_serialized */ true,
- /* expected_destroyed */ false);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 19,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ false,
- /* flags */ H5C__SET_FLUSH_MARKER_FLAG,
- /* flush_flags */ H5C__FLUSH_CLEAR_ONLY_FLAG,
- /* expected_deserialized */ true,
- /* expected_serialized */ false,
- /* expected_destroyed */ false);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 20,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ false,
- /* flags */ H5C__DIRTIED_FLAG | H5C__SET_FLUSH_MARKER_FLAG,
- /* flush_flags */ H5C__FLUSH_CLEAR_ONLY_FLAG,
- /* expected_deserialized */ true,
- /* expected_serialized */ false,
- /* expected_destroyed */ false);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 21,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ false,
- /* flags */ H5C__SET_FLUSH_MARKER_FLAG,
- /* flush_flags */ H5C__FLUSH_INVALIDATE_FLAG,
- /* expected_deserialized */ true,
- /* expected_serialized */ false,
- /* expected_destroyed */ true);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 22,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ false,
- /* flags */ H5C__DIRTIED_FLAG | H5C__SET_FLUSH_MARKER_FLAG,
- /* flush_flags */ H5C__FLUSH_INVALIDATE_FLAG,
- /* expected_deserialized */ true,
- /* expected_serialized */ true,
- /* expected_destroyed */ true);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 23,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ false,
- /* flags */ H5C__SET_FLUSH_MARKER_FLAG,
- /* flush_flags */ H5C__FLUSH_MARKED_ENTRIES_FLAG,
- /* expected_deserialized */ true,
- /* expected_serialized */ false,
- /* expected_destroyed */ false);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 24,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ false,
- /* flags */ H5C__DIRTIED_FLAG | H5C__SET_FLUSH_MARKER_FLAG,
- /* flush_flags */ H5C__FLUSH_MARKED_ENTRIES_FLAG,
- /* expected_deserialized */ true,
- /* expected_serialized */ true,
- /* expected_destroyed */ false);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 25,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ false,
- /* flags */ H5C__SET_FLUSH_MARKER_FLAG,
- /* flush_flags */ H5C__FLUSH_INVALIDATE_FLAG | H5C__FLUSH_CLEAR_ONLY_FLAG,
- /* expected_deserialized */ true,
- /* expected_serialized */ false,
- /* expected_destroyed */ true);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 26,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ false,
- /* flags */ H5C__DIRTIED_FLAG | H5C__SET_FLUSH_MARKER_FLAG,
/* flush_flags */ H5C__FLUSH_INVALIDATE_FLAG | H5C__FLUSH_CLEAR_ONLY_FLAG,
/* expected_deserialized */ true,
/* expected_serialized */ false,
@@ -9937,99 +8948,7 @@ check_flush_cache__single_entry(H5F_t *file_ptr)
check_flush_cache__single_entry_test(
/* file_ptr */ file_ptr,
- /* test_num */ 27,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ false,
- /* flags */ H5C__SET_FLUSH_MARKER_FLAG,
- /* flush_flags */ H5C__FLUSH_MARKED_ENTRIES_FLAG | H5C__FLUSH_CLEAR_ONLY_FLAG,
- /* expected_deserialized */ true,
- /* expected_serialized */ false,
- /* expected_destroyed */ false);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 28,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ false,
- /* flags */ H5C__DIRTIED_FLAG | H5C__SET_FLUSH_MARKER_FLAG,
- /* flush_flags */ H5C__FLUSH_MARKED_ENTRIES_FLAG | H5C__FLUSH_CLEAR_ONLY_FLAG,
- /* expected_deserialized */ true,
- /* expected_serialized */ false,
- /* expected_destroyed */ false);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 29,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ false,
- /* flags */ H5C__SET_FLUSH_MARKER_FLAG,
- /* flush_flags */ H5C__FLUSH_MARKED_ENTRIES_FLAG | H5C__FLUSH_INVALIDATE_FLAG,
- /* expected_deserialized */ true,
- /* expected_serialized */ false,
- /* expected_destroyed */ true);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 30,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ false,
- /* flags */ H5C__DIRTIED_FLAG | H5C__SET_FLUSH_MARKER_FLAG,
- /* flush_flags */ H5C__FLUSH_MARKED_ENTRIES_FLAG | H5C__FLUSH_INVALIDATE_FLAG,
- /* expected_deserialized */ true,
- /* expected_serialized */ true,
- /* expected_destroyed */ true);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 31,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ false,
- /* flags */ H5C__SET_FLUSH_MARKER_FLAG,
- /* flush_flags */ H5C__FLUSH_INVALIDATE_FLAG | H5C__FLUSH_CLEAR_ONLY_FLAG |
- H5C__FLUSH_MARKED_ENTRIES_FLAG,
- /* expected_deserialized */ true,
- /* expected_serialized */ false,
- /* expected_destroyed */ true);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 32,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ false,
- /* flags */ H5C__DIRTIED_FLAG | H5C__SET_FLUSH_MARKER_FLAG,
- /* flush_flags */ H5C__FLUSH_INVALIDATE_FLAG | H5C__FLUSH_CLEAR_ONLY_FLAG |
- H5C__FLUSH_MARKED_ENTRIES_FLAG,
- /* expected_deserialized */ true,
- /* expected_serialized */ false,
- /* expected_destroyed */ true);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 33,
+ /* test_num */ 9,
/* entry_type */ PICO_ENTRY_TYPE,
/* entry_idx */ 0,
/* insert_flag */ true,
@@ -10044,7 +8963,7 @@ check_flush_cache__single_entry(H5F_t *file_ptr)
check_flush_cache__single_entry_test(
/* file_ptr */ file_ptr,
- /* test_num */ 34,
+ /* test_num */ 10,
/* entry_type */ PICO_ENTRY_TYPE,
/* entry_idx */ 0,
/* insert_flag */ true,
@@ -10059,7 +8978,7 @@ check_flush_cache__single_entry(H5F_t *file_ptr)
check_flush_cache__single_entry_test(
/* file_ptr */ file_ptr,
- /* test_num */ 35,
+ /* test_num */ 11,
/* entry_type */ PICO_ENTRY_TYPE,
/* entry_idx */ 0,
/* insert_flag */ true,
@@ -10074,7 +8993,7 @@ check_flush_cache__single_entry(H5F_t *file_ptr)
check_flush_cache__single_entry_test(
/* file_ptr */ file_ptr,
- /* test_num */ 36,
+ /* test_num */ 12,
/* entry_type */ PICO_ENTRY_TYPE,
/* entry_idx */ 0,
/* insert_flag */ true,
@@ -10089,7 +9008,7 @@ check_flush_cache__single_entry(H5F_t *file_ptr)
check_flush_cache__single_entry_test(
/* file_ptr */ file_ptr,
- /* test_num */ 37,
+ /* test_num */ 13,
/* entry_type */ PICO_ENTRY_TYPE,
/* entry_idx */ 0,
/* insert_flag */ true,
@@ -10104,7 +9023,7 @@ check_flush_cache__single_entry(H5F_t *file_ptr)
check_flush_cache__single_entry_test(
/* file_ptr */ file_ptr,
- /* test_num */ 38,
+ /* test_num */ 14,
/* entry_type */ PICO_ENTRY_TYPE,
/* entry_idx */ 0,
/* insert_flag */ true,
@@ -10119,37 +9038,7 @@ check_flush_cache__single_entry(H5F_t *file_ptr)
check_flush_cache__single_entry_test(
/* file_ptr */ file_ptr,
- /* test_num */ 39,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ true,
- /* flags */ H5C__NO_FLAGS_SET,
- /* flush_flags */ H5C__FLUSH_MARKED_ENTRIES_FLAG,
- /* expected_deserialized */ false,
- /* expected_serialized */ false,
- /* expected_destroyed */ false);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 40,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ true,
- /* flags */ H5C__NO_FLAGS_SET,
- /* flush_flags */ H5C__FLUSH_MARKED_ENTRIES_FLAG,
- /* expected_deserialized */ false,
- /* expected_serialized */ false,
- /* expected_destroyed */ false);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 41,
+ /* test_num */ 15,
/* entry_type */ PICO_ENTRY_TYPE,
/* entry_idx */ 0,
/* insert_flag */ true,
@@ -10164,7 +9053,7 @@ check_flush_cache__single_entry(H5F_t *file_ptr)
check_flush_cache__single_entry_test(
/* file_ptr */ file_ptr,
- /* test_num */ 42,
+ /* test_num */ 16,
/* entry_type */ PICO_ENTRY_TYPE,
/* entry_idx */ 0,
/* insert_flag */ true,
@@ -10175,340 +9064,6 @@ check_flush_cache__single_entry(H5F_t *file_ptr)
/* expected_destroyed */ true);
}
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 43,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ true,
- /* flags */ H5C__NO_FLAGS_SET,
- /* flush_flags */ H5C__FLUSH_MARKED_ENTRIES_FLAG | H5C__FLUSH_CLEAR_ONLY_FLAG,
- /* expected_deserialized */ false,
- /* expected_serialized */ false,
- /* expected_destroyed */ false);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 44,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ true,
- /* flags */ H5C__NO_FLAGS_SET,
- /* flush_flags */ H5C__FLUSH_MARKED_ENTRIES_FLAG | H5C__FLUSH_CLEAR_ONLY_FLAG,
- /* expected_deserialized */ false,
- /* expected_serialized */ false,
- /* expected_destroyed */ false);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 45,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ true,
- /* flags */ H5C__NO_FLAGS_SET,
- /* flush_flags */ H5C__FLUSH_MARKED_ENTRIES_FLAG | H5C__FLUSH_INVALIDATE_FLAG,
- /* expected_deserialized */ false,
- /* expected_serialized */ true,
- /* expected_destroyed */ true);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 46,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ true,
- /* flags */ H5C__NO_FLAGS_SET,
- /* flush_flags */ H5C__FLUSH_MARKED_ENTRIES_FLAG | H5C__FLUSH_INVALIDATE_FLAG,
- /* expected_deserialized */ false,
- /* expected_serialized */ true,
- /* expected_destroyed */ true);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 47,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ true,
- /* flags */ H5C__NO_FLAGS_SET,
- /* flush_flags */ H5C__FLUSH_INVALIDATE_FLAG | H5C__FLUSH_CLEAR_ONLY_FLAG |
- H5C__FLUSH_MARKED_ENTRIES_FLAG,
- /* expected_deserialized */ false,
- /* expected_serialized */ false,
- /* expected_destroyed */ true);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 48,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ true,
- /* flags */ H5C__NO_FLAGS_SET,
- /* flush_flags */ H5C__FLUSH_INVALIDATE_FLAG | H5C__FLUSH_CLEAR_ONLY_FLAG |
- H5C__FLUSH_MARKED_ENTRIES_FLAG,
- /* expected_deserialized */ false,
- /* expected_serialized */ false,
- /* expected_destroyed */ true);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 49,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ true,
- /* flags */ H5C__SET_FLUSH_MARKER_FLAG,
- /* flush_flags */ H5C__NO_FLAGS_SET,
- /* expected_deserialized */ false,
- /* expected_serialized */ true,
- /* expected_destroyed */ false);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 50,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ true,
- /* flags */ H5C__SET_FLUSH_MARKER_FLAG,
- /* flush_flags */ H5C__NO_FLAGS_SET,
- /* expected_deserialized */ false,
- /* expected_serialized */ true,
- /* expected_destroyed */ false);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 51,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ true,
- /* flags */ H5C__SET_FLUSH_MARKER_FLAG,
- /* flush_flags */ H5C__FLUSH_CLEAR_ONLY_FLAG,
- /* expected_deserialized */ false,
- /* expected_serialized */ false,
- /* expected_destroyed */ false);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 52,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ true,
- /* flags */ H5C__SET_FLUSH_MARKER_FLAG,
- /* flush_flags */ H5C__FLUSH_CLEAR_ONLY_FLAG,
- /* expected_deserialized */ false,
- /* expected_serialized */ false,
- /* expected_destroyed */ false);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 53,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ true,
- /* flags */ H5C__SET_FLUSH_MARKER_FLAG,
- /* flush_flags */ H5C__FLUSH_INVALIDATE_FLAG,
- /* expected_deserialized */ false,
- /* expected_serialized */ true,
- /* expected_destroyed */ true);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 54,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ true,
- /* flags */ H5C__SET_FLUSH_MARKER_FLAG,
- /* flush_flags */ H5C__FLUSH_INVALIDATE_FLAG,
- /* expected_deserialized */ false,
- /* expected_serialized */ true,
- /* expected_destroyed */ true);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 55,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ true,
- /* flags */ H5C__SET_FLUSH_MARKER_FLAG,
- /* flush_flags */ H5C__FLUSH_MARKED_ENTRIES_FLAG,
- /* expected_deserialized */ false,
- /* expected_serialized */ true,
- /* expected_destroyed */ false);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 56,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ true,
- /* flags */ H5C__SET_FLUSH_MARKER_FLAG,
- /* flush_flags */ H5C__FLUSH_MARKED_ENTRIES_FLAG,
- /* expected_deserialized */ false,
- /* expected_serialized */ true,
- /* expected_destroyed */ false);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 57,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ true,
- /* flags */ H5C__SET_FLUSH_MARKER_FLAG,
- /* flush_flags */ H5C__FLUSH_INVALIDATE_FLAG | H5C__FLUSH_CLEAR_ONLY_FLAG,
- /* expected_deserialized */ false,
- /* expected_serialized */ false,
- /* expected_destroyed */ true);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 58,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ true,
- /* flags */ H5C__SET_FLUSH_MARKER_FLAG,
- /* flush_flags */ H5C__FLUSH_INVALIDATE_FLAG | H5C__FLUSH_CLEAR_ONLY_FLAG,
- /* expected_deserialized */ false,
- /* expected_serialized */ false,
- /* expected_destroyed */ true);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 59,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ true,
- /* flags */ H5C__SET_FLUSH_MARKER_FLAG,
- /* flush_flags */ H5C__FLUSH_MARKED_ENTRIES_FLAG | H5C__FLUSH_CLEAR_ONLY_FLAG,
- /* expected_deserialized */ false,
- /* expected_serialized */ false,
- /* expected_destroyed */ false);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 60,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ true,
- /* flags */ H5C__SET_FLUSH_MARKER_FLAG,
- /* flush_flags */ H5C__FLUSH_MARKED_ENTRIES_FLAG | H5C__FLUSH_CLEAR_ONLY_FLAG,
- /* expected_deserialized */ false,
- /* expected_serialized */ false,
- /* expected_destroyed */ false);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 61,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ true,
- /* flags */ H5C__SET_FLUSH_MARKER_FLAG,
- /* flush_flags */ H5C__FLUSH_MARKED_ENTRIES_FLAG | H5C__FLUSH_INVALIDATE_FLAG,
- /* expected_deserialized */ false,
- /* expected_serialized */ true,
- /* expected_destroyed */ true);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 62,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ true,
- /* flags */ H5C__SET_FLUSH_MARKER_FLAG,
- /* flush_flags */ H5C__FLUSH_MARKED_ENTRIES_FLAG | H5C__FLUSH_INVALIDATE_FLAG,
- /* expected_deserialized */ false,
- /* expected_serialized */ true,
- /* expected_destroyed */ true);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 63,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ true,
- /* flags */ H5C__SET_FLUSH_MARKER_FLAG,
- /* flush_flags */ H5C__FLUSH_INVALIDATE_FLAG | H5C__FLUSH_CLEAR_ONLY_FLAG |
- H5C__FLUSH_MARKED_ENTRIES_FLAG,
- /* expected_deserialized */ false,
- /* expected_serialized */ false,
- /* expected_destroyed */ true);
- }
-
- if (pass) {
-
- check_flush_cache__single_entry_test(
- /* file_ptr */ file_ptr,
- /* test_num */ 64,
- /* entry_type */ PICO_ENTRY_TYPE,
- /* entry_idx */ 0,
- /* insert_flag */ true,
- /* flags */ H5C__SET_FLUSH_MARKER_FLAG,
- /* flush_flags */ H5C__FLUSH_INVALIDATE_FLAG | H5C__FLUSH_CLEAR_ONLY_FLAG |
- H5C__FLUSH_MARKED_ENTRIES_FLAG,
- /* expected_deserialized */ false,
- /* expected_serialized */ false,
- /* expected_destroyed */ true);
- }
-
/* Now run single entry tests for pinned entries. Test all combinations
* of:
*
@@ -10523,13 +9078,9 @@ check_flush_cache__single_entry(H5F_t *file_ptr)
*
* 5) Marked dirty by call to H5C_mark_entry_dirty() while pinned or not.
*
- * 6) Entry marked for flush or not.
- *
- * 7) Call flush with H5C__FLUSH_MARKED_ENTRIES_FLAG or not.
- *
- * 8) Call flush with H5C__FLUSH_CLEAR_ONLY_FLAG or not.
+ * 6) Call flush with H5C__FLUSH_CLEAR_ONLY_FLAG or not.
*
- * This yields a total of 256 tests.
+ * This yields a total of 64 tests.
*
* The tests and their expected results are given in the spec table
* below. The values assigned to the expected_serialized,
@@ -10548,24 +9099,10 @@ check_flush_cache__single_entry(H5F_t *file_ptr)
* was adapted from, and it doesn't do any particular harm.
*
* In general, we expect an entry to be flushed if it is dirty, and
- * flush in invoked WITHOUT the H5C__FLUSH_CLEAR_ONLY_FLAG. However,
- * there are exceptions: If flush is invoked with the
- * H5C__FLUSH_MARKED_ENTRIES_FLAG, only marked entries will be flushed.
- *
- * Further, unprotecting an entry with the H5C__SET_FLUSH_MARKER_FLAG
- * will NOT mark the entry unless the entry has either been marked
- * dirty either before or durting the unprotect call. This results in
- * some counterintuitive entries in the table. It make be useful to
- * look in the test code to see the exact order of operations.
+ * flush in invoked WITHOUT the H5C__FLUSH_CLEAR_ONLY_FLAG.
*
* Similarly, we expect an entry to be cleared if it is dirty, and
- * flush is invoked WITH the H5C__FLUSH_CLEAR_ONLY_FLAG. Again, there
- * are exceptions -- If flush is also invoked with the
- * H5C__FLUSH_MARKED_ENTRIES_FLAG, only the marked entries will be
- * cleared.
- *
- * The above comments about applying unprotect with the
- * H5C__SET_FLUSH_MARKER_FLAG apply here as well.
+ * flush is invoked WITH the H5C__FLUSH_CLEAR_ONLY_FLAG.
*/
if (pass) {
@@ -10573,14 +9110,14 @@ check_flush_cache__single_entry(H5F_t *file_ptr)
struct pinned_single_entry_test_spec *spec = NULL;
size_t i;
- spec = malloc(256 * sizeof(struct pinned_single_entry_test_spec));
+ spec = malloc(64 * sizeof(struct pinned_single_entry_test_spec));
if (spec == NULL) {
pass = false;
failure_mssg = "couldn't allocated pinned single entry test spec array";
}
- for (i = 0; i < 256; i++) {
+ for (i = 0; i < 64; i++) {
int test_num;
int entry_type;
int entry_idx;
@@ -10605,32 +9142,20 @@ check_flush_cache__single_entry(H5F_t *file_ptr)
pop_mark_dirty_pinned = (i / 2) % 2;
unprotect_unpin = i % 2;
- /* Generate alternating sequences of H5C__NO_FLAGS_SET
- * and H5C__SET_FLUSH_MARKER_FLAG
+ /* Flags are not used for this test
*/
- if ((i / 32) % 2)
- flags = H5C__SET_FLUSH_MARKER_FLAG;
- else
- flags = H5C__NO_FLAGS_SET;
+ flags = H5C__NO_FLAGS_SET;
/*
- * Generate sequences of H5C__NO_FLAGS_SET,
- * H5C__FLUSH_MARKED_ENTRIES_FLAG, H5C__FLUSH_CLEAR_ONLY_FLAG
- * and H5C__FLUSH_MARKED_ENTRIES_FLAG | H5C__FLUSH_CLEAR_ONLY_FLAG
+ * Generate sequences of H5C__NO_FLAGS_SET, and H5C__FLUSH_CLEAR_ONLY_FLAG
*/
- switch (i / 64) {
+ switch (i / 32) {
case 0:
flush_flags = H5C__NO_FLAGS_SET;
break;
case 1:
- flush_flags = H5C__FLUSH_MARKED_ENTRIES_FLAG;
- break;
- case 2:
flush_flags = H5C__FLUSH_CLEAR_ONLY_FLAG;
break;
- case 3:
- flush_flags = H5C__FLUSH_MARKED_ENTRIES_FLAG | H5C__FLUSH_CLEAR_ONLY_FLAG;
- break;
default:
flush_flags = H5C__NO_FLAGS_SET;
break;
@@ -10638,20 +9163,8 @@ check_flush_cache__single_entry(H5F_t *file_ptr)
expected_serialized = false;
if (0 == (flush_flags & H5C__FLUSH_CLEAR_ONLY_FLAG)) {
- if (flush_flags & H5C__FLUSH_MARKED_ENTRIES_FLAG) {
- if (flags & H5C__SET_FLUSH_MARKER_FLAG) {
- if (mark_dirty && pop_mark_dirty_prot) {
- expected_serialized = true;
- }
- else if (dirty_flag || pop_mark_dirty_prot) {
- expected_serialized = true;
- }
- }
- }
- else {
- if (dirty_flag || mark_dirty || pop_mark_dirty_prot || pop_mark_dirty_pinned)
- expected_serialized = true;
- }
+ if (dirty_flag || mark_dirty || pop_mark_dirty_prot || pop_mark_dirty_pinned)
+ expected_serialized = true;
}
expected_destroyed = false;
@@ -10673,7 +9186,7 @@ check_flush_cache__single_entry(H5F_t *file_ptr)
}
i = 0;
- while (pass && (i < 256)) {
+ while (pass && (i < 64)) {
check_flush_cache__pinned_single_entry_test(
/* file_ptr */ file_ptr,
/* test_num */ spec[i].test_num,
@@ -13715,7 +12228,7 @@ check_flush_protected_err(unsigned paged)
protect_entry(file_ptr, 0, 0);
/* enable slist prior to flush */
- if ((pass) && (H5C_set_slist_enabled(cache_ptr, true, false) < 0)) {
+ if ((pass) && (H5C_set_slist_enabled(cache_ptr, true, true) < 0)) {
pass = false;
failure_mssg = "unable to enable slist prior to flush.\n";
diff --git a/test/cache_common.h b/test/cache_common.h
index a9a8dbb..2e8a463 100644
--- a/test/cache_common.h
+++ b/test/cache_common.h
@@ -126,11 +126,6 @@
* for it to setup the slist on entry, and take it down
* on exit.
*
- * Note that the slist need not be empty if the flags
- * indicate a partial flush (i.e.
- * H5C__FLUSH_MARKED_ENTRIES_FLAG). Compute clear_slist
- * and pass it into H5C_set_slist_enabled as appropriate.
- *
* On error, set pass to false, and set failure_mssg
* to the supplied error message.
*
@@ -140,12 +135,9 @@
#define H5C_FLUSH_CACHE(file, flags, fail_mssg) \
{ \
- bool clear_slist; \
herr_t rslt; \
\
- clear_slist = ((flags & H5C__FLUSH_MARKED_ENTRIES_FLAG) != 0); \
- \
- rslt = H5C_set_slist_enabled((file)->shared->cache, true, false); \
+ rslt = H5C_set_slist_enabled((file)->shared->cache, true, true); \
\
if (rslt >= 0) { \
\
@@ -154,7 +146,7 @@
\
if (rslt >= 0) { \
\
- rslt = H5C_set_slist_enabled((file)->shared->cache, false, clear_slist); \
+ rslt = H5C_set_slist_enabled((file)->shared->cache, false, false); \
} \
\
if (rslt < 0) { \
diff --git a/test/cache_tagging.c b/test/cache_tagging.c
index 61b1dbe..9a86b8a 100644
--- a/test/cache_tagging.c
+++ b/test/cache_tagging.c
@@ -264,10 +264,7 @@ error:
*
* Purpose: Asserts that there is an entry in the specified cache with
* the provided entry id and provided tag. The function will
- * fail if this is not the case. If found, this function will
- * set the entry's flush_marker flag, so future verification
- * attempts can skip over this entry, knowing it has already been
- * checked.
+ * fail if this is not the case.
*
* Return: 0 on Success, -1 on Failure
*
@@ -328,7 +325,7 @@ evict_entries(hid_t fid)
mark_all_entries_investigated(fid);
/* setup the skip list prior to calling H5C_flush_cache() */
- if (H5C_set_slist_enabled(f->shared->cache, true, false) < 0)
+ if (H5C_set_slist_enabled(f->shared->cache, true, true) < 0)
TEST_ERROR;
/* Evict all we can from the cache to examine full tag creation tree */
@@ -337,8 +334,8 @@ evict_entries(hid_t fid)
*/
H5C_flush_cache(f, H5C__FLUSH_INVALIDATE_FLAG);
- /* shutdown the slist -- allow it to be non-empty */
- if (H5C_set_slist_enabled(f->shared->cache, false, true) < 0)
+ /* shutdown the slist */
+ if (H5C_set_slist_enabled(f->shared->cache, false, false) < 0)
TEST_ERROR;
return 0;
diff --git a/test/dt_arith.c b/test/dt_arith.c
index d3147cb..4a99811 100644
--- a/test/dt_arith.c
+++ b/test/dt_arith.c
@@ -3307,6 +3307,7 @@ error:
return MAX((int)fails_all_tests, 1);
else if (run_test == TEST_DENORM || run_test == TEST_SPECIAL)
return 1;
+ return 1;
#endif
}
diff --git a/test/h5test.c b/test/h5test.c
index 1f1430b..c9c5c10 100644
--- a/test/h5test.c
+++ b/test/h5test.c
@@ -2067,6 +2067,49 @@ error:
} /* end h5_check_if_file_locking_enabled() */
/*-------------------------------------------------------------------------
+ * Function: h5_check_file_locking_env_var
+ *
+ * Purpose: Checks if the HDF5_USE_FILE_LOCKING file locking
+ * environment variable is set and parses its value if so.
+ *
+ * If the environment variable is not set, both `use_locks`
+ * and `ignore_disabled_locks` will be set to FAIL to indicate
+ * this. Otherwise, they will each be set appropriately based
+ * on the setting for the environment variable.
+ *
+ * Return: Nothing
+ *
+ *-------------------------------------------------------------------------
+ */
+void
+h5_check_file_locking_env_var(htri_t *use_locks, htri_t *ignore_disabled_locks)
+{
+ char *lock_env_var = NULL;
+
+ assert(use_locks);
+ assert(ignore_disabled_locks);
+
+ lock_env_var = getenv(HDF5_USE_FILE_LOCKING);
+ if (lock_env_var && (!strcmp(lock_env_var, "FALSE") || !strcmp(lock_env_var, "0"))) {
+ *use_locks = false; /* Override: Never use locks */
+ *ignore_disabled_locks = FAIL;
+ }
+ else if (lock_env_var && !strcmp(lock_env_var, "BEST_EFFORT")) {
+ *use_locks = true; /* Override: Always use locks */
+ *ignore_disabled_locks = true; /* Override: Ignore disabled locks */
+ }
+ else if (lock_env_var && (!strcmp(lock_env_var, "TRUE") || !strcmp(lock_env_var, "1"))) {
+ *use_locks = true; /* Override: Always use locks */
+ *ignore_disabled_locks = false; /* Override: Don't ignore disabled locks */
+ }
+ else {
+ /* Environment variable not set, or not set correctly */
+ *use_locks = FAIL;
+ *ignore_disabled_locks = FAIL;
+ }
+}
+
+/*-------------------------------------------------------------------------
* Function: h5_using_native_vol
*
* Purpose: Checks if the VOL connector being used is (or the VOL
diff --git a/test/h5test.h b/test/h5test.h
index 8115207..8f78567 100644
--- a/test/h5test.h
+++ b/test/h5test.h
@@ -290,6 +290,7 @@ H5TEST_DLL const char *h5_get_version_string(H5F_libver_t libver);
H5TEST_DLL int h5_compare_file_bytes(char *fname1, char *fname2);
H5TEST_DLL int h5_duplicate_file_by_bytes(const char *orig, const char *dest);
H5TEST_DLL herr_t h5_check_if_file_locking_enabled(bool *are_enabled);
+H5TEST_DLL void h5_check_file_locking_env_var(htri_t *use_locks, htri_t *ignore_disabled_locks);
H5TEST_DLL herr_t h5_using_native_vol(hid_t fapl_id, hid_t obj_id, bool *is_native_vol);
H5TEST_DLL bool h5_using_default_driver(const char *drv_name);
H5TEST_DLL herr_t h5_using_parallel_driver(hid_t fapl_id, bool *driver_is_parallel);
diff --git a/test/links.c b/test/links.c
index e068d71..299a7c2 100644
--- a/test/links.c
+++ b/test/links.c
@@ -100,6 +100,8 @@ static const char *FILENAME[] = {"links0",
TMPDIR "extlinks21D", /* 49: */
TMPDIR "extlinks21E", /* 50: */
"extlinks21E", /* 51: (same as #50, only without the TMPDIR prefix) */
+ "extlinks22", /* 52: */
+ "extlinks22A", /* 53: */
NULL};
#define FAMILY_SIZE 1024
@@ -9821,6 +9823,225 @@ error:
} /* end external_set_elink_acc_flags() */
/*-------------------------------------------------------------------------
+ * Function: external_link_inherit_locking
+ *
+ * Purpose: Test that opening a file through an external link using a
+ * default FAPL will cause that file to inherit the parent
+ * file's file locking settings.
+ *
+ * Return: Success: 0
+ * Failure: 1
+ *
+ *-------------------------------------------------------------------------
+ */
+static int
+external_link_inherit_locking(hid_t fapl_id, bool new_format)
+{
+ htri_t use_locking_env = FAIL;
+ htri_t ignore_disabled_env = FAIL;
+ hid_t fid = H5I_INVALID_HID;
+ hid_t tmp_fid = H5I_INVALID_HID;
+ hid_t gid = H5I_INVALID_HID;
+ hid_t ext_fid = H5I_INVALID_HID;
+ hid_t file_fapl = H5I_INVALID_HID;
+ hid_t tmp_fapl = H5I_INVALID_HID;
+ bool use_locking = true;
+ bool ignore_disabled_locking = false;
+ char *filename = NULL;
+ char *ext_filename = NULL;
+
+ if (new_format)
+ TESTING("inheriting of file locking settings (w/new group format)");
+ else
+ TESTING("inheriting of file locking settings");
+
+ /* Get the settings for the file locking environment variables */
+ h5_check_file_locking_env_var(&use_locking_env, &ignore_disabled_env);
+
+ /* Check that external links are registered with the library */
+ if (H5Lis_registered(H5L_TYPE_EXTERNAL) != true)
+ TEST_ERROR;
+
+ if (NULL == (filename = malloc(NAME_BUF_SIZE)))
+ TEST_ERROR;
+ if (NULL == (ext_filename = malloc(NAME_BUF_SIZE)))
+ TEST_ERROR;
+
+ if ((file_fapl = H5Pcopy(fapl_id)) < 0)
+ TEST_ERROR;
+
+ /* Create external file */
+ h5_fixname(FILENAME[53], file_fapl, ext_filename, NAME_BUF_SIZE);
+ if ((ext_fid = H5Fcreate(ext_filename, H5F_ACC_TRUNC, H5P_DEFAULT, file_fapl)) < 0)
+ TEST_ERROR;
+ if (H5Fclose(ext_fid) < 0)
+ TEST_ERROR;
+
+ /* Create main file and link to external file */
+ h5_fixname(FILENAME[52], file_fapl, filename, NAME_BUF_SIZE);
+ if ((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, file_fapl)) < 0)
+ TEST_ERROR;
+ if (H5Lcreate_external(ext_filename, "/", fid, "ext_link", H5P_DEFAULT, H5P_DEFAULT) < 0)
+ TEST_ERROR;
+ if (H5Fclose(fid) < 0)
+ TEST_ERROR;
+
+ /* Test for file locking on unless disabled by environment variable */
+ if (use_locking_env != false) {
+ /* Set file locking on */
+ if (H5Pset_file_locking(file_fapl, true, true) < 0)
+ TEST_ERROR;
+
+ /* Open main file */
+ if ((fid = H5Fopen(filename, H5F_ACC_RDWR, file_fapl)) < 0)
+ TEST_ERROR;
+
+ /* Make sure that locking setting retrieved from access plist
+ * matches what we set.
+ */
+ if ((tmp_fapl = H5Fget_access_plist(fid)) < 0)
+ TEST_ERROR;
+ if (H5Pget_file_locking(tmp_fapl, &use_locking, &ignore_disabled_locking) < 0)
+ TEST_ERROR;
+ if (use_locking != true)
+ TEST_ERROR;
+ /* Check for "ignore disabled file locks" setting being on, unless
+ * disabled by environment variable
+ */
+ if (ignore_disabled_env != false && ignore_disabled_locking != true)
+ TEST_ERROR;
+ if (H5Pclose(tmp_fapl) < 0)
+ TEST_ERROR;
+
+ /* Open external file through link */
+ if ((gid = H5Gopen2(fid, "ext_link", H5P_DEFAULT)) < 0)
+ TEST_ERROR;
+
+ /* Get file ID for external file */
+ if ((tmp_fid = H5Iget_file_id(gid)) < 0)
+ TEST_ERROR;
+
+ /* Make sure that locking setting retrieved from external file's
+ * access plist matches what we set.
+ */
+ if ((tmp_fapl = H5Fget_access_plist(tmp_fid)) < 0)
+ TEST_ERROR;
+ if (H5Pget_file_locking(tmp_fapl, &use_locking, &ignore_disabled_locking) < 0)
+ TEST_ERROR;
+ if (use_locking != true)
+ TEST_ERROR;
+ /* Check for "ignore disabled file locks" setting being on, unless
+ * disabled by environment variable
+ */
+ if (ignore_disabled_env != false && ignore_disabled_locking != true)
+ TEST_ERROR;
+ if (H5Pclose(tmp_fapl) < 0)
+ TEST_ERROR;
+
+ if (H5Gclose(gid) < 0)
+ TEST_ERROR;
+ if (H5Fclose(tmp_fid) < 0)
+ TEST_ERROR;
+ if (H5Fclose(fid) < 0)
+ TEST_ERROR;
+ }
+
+ /* Test for file locking off unless force enabled by environment variable */
+ if (use_locking_env != true) {
+ /* Set file locking off */
+ if (H5Pset_file_locking(file_fapl, false, false) < 0)
+ TEST_ERROR;
+
+ /* Open main file */
+ if ((fid = H5Fopen(filename, H5F_ACC_RDWR, file_fapl)) < 0)
+ TEST_ERROR;
+
+ /* Make sure that locking setting retrieved from access plist
+ * matches what we set.
+ */
+ if ((tmp_fapl = H5Fget_access_plist(fid)) < 0)
+ TEST_ERROR;
+ if (H5Pget_file_locking(tmp_fapl, &use_locking, &ignore_disabled_locking) < 0)
+ TEST_ERROR;
+ if (use_locking != false)
+ TEST_ERROR;
+ /* Check for "ignore disabled file locks" setting being off, unless
+ * force enabled by environment variable
+ */
+ if (ignore_disabled_env != true && ignore_disabled_locking != false)
+ TEST_ERROR;
+ if (H5Pclose(tmp_fapl) < 0)
+ TEST_ERROR;
+
+ /* Open external file through link */
+ if ((gid = H5Gopen2(fid, "ext_link", H5P_DEFAULT)) < 0)
+ TEST_ERROR;
+
+ /* Get file ID for external file */
+ if ((tmp_fid = H5Iget_file_id(gid)) < 0)
+ TEST_ERROR;
+
+ /* Make sure that locking setting retrieved from external file's
+ * access plist matches what we set.
+ */
+ if ((tmp_fapl = H5Fget_access_plist(tmp_fid)) < 0)
+ TEST_ERROR;
+ if (H5Pget_file_locking(tmp_fapl, &use_locking, &ignore_disabled_locking) < 0)
+ TEST_ERROR;
+ if (use_locking != false)
+ TEST_ERROR;
+ /* Check for "ignore disabled file locks" setting being off, unless
+ * force enabled by environment variable
+ */
+ if (ignore_disabled_env != true && ignore_disabled_locking != false)
+ TEST_ERROR;
+ if (H5Pclose(tmp_fapl) < 0)
+ TEST_ERROR;
+
+ if (H5Gclose(gid) < 0)
+ TEST_ERROR;
+ if (H5Fclose(tmp_fid) < 0)
+ TEST_ERROR;
+ if (H5Fclose(fid) < 0)
+ TEST_ERROR;
+ }
+
+ if (H5Fdelete(ext_filename, file_fapl) < 0)
+ TEST_ERROR;
+ if (H5Fdelete(filename, file_fapl) < 0)
+ TEST_ERROR;
+
+ if (H5Pclose(file_fapl) < 0)
+ TEST_ERROR;
+
+ free(ext_filename);
+ ext_filename = NULL;
+ free(filename);
+ filename = NULL;
+
+ PASSED();
+
+ return SUCCEED;
+
+error:
+ H5E_BEGIN_TRY
+ {
+ H5Pclose(tmp_fapl);
+ H5Pclose(file_fapl);
+ H5Fclose(ext_fid);
+ H5Gclose(gid);
+ H5Fclose(tmp_fid);
+ H5Fclose(fid);
+ }
+ H5E_END_TRY
+
+ free(ext_filename);
+ free(filename);
+
+ return FAIL;
+}
+
+/*-------------------------------------------------------------------------
* Function: external_set_elink_cb
*
* Purpose: Verify functionality of H5P_set/get_elink_cb
@@ -23034,6 +23255,7 @@ main(void)
nerrors += external_set_elink_fapl2(my_fapl, new_format) < 0 ? 1 : 0;
nerrors += external_set_elink_fapl3(new_format) < 0 ? 1 : 0;
+ nerrors += external_link_inherit_locking(my_fapl, new_format) < 0 ? 1 : 0;
nerrors += external_set_elink_cb(my_fapl, new_format) < 0 ? 1 : 0;
#ifdef H5_HAVE_WINDOW_PATH
nerrors += external_link_win1(my_fapl, new_format) < 0 ? 1 : 0;
diff --git a/test/vol.c b/test/vol.c
index 43336c6..e29c6bb 100644
--- a/test/vol.c
+++ b/test/vol.c
@@ -865,6 +865,8 @@ test_basic_file_operation(const char *env_h5_drvr)
hid_t fapl_id2 = H5I_INVALID_HID;
hid_t fcpl_id = H5I_INVALID_HID;
+ htri_t use_locking_env = FAIL;
+ htri_t ignore_disabled_env = FAIL;
char filename[1024];
ssize_t obj_count;
hid_t obj_id_list[1];
@@ -894,6 +896,24 @@ test_basic_file_operation(const char *env_h5_drvr)
if (H5Pset_metadata_read_attempts(fapl_id, 9) < 0)
TEST_ERROR;
+ /* Similar to the above, make sure the FAPL has an appropriate file locking
+ * setting if the HDF5_USE_FILE_LOCKING environment variable was set so that
+ * the H5Pequal call will work correctly.
+ */
+ h5_check_file_locking_env_var(&use_locking_env, &ignore_disabled_env);
+ if (use_locking_env != FAIL) {
+ hbool_t default_use_locking = true;
+ hbool_t default_ignore_disabled_locks = true;
+
+ if (H5Pget_file_locking(H5P_DEFAULT, &default_use_locking, &default_ignore_disabled_locks) < 0)
+ TEST_ERROR;
+
+ if (H5Pset_file_locking(fapl_id, (bool)use_locking_env,
+ (ignore_disabled_env == FAIL) ? default_ignore_disabled_locks
+ : (bool)ignore_disabled_env) < 0)
+ TEST_ERROR;
+ }
+
/* H5Fcreate */
if ((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl_id)) < 0)
TEST_ERROR;