]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
test/librbd: add get_group test 44204/head
authorsongtongshuai_yewu <songtongshuai_yewu@cmss.chinamobile.com>
Fri, 3 Dec 2021 14:29:03 +0000 (09:29 -0500)
committersongtongshuai_yewu <songtongshuai_yewu@cmss.chinamobile.com>
Fri, 3 Dec 2021 16:20:04 +0000 (11:20 -0500)
Signed-off-by: songtongshuai_yewu <songtongshuai_yewu@cmss.chinamobile.com>
src/test/librbd/test_Groups.cc

index 29b29e478a55155a66f0f4c8dd925ad38033cb75..8be7e2abab312d7e0b2101247c99f1d7f719b2a9 100644 (file)
@@ -97,9 +97,19 @@ TEST_F(TestGroup, add_image)
   ASSERT_EQ(0, rbd_get_op_features(image, &op_features));
   ASSERT_TRUE((op_features & RBD_OPERATION_FEATURE_GROUP) == 0ULL);
 
+  rbd_group_info_t group_info;
+  ASSERT_EQ(0, rbd_get_group(image, &group_info, sizeof(group_info)));
+  ASSERT_EQ(0,strcmp("", group_info.name));
+  ASSERT_EQ(RBD_GROUP_INVALID_POOL, group_info.pool);
+
   ASSERT_EQ(0, rbd_group_image_add(ioctx, group_name, ioctx,
                                    m_image_name.c_str()));
 
+  ASSERT_EQ(-ERANGE, rbd_get_group(image, &group_info, 0));
+  ASSERT_EQ(0, rbd_get_group(image, &group_info, sizeof(group_info)));
+  ASSERT_EQ(0, strcmp(group_name, group_info.name));
+  ASSERT_EQ(rados_ioctx_get_id(ioctx), group_info.pool);
+
   ASSERT_EQ(0, rbd_get_features(image, &features));
   ASSERT_TRUE((features & RBD_FEATURE_OPERATIONS) ==
                 RBD_FEATURE_OPERATIONS);
@@ -162,9 +172,19 @@ TEST_F(TestGroup, add_imagePP)
   ASSERT_EQ(0, image.get_op_features(&op_features));
   ASSERT_TRUE((op_features & RBD_OPERATION_FEATURE_GROUP) == 0ULL);
 
+  librbd::group_info_t group_info;
+  ASSERT_EQ(0, image.get_group(&group_info, sizeof(group_info)));
+  ASSERT_EQ(std::string(""), group_info.name);
+  ASSERT_EQ(RBD_GROUP_INVALID_POOL, group_info.pool);
+
   ASSERT_EQ(0, rbd.group_image_add(ioctx, group_name, ioctx,
                                    m_image_name.c_str()));
 
+  ASSERT_EQ(-ERANGE, image.get_group(&group_info, 0));
+  ASSERT_EQ(0, image.get_group(&group_info, sizeof(group_info)));
+  ASSERT_EQ(std::string(group_name), group_info.name);
+  ASSERT_EQ(ioctx.get_id(), group_info.pool);
+
   ASSERT_EQ(0, image.features(&features));
   ASSERT_TRUE((features & RBD_FEATURE_OPERATIONS) ==
                 RBD_FEATURE_OPERATIONS);