]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
test/rados-api/snapshots.cc: test SnapGetName
authorColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Wed, 10 Aug 2011 22:27:53 +0000 (15:27 -0700)
committerColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Wed, 10 Aug 2011 22:27:53 +0000 (15:27 -0700)
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
src/test/rados-api/snapshots.cc

index 002f7615b9140dda29781386757a7874a488534a..2b68a0d2bd3c8f903546e8040b9332ffdb773110 100644 (file)
@@ -5,16 +5,11 @@
 #include "gtest/gtest.h"
 
 ///* snapshots */
-//int rados_rollback(rados_ioctx_t io, const char *oid,
-//                const char *snapname);
 //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);
-//
-//int rados_ioctx_snap_get_name(rados_ioctx_t io, rados_snap_t id, char *name, int maxlen);
-//int rados_ioctx_snap_get_stamp(rados_ioctx_t io, rados_snap_t id, time_t *t);
 
 TEST(LibRadosSnapshots, SnapList) {
   char buf[128];
@@ -74,3 +69,28 @@ TEST(LibRadosSnapshots, Rollback) {
   rados_ioctx_destroy(ioctx);
   ASSERT_EQ(0, destroy_one_pool(pool_name, &cluster));
 }
+
+TEST(LibRadosSnapshots, SnapGetName) {
+  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));
+  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));
+  char name[128];
+  memset(name, 0, sizeof(name));
+  ASSERT_EQ(0, rados_ioctx_snap_get_name(ioctx, rid, name, sizeof(name)));
+  time_t snaptime;
+  ASSERT_EQ(0, rados_ioctx_snap_get_stamp(ioctx, rid, &snaptime));
+  ASSERT_EQ(0, strcmp(name, "snapfoo"));
+  rados_ioctx_destroy(ioctx);
+  ASSERT_EQ(0, destroy_one_pool(pool_name, &cluster));
+}
+
+