X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Ftest%2Frbd_mirror%2Ftest_Instances.cc;fp=src%2Fceph%2Fsrc%2Ftest%2Frbd_mirror%2Ftest_Instances.cc;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=e2f8008e00eefad427c7eba6f46b4a4533d61e8a;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/test/rbd_mirror/test_Instances.cc b/src/ceph/src/test/rbd_mirror/test_Instances.cc deleted file mode 100644 index e2f8008..0000000 --- a/src/ceph/src/test/rbd_mirror/test_Instances.cc +++ /dev/null @@ -1,101 +0,0 @@ -// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- -// vim: ts=8 sw=2 smarttab - -#include "include/rados/librados.hpp" -#include "cls/rbd/cls_rbd_client.h" -#include "test/rbd_mirror/test_fixture.h" -#include "tools/rbd_mirror/InstanceWatcher.h" -#include "tools/rbd_mirror/Instances.h" -#include "tools/rbd_mirror/Threads.h" - -#include "test/librados/test.h" -#include "gtest/gtest.h" - -using rbd::mirror::InstanceWatcher; -using rbd::mirror::Instances; - -void register_test_instances() { -} - -class TestInstances : public ::rbd::mirror::TestFixture { -public: - virtual void SetUp() { - TestFixture::SetUp(); - m_local_io_ctx.remove(RBD_MIRROR_LEADER); - EXPECT_EQ(0, m_local_io_ctx.create(RBD_MIRROR_LEADER, true)); - } -}; - -TEST_F(TestInstances, InitShutdown) -{ - Instances<> instances(m_threads, m_local_io_ctx); - - std::string instance_id = "instance_id"; - ASSERT_EQ(0, librbd::cls_client::mirror_instances_add(&m_local_io_ctx, - instance_id)); - - C_SaferCond on_init; - instances.init(&on_init); - ASSERT_EQ(0, on_init.wait()); - - C_SaferCond on_shut_down; - instances.shut_down(&on_shut_down); - ASSERT_EQ(0, on_shut_down.wait()); -} - -TEST_F(TestInstances, InitEnoent) -{ - Instances<> instances(m_threads, m_local_io_ctx); - - m_local_io_ctx.remove(RBD_MIRROR_LEADER); - - C_SaferCond on_init; - instances.init(&on_init); - ASSERT_EQ(0, on_init.wait()); - - C_SaferCond on_shut_down; - instances.shut_down(&on_shut_down); - ASSERT_EQ(0, on_shut_down.wait()); -} - -TEST_F(TestInstances, NotifyRemove) -{ - // speed testing up a little - EXPECT_EQ(0, _rados->conf_set("rbd_mirror_leader_heartbeat_interval", "1")); - EXPECT_EQ(0, _rados->conf_set("rbd_mirror_leader_max_missed_heartbeats", - "2")); - - Instances<> instances(m_threads, m_local_io_ctx); - - std::string instance_id1 = "instance_id1"; - std::string instance_id2 = "instance_id2"; - - ASSERT_EQ(0, librbd::cls_client::mirror_instances_add(&m_local_io_ctx, - instance_id1)); - ASSERT_EQ(0, librbd::cls_client::mirror_instances_add(&m_local_io_ctx, - instance_id2)); - - C_SaferCond on_init; - instances.init(&on_init); - ASSERT_EQ(0, on_init.wait()); - - std::vector instance_ids; - - for (int i = 0; i < 10; i++) { - instances.notify(instance_id1); - sleep(1); - C_SaferCond on_get; - InstanceWatcher<>::get_instances(m_local_io_ctx, &instance_ids, &on_get); - EXPECT_EQ(0, on_get.wait()); - if (instance_ids.size() <= 1U) { - break; - } - } - - ASSERT_EQ(1U, instance_ids.size()); - ASSERT_EQ(instance_ids[0], instance_id1); - - C_SaferCond on_shut_down; - instances.shut_down(&on_shut_down); - ASSERT_EQ(0, on_shut_down.wait()); -}