From: Colin Patrick McCabe Date: Thu, 11 Aug 2011 20:56:12 +0000 (-0700) Subject: test/rados-api/io.cc: test XattrsRoundTripPP X-Git-Tag: v0.34~81^2~24 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4781fa869562ce60de3ea9da5cf4d4e18e3a8105;p=ceph.git test/rados-api/io.cc: test XattrsRoundTripPP Signed-off-by: Colin McCabe --- diff --git a/src/test/rados-api/io.cc b/src/test/rados-api/io.cc index 8057ada21b54..afdbaa8433f2 100644 --- a/src/test/rados-api/io.cc +++ b/src/test/rados-api/io.cc @@ -299,6 +299,32 @@ TEST(LibRadosIo, XattrsRoundTrip) { ASSERT_EQ(0, destroy_one_pool(pool_name, &cluster)); } +TEST(LibRadosIo, XattrsRoundTripPP) { + char buf[128]; + char attr1[] = "attr1"; + char attr1_buf[] = "foo bar baz"; + Rados cluster; + IoCtx ioctx; + std::string pool_name = get_temp_pool_name(); + ASSERT_EQ("", create_one_pool_pp(pool_name, cluster)); + cluster.ioctx_create(pool_name.c_str(), ioctx); + memset(buf, 0xaa, sizeof(buf)); + bufferlist bl1; + bl1.append(buf, sizeof(buf)); + ASSERT_EQ((int)sizeof(buf), ioctx.append("foo", bl1, sizeof(buf))); + bufferlist bl2; + ASSERT_EQ(-ENODATA, ioctx.getxattr("foo", attr1, bl2)); + bufferlist bl3; + bl3.append(attr1_buf, sizeof(attr1_buf)); + ASSERT_EQ((int)sizeof(attr1_buf), ioctx.setxattr("foo", attr1, bl3)); + bufferlist bl4; + ASSERT_EQ((int)sizeof(attr1_buf), + ioctx.getxattr("foo", attr1, bl4)); + ASSERT_EQ(0, memcmp(bl4.c_str(), attr1_buf, sizeof(attr1_buf))); + ioctx.close(); + ASSERT_EQ(0, destroy_one_pool_pp(pool_name, cluster)); +} + TEST(LibRadosIo, RmXattr) { char buf[128]; char attr1[] = "attr1";