From 78f0f2d9f19d205f9bbd9eafbfe6c85ef3cafce5 Mon Sep 17 00:00:00 2001 From: Colin Patrick McCabe Date: Wed, 10 Aug 2011 15:55:27 -0700 Subject: [PATCH] test/rados-api/snapshots: add SelfManagedSnapTest Signed-off-by: Colin McCabe --- src/test/rados-api/snapshots.cc | 34 +++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/src/test/rados-api/snapshots.cc b/src/test/rados-api/snapshots.cc index 2b68a0d2bd3c8..8dc0ddd06e0c3 100644 --- a/src/test/rados-api/snapshots.cc +++ b/src/test/rados-api/snapshots.cc @@ -4,13 +4,6 @@ #include #include "gtest/gtest.h" -///* snapshots */ -//void rados_ioctx_snap_set_read(rados_ioctx_t io, rados_snap_t snap); -//int rados_ioctx_selfmanaged_snap_create(rados_ioctx_t io, uint64_t *snapid); -//int rados_ioctx_selfmanaged_snap_remove(rados_ioctx_t io, uint64_t snapid); -//int rados_ioctx_selfmanaged_snap_rollback(rados_ioctx_t io, const char *oid, uint64_t snapid); -//int rados_ioctx_selfmanaged_snap_set_write_ctx(rados_ioctx_t io, rados_snap_t seq, rados_snap_t *snaps, int num_snaps); - TEST(LibRadosSnapshots, SnapList) { char buf[128]; rados_t cluster; @@ -82,7 +75,7 @@ TEST(LibRadosSnapshots, SnapGetName) { ASSERT_EQ(0, rados_ioctx_snap_create(ioctx, "snapfoo")); rados_snap_t rid; ASSERT_EQ(0, rados_ioctx_snap_lookup(ioctx, "snapfoo", &rid)); - ASSERT_EQ(0, rados_ioctx_snap_lookup(ioctx, "snapfoo", &rid)); + ASSERT_EQ(-ENOENT, rados_ioctx_snap_lookup(ioctx, "snapbar", &rid)); char name[128]; memset(name, 0, sizeof(name)); ASSERT_EQ(0, rados_ioctx_snap_get_name(ioctx, rid, name, sizeof(name))); @@ -93,4 +86,29 @@ TEST(LibRadosSnapshots, SnapGetName) { ASSERT_EQ(0, destroy_one_pool(pool_name, &cluster)); } +TEST(LibRadosSnapshots, SelfManagedSnapTest) { + char buf[128]; + rados_t cluster; + rados_ioctx_t ioctx; + std::string pool_name = get_temp_pool_name(); + ASSERT_EQ("", create_one_pool(pool_name, &cluster)); + rados_ioctx_create(cluster, pool_name.c_str(), &ioctx); + memset(buf, 0xcc, sizeof(buf)); + ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0)); + uint64_t snapid; + ASSERT_EQ(0, rados_ioctx_selfmanaged_snap_create(ioctx, &snapid)); + char buf2[sizeof(buf)]; + memset(buf2, 0xdd, sizeof(buf2)); + ASSERT_EQ(0, rados_write_full(ioctx, "foo", buf2, sizeof(buf2), 0)); + //rados_ioctx_snap_set_read(ioctx, snapid); + //ASSERT_EQ(0, rados_ioctx_selfmanaged_snap_rollback(ioctx, "foo", snapid)); +// char buf3[sizeof(buf)]; +// memset(buf3, 0, sizeof(buf3)); +// ASSERT_EQ((int)sizeof(buf3), rados_read(ioctx, "foo", buf3, sizeof(buf3), 0)); +// ASSERT_EQ(0, memcmp(buf, buf3, sizeof(buf3))); + ASSERT_EQ(0, rados_ioctx_selfmanaged_snap_remove(ioctx, snapid)); + rados_ioctx_destroy(ioctx); + ASSERT_EQ(0, destroy_one_pool(pool_name, &cluster)); +} +// int rados_ioctx_selfmanaged_snap_set_write_ctx(rados_ioctx_t io, rados_snap_t seq, rados_snap_t *snaps, int num_snaps); -- 2.39.5