From: Haomai Wang Date: Mon, 9 Mar 2015 07:28:04 +0000 (+0800) Subject: librbd: Add tests for metadata get operation X-Git-Tag: v9.0.0~153^2~6 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=933702d20cc000787ab37eb044cdf13990dce78d;p=ceph.git librbd: Add tests for metadata get operation Signed-off-by: Haomai Wang --- diff --git a/src/test/cls_rbd/test_cls_rbd.cc b/src/test/cls_rbd/test_cls_rbd.cc index 601f9a617a046..76c119b33a163 100644 --- a/src/test/cls_rbd/test_cls_rbd.cc +++ b/src/test/cls_rbd/test_cls_rbd.cc @@ -57,6 +57,7 @@ using ::librbd::cls_client::set_flags; using ::librbd::cls_client::metadata_set; using ::librbd::cls_client::metadata_remove; using ::librbd::cls_client::metadata_list; +using ::librbd::cls_client::metadata_get; static char *random_buf(size_t len) { @@ -1078,11 +1079,14 @@ TEST_F(TestClsRbd, metadata) ASSERT_EQ(0, create_image(&ioctx, oid, 0, 22, 0, oid)); map pairs; + string value; ASSERT_EQ(0, metadata_list(&ioctx, oid, &pairs)); ASSERT_TRUE(pairs.empty()); ASSERT_EQ(0, metadata_set(&ioctx, oid, "key1", "value1")); ASSERT_EQ(0, metadata_set(&ioctx, oid, "key2", "value2")); + ASSERT_EQ(0, metadata_get(&ioctx, oid, "key1", &value)); + ASSERT_EQ(0, strcmp("value1", value.c_str())); ASSERT_EQ(0, metadata_list(&ioctx, oid, &pairs)); ASSERT_EQ(2U, pairs.size()); ASSERT_EQ(0, strcmp("value1", pairs["key1"].c_str())); @@ -1091,6 +1095,7 @@ TEST_F(TestClsRbd, metadata) pairs.clear(); ASSERT_EQ(0, metadata_remove(&ioctx, oid, "key1")); ASSERT_EQ(0, metadata_remove(&ioctx, oid, "key3")); + ASSERT_TRUE(metadata_get(&ioctx, oid, "key1", &value) < 0); ASSERT_EQ(0, metadata_list(&ioctx, oid, &pairs)); ASSERT_EQ(1U, pairs.size()); ASSERT_EQ(0, strcmp("value2", pairs["key2"].c_str())); diff --git a/src/test/librbd/test_librbd.cc b/src/test/librbd/test_librbd.cc index f9c7b6b17f2ef..ab336c1ebec90 100644 --- a/src/test/librbd/test_librbd.cc +++ b/src/test/librbd/test_librbd.cc @@ -2604,10 +2604,11 @@ TEST_F(TestLibRBD, Metadata) ASSERT_EQ(0, _rados.ioctx_create(m_pool_name.c_str(), ioctx)); librbd::RBD rbd; - std::string name = get_temp_image_name(); + string name = get_temp_image_name(); uint64_t size = 2 << 20; int order = 0; uint64_t features; + string value; ASSERT_EQ(0, create_image_pp(rbd, ioctx, name.c_str(), size, &order)); librbd::Image image1; @@ -2618,6 +2619,8 @@ TEST_F(TestLibRBD, Metadata) ASSERT_EQ(0, image1.metadata_set("key1", "value1")); ASSERT_EQ(0, image1.metadata_set("key2", "value2")); + ASSERT_EQ(0, image1.metadata_get("key1", &value)); + ASSERT_EQ(0, strcmp("value1", value.c_str())); ASSERT_EQ(0, image1.metadata_list(&pairs)); ASSERT_EQ(2U, pairs.size()); ASSERT_EQ(0, strcmp("value1", pairs["key1"].c_str())); @@ -2626,6 +2629,7 @@ TEST_F(TestLibRBD, Metadata) pairs.clear(); ASSERT_EQ(0, image1.metadata_remove("key1")); ASSERT_EQ(0, image1.metadata_remove("key3")); + ASSERT_TRUE(image1.metadata_get("key3", &value) < 0); ASSERT_EQ(0, image1.metadata_list(&pairs)); ASSERT_EQ(1U, pairs.size()); ASSERT_EQ(0, strcmp("value2", pairs["key2"].c_str())); @@ -2665,4 +2669,5 @@ TEST_F(TestLibRBD, Metadata) pairs.clear(); ASSERT_EQ(0, image1.metadata_list(&pairs)); ASSERT_EQ(3U, pairs.size()); + ASSERT_EQ(-ENOENT, image1.metadata_get("key4", &value)); }