From: Colin Patrick McCabe Date: Wed, 17 Aug 2011 00:48:04 +0000 (-0700) Subject: test/rados-api/snapshots.cc: C++ version X-Git-Tag: v0.34~81^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b8b14c9c09cfc4755e7a2ca2e4a13994865f7757;p=ceph.git test/rados-api/snapshots.cc: C++ version Signed-off-by: Colin McCabe --- diff --git a/src/test/rados-api/snapshots.cc b/src/test/rados-api/snapshots.cc index 20acb6d3f3f1..4c7572ff4ead 100644 --- a/src/test/rados-api/snapshots.cc +++ b/src/test/rados-api/snapshots.cc @@ -29,6 +29,28 @@ TEST(LibRadosSnapshots, SnapList) { ASSERT_EQ(0, destroy_one_pool(pool_name, &cluster)); } +TEST(LibRadosSnapshots, SnapListPP) { + Rados cluster; + std::string pool_name = get_temp_pool_name(); + ASSERT_EQ("", create_one_pool_pp(pool_name, cluster)); + IoCtx ioctx; + cluster.ioctx_create(pool_name.c_str(), ioctx); + char buf[128]; + memset(buf, 0xcc, sizeof(buf)); + bufferlist bl1; + bl1.append(buf, sizeof(buf)); + ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), 0)); + ASSERT_EQ(0, ioctx.snap_create("snap1")); + std::vector snaps; + ASSERT_EQ(0, ioctx.snap_list(&snaps)); + ASSERT_EQ(1U, snaps.size()); + snap_t rid; + ASSERT_EQ(0, ioctx.snap_lookup("snap1", &rid)); + ASSERT_EQ(rid, snaps[0]); + ioctx.close(); + ASSERT_EQ(0, destroy_one_pool_pp(pool_name, cluster)); +} + TEST(LibRadosSnapshots, SnapRemove) { char buf[128]; rados_t cluster; @@ -47,6 +69,26 @@ TEST(LibRadosSnapshots, SnapRemove) { ASSERT_EQ(0, destroy_one_pool(pool_name, &cluster)); } +TEST(LibRadosSnapshots, SnapRemovePP) { + char buf[128]; + 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, 0xcc, sizeof(buf)); + bufferlist bl1; + bl1.append(buf, sizeof(buf)); + ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), 0)); + ASSERT_EQ(0, ioctx.snap_create("snap1")); + rados_snap_t rid; + ASSERT_EQ(0, ioctx.snap_lookup("snap1", &rid)); + ASSERT_EQ(0, ioctx.snap_remove("snap1")); + ASSERT_EQ(-ENOENT, ioctx.snap_lookup("snap1", &rid)); + ioctx.close(); + ASSERT_EQ(0, destroy_one_pool_pp(pool_name, cluster)); +} + TEST(LibRadosSnapshots, Rollback) { char buf[128]; rados_t cluster;