From fcff09cb8536f35aee3eb7a7e17c480fc186317f Mon Sep 17 00:00:00 2001 From: Matthew Larson Date: Wed, 12 Jul 2023 11:59:57 -0500 Subject: [PATCH] Fix visit attribute test --- vol_object_test.c | 34 +++++++++++++++++++++------------- vol_object_test.h | 6 +++--- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/vol_object_test.c b/vol_object_test.c index 01e6b2a..38cde01 100644 --- a/vol_object_test.c +++ b/vol_object_test.c @@ -5159,24 +5159,24 @@ test_object_visit(void) goto error; } - if ((group_id3 = H5Gcreate2(file_id2, OBJECT_VISIT_TEST_GROUP_NAME3, H5P_DEFAULT, gcpl_id, H5P_DEFAULT)) < + if ((group_id3 = H5Gcreate2(file_id2, OBJECT_VISIT_TEST_GROUP_NAME_PARENT, H5P_DEFAULT, gcpl_id, H5P_DEFAULT)) < 0) { H5_FAILED(); - HDprintf(" couldn't create group '%s'\n", OBJECT_VISIT_TEST_GROUP_NAME3); + HDprintf(" couldn't create group '%s'\n", OBJECT_VISIT_TEST_GROUP_NAME_PARENT); goto error; } if ((group_id4 = - H5Gcreate2(group_id3, OBJECT_VISIT_TEST_GROUP_NAME4, H5P_DEFAULT, gcpl_id, H5P_DEFAULT)) < 0) { + H5Gcreate2(group_id3, OBJECT_VISIT_TEST_GROUP_NAME_CHILD, H5P_DEFAULT, gcpl_id, H5P_DEFAULT)) < 0) { H5_FAILED(); - HDprintf(" couldn't create group '%s'\n", OBJECT_VISIT_TEST_GROUP_NAME4); + HDprintf(" couldn't create group '%s'\n", OBJECT_VISIT_TEST_GROUP_NAME_CHILD); goto error; } if ((group_id5 = - H5Gcreate2(group_id4, OBJECT_VISIT_TEST_GROUP_NAME5, H5P_DEFAULT, gcpl_id, H5P_DEFAULT)) < 0) { + H5Gcreate2(group_id4, OBJECT_VISIT_TEST_GROUP_NAME_GRANDCHILD, H5P_DEFAULT, gcpl_id, H5P_DEFAULT)) < 0) { H5_FAILED(); - HDprintf(" couldn't create group '%s'\n", OBJECT_VISIT_TEST_GROUP_NAME5); + HDprintf(" couldn't create group '%s'\n", OBJECT_VISIT_TEST_GROUP_NAME_GRANDCHILD); goto error; } @@ -5386,7 +5386,7 @@ test_object_visit(void) i = 0; - if (H5Ovisit3(attr_id, H5_INDEX_CRT_ORDER, H5_ITER_INC, object_visit_callback, &i, H5O_INFO_ALL) < + if (H5Ovisit3(attr_id, H5_INDEX_CRT_ORDER, H5_ITER_INC, object_visit_simple_callback, &i, H5O_INFO_ALL) < 0) { H5_FAILED(); HDprintf(" H5Ovisit on an attribute failed!\n"); @@ -5639,8 +5639,8 @@ test_object_visit(void) i = 0; - if (H5Ovisit_by_name(group_id, OBJECT_VISIT_TEST_ATTR_NAME, H5_INDEX_CRT_ORDER, H5_ITER_INC, - object_visit_callback, &i, H5O_INFO_ALL, H5P_DEFAULT) < 0) { + if (H5Ovisit_by_name(attr_id, ".", H5_INDEX_CRT_ORDER, H5_ITER_INC, + object_visit_simple_callback, &i, H5O_INFO_ALL, H5P_DEFAULT) < 0) { H5_FAILED(); HDprintf(" H5Ovisit_by_name on an attribute failed!\n"); PART_ERROR(H5Ovisit_by_name_attr); @@ -7182,10 +7182,10 @@ object_visit_callback(hid_t o_id, const char *name, const H5O_info2_t *object_in UNUSED(o_id); - if (!HDstrcmp(name, OBJECT_VISIT_TEST_GROUP_NAME3) || - !HDstrcmp(name, OBJECT_VISIT_TEST_GROUP_NAME3 "/" OBJECT_VISIT_TEST_GROUP_NAME4) || - !HDstrcmp(name, OBJECT_VISIT_TEST_GROUP_NAME3 "/" OBJECT_VISIT_TEST_GROUP_NAME4 - "/" OBJECT_VISIT_TEST_GROUP_NAME5)) { + if (!HDstrcmp(name, OBJECT_VISIT_TEST_GROUP_NAME_PARENT) || + !HDstrcmp(name, OBJECT_VISIT_TEST_GROUP_NAME_PARENT "/" OBJECT_VISIT_TEST_GROUP_NAME_CHILD) || + !HDstrcmp(name, OBJECT_VISIT_TEST_GROUP_NAME_PARENT "/" OBJECT_VISIT_TEST_GROUP_NAME_CHILD + "/" OBJECT_VISIT_TEST_GROUP_NAME_GRANDCHILD)) { (*i)--; goto done; } @@ -7310,6 +7310,14 @@ object_visit_soft_link_callback(hid_t o_id, const char *name, const H5O_info2_t UNUSED(o_id); + if (!HDstrcmp(name, OBJECT_VISIT_TEST_GROUP_NAME_PARENT) || + !HDstrcmp(name, OBJECT_VISIT_TEST_GROUP_NAME_PARENT "/" OBJECT_VISIT_TEST_GROUP_NAME_CHILD) || + !HDstrcmp(name, OBJECT_VISIT_TEST_GROUP_NAME_PARENT "/" OBJECT_VISIT_TEST_GROUP_NAME_CHILD + "/" OBJECT_VISIT_TEST_GROUP_NAME_GRANDCHILD)) { + (*i)--; + goto done; + } + if (!HDstrncmp(name, ".", strlen(".") + 1) && (counter_val <= 5)) { if (H5O_TYPE_GROUP == object_info->type) goto done; diff --git a/vol_object_test.h b/vol_object_test.h index 22cfd3b..ea2b3ca 100644 --- a/vol_object_test.h +++ b/vol_object_test.h @@ -125,13 +125,13 @@ int vol_object_test(void); #define OBJECT_VISIT_TEST_SUBGROUP_NAME "object_visit_test" #define OBJECT_VISIT_TEST_SPACE_RANK 2 #define OBJECT_VISIT_TEST_GROUP_NAME "object_visit_test_group" -#define OBJECT_VISIT_TEST_GROUP_NAME3 "object_visit_test_group3" -#define OBJECT_VISIT_TEST_GROUP_NAME4 "object_visit_test_group4" -#define OBJECT_VISIT_TEST_GROUP_NAME5 "object_visit_test_group5" #define OBJECT_VISIT_TEST_DSET_NAME "object_visit_test_dset" #define OBJECT_VISIT_TEST_TYPE_NAME "object_visit_test_type" #define OBJECT_VISIT_TEST_ATTR_NAME "object_visit_test_attr" #define OBJECT_VISIT_TEST_FILE_NAME "object_visit_test_file" +#define OBJECT_VISIT_TEST_GROUP_NAME_PARENT "object_visit_test_group_parent" +#define OBJECT_VISIT_TEST_GROUP_NAME_CHILD "object_visit_test_group_child" +#define OBJECT_VISIT_TEST_GROUP_NAME_GRANDCHILD "object_visit_test_group_grandchild" #define OBJECT_VISIT_SOFT_LINK_TEST_NUM_OBJS_VISITED 1 #define OBJECT_VISIT_SOFT_LINK_TEST_SUBGROUP_NAME "object_visit_soft_link"