]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
add snap rename unit test in test_librbd.cc
authorxinxin shu <xinxin.shu@intel.com>
Mon, 24 Aug 2015 02:35:57 +0000 (10:35 +0800)
committerxinxin shu <xinxin.shu@intel.com>
Wed, 2 Sep 2015 23:52:28 +0000 (07:52 +0800)
Signed-off-by: xinxin shu <xinxin.shu@intel.com>
src/test/librbd/test_librbd.cc

index c491533d1c29517bb12a8c8b175c5fd2647a88e7..aabdaf1d80ede79cbe00757e2f7f1a10bb0e5b58 100644 (file)
@@ -667,6 +667,47 @@ TEST_F(TestLibRBD, TestCreateLsDeleteSnapPP)
   ioctx.close();
 }
 
+TEST_F(TestLibRBD, TestCreateLsRenameSnapPP)
+{
+  librados::IoCtx ioctx;
+  ASSERT_EQ(0, _rados.ioctx_create(m_pool_name.c_str(), ioctx));
+
+  {
+    librbd::RBD rbd;
+    librbd::Image image;
+    int order = 0;
+    std::string name = get_temp_image_name();
+    uint64_t size = 2 << 20;
+    uint64_t size2 = 4 << 20;
+    
+    ASSERT_EQ(0, create_image_pp(rbd, ioctx, name.c_str(), size, &order));
+    ASSERT_EQ(0, rbd.open(ioctx, image, name.c_str(), NULL));
+
+    ASSERT_FALSE(image.snap_exists("snap1"));
+    ASSERT_EQ(0, image.snap_create("snap1"));
+    ASSERT_TRUE(image.snap_exists("snap1"));
+    ASSERT_EQ(1, test_ls_snaps(image, 1, "snap1", size));
+    ASSERT_EQ(0, image.resize(size2));
+    ASSERT_FALSE(image.snap_exists("snap2"));
+    ASSERT_EQ(0, image.snap_create("snap2"));
+    ASSERT_TRUE(image.snap_exists("snap2"));
+    ASSERT_EQ(2, test_ls_snaps(image, 2, "snap1", size, "snap2", size2));
+    ASSERT_EQ(0, image.snap_rename("snap1","snap1-rename"));
+    ASSERT_EQ(2, test_ls_snaps(image, 2, "snap1-rename", size, "snap2", size2));
+    ASSERT_FALSE(image.snap_exists("snap1"));
+    ASSERT_TRUE(image.snap_exists("snap1-rename"));
+    ASSERT_EQ(0, image.snap_remove("snap1-rename"));
+    ASSERT_EQ(0, image.snap_rename("snap2","snap2-rename"));
+    ASSERT_EQ(1, test_ls_snaps(image, 1, "snap2-rename", size2));
+    ASSERT_FALSE(image.snap_exists("snap2"));
+    ASSERT_TRUE(image.snap_exists("snap2-rename"));
+    ASSERT_EQ(0, image.snap_remove("snap2-rename"));
+    ASSERT_EQ(0, test_ls_snaps(image, 0));
+  }
+
+  ioctx.close();
+}
+
 
 
 #define TEST_IO_SIZE 512