From: Colin Patrick McCabe Date: Thu, 18 Aug 2011 19:41:10 +0000 (-0700) Subject: test/rados-api/misc.cc: test CloneRangePP X-Git-Tag: v0.34~49^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=17ee7f8fcd48c252428bb7026dd390ac71ffd625;p=ceph.git test/rados-api/misc.cc: test CloneRangePP Signed-off-by: Colin McCabe --- diff --git a/src/test/rados-api/misc.cc b/src/test/rados-api/misc.cc index d4aef542017e..2a2067a449a6 100644 --- a/src/test/rados-api/misc.cc +++ b/src/test/rados-api/misc.cc @@ -223,6 +223,8 @@ TEST(LibRadosMisc, Operate2PP) { time_t mtime; ASSERT_EQ(0, ioctx.stat("foo", &size, &mtime)); ASSERT_EQ(0U, size); + ioctx.close(); + ASSERT_EQ(0, destroy_one_pool_pp(pool_name, cluster)); } void set_completion_complete(rados_completion_t cb, void *arg) @@ -268,6 +270,28 @@ TEST(LibRadosMisc, AioOperatePP) { time_t mtime; ASSERT_EQ(0, ioctx.stat("foo", &size, &mtime)); ASSERT_EQ(1024U, size); + ioctx.close(); + ASSERT_EQ(0, destroy_one_pool_pp(pool_name, cluster)); +} + +TEST(LibRadosMisc, CloneRangePP) { + Rados cluster; + std::string pool_name = get_temp_pool_name(); + ASSERT_EQ("", create_one_pool_pp(pool_name, cluster)); + IoCtx ioctx; + ASSERT_EQ(0, cluster.ioctx_create(pool_name.c_str(), ioctx)); + char buf[64]; + memset(buf, 0xcc, sizeof(buf)); + bufferlist bl; + bl.append(buf, sizeof(buf)); + ASSERT_EQ(sizeof(buf), (size_t)ioctx.write("foo", bl, sizeof(buf), 0)); + ioctx.locator_set_key("foo"); + ASSERT_EQ(0, ioctx.clone_range("bar", 0, "foo", 0, sizeof(buf))); + bufferlist bl2; + ASSERT_EQ(sizeof(buf), (size_t)ioctx.read("bar", bl2, sizeof(buf), 0)); + ASSERT_EQ(0, memcmp(buf, bl2.c_str(), sizeof(buf))); + ioctx.close(); + ASSERT_EQ(0, destroy_one_pool_pp(pool_name, cluster)); } //TEST(LibRadosMisc, CloneRange) {