From 4e682ed5da9b8f2040cec2a2e743a4718c339d31 Mon Sep 17 00:00:00 2001 From: Mykola Golub Date: Sat, 12 Nov 2016 09:22:47 +0200 Subject: [PATCH] test/librbd: add 'remove demoted image' test Signed-off-by: Mykola Golub --- src/test/librbd/test_mirroring.cc | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/test/librbd/test_mirroring.cc b/src/test/librbd/test_mirroring.cc index fcd98ec767f..e467686cae0 100644 --- a/src/test/librbd/test_mirroring.cc +++ b/src/test/librbd/test_mirroring.cc @@ -239,7 +239,7 @@ public: } void check_remove_image(rbd_mirror_mode_t mirror_mode, uint64_t features, - bool enable_mirroring) { + bool enable_mirroring, bool demote = false) { ASSERT_EQ(0, m_rbd.mirror_mode_set(m_ioctx, mirror_mode)); @@ -253,6 +253,11 @@ public: ASSERT_EQ(0, image.mirror_image_enable()); } + if (demote) { + ASSERT_EQ(0, image.mirror_image_demote()); + ASSERT_EQ(0, image.mirror_image_disable(true)); + } + image.close(); ASSERT_EQ(0, m_rbd.remove(m_ioctx, image_name.c_str())); ASSERT_EQ(0, m_rbd.mirror_mode_set(m_ioctx, RBD_MIRROR_MODE_DISABLED)); @@ -608,6 +613,12 @@ TEST_F(TestMirroring, RemoveImage_With_ImageWithoutJournal) { false); } +TEST_F(TestMirroring, RemoveImage_With_MirrorImageDemoted) { + check_remove_image(RBD_MIRROR_MODE_IMAGE, + RBD_FEATURE_EXCLUSIVE_LOCK | RBD_FEATURE_JOURNALING, + true, true); +} + TEST_F(TestMirroring, MirrorStatusList) { std::vector features_vec(5, RBD_FEATURE_EXCLUSIVE_LOCK | RBD_FEATURE_JOURNALING); -- 2.47.3