// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- // vim: ts=8 sw=2 smarttab #pragma once #include "gtest/gtest.h" #include "include/rados/librados.hpp" class RadosTestPPNS : public ::testing::Test { public: RadosTestPPNS(bool c=false) : cluster(s_cluster), cleanup(c) {} ~RadosTestPPNS() override {} protected: static void SetUpTestCase(); static void TearDownTestCase(); static void cleanup_all_objects(librados::IoCtx ioctx); static librados::Rados s_cluster; static std::string pool_name; void SetUp() override; void TearDown() override; librados::Rados &cluster; librados::IoCtx ioctx; bool cleanup; }; struct RadosTestPPNSCleanup : public RadosTestPPNS { RadosTestPPNSCleanup() : RadosTestPPNS(true) {} }; class RadosTestParamPPNS : public ::testing::TestWithParam { public: RadosTestParamPPNS(bool c=false) : cluster(s_cluster), cleanup(c) {} ~RadosTestParamPPNS() override {} static void SetUpTestCase(); static void TearDownTestCase(); protected: static void cleanup_all_objects(librados::IoCtx ioctx); static librados::Rados s_cluster; static std::string pool_name; static std::string cache_pool_name; void SetUp() override; void TearDown() override; librados::Rados &cluster; librados::IoCtx ioctx; bool cleanup; }; class RadosTestECPPNS : public RadosTestPPNS { public: RadosTestECPPNS(bool c=false) : cluster(s_cluster), cleanup(c) {} ~RadosTestECPPNS() override {} protected: static void SetUpTestCase(); static void TearDownTestCase(); static librados::Rados s_cluster; static std::string pool_name; void SetUp() override; void TearDown() override; librados::Rados &cluster; librados::IoCtx ioctx; uint64_t alignment = 0; bool cleanup; }; struct RadosTestECPPNSCleanup : public RadosTestECPPNS { RadosTestECPPNSCleanup() : RadosTestECPPNS(true) {} }; class RadosTestPP : public ::testing::Test { public: RadosTestPP(bool c=false) : cluster(s_cluster), cleanup(c) {} ~RadosTestPP() override {} protected: static void SetUpTestCase(); static void TearDownTestCase(); static void cleanup_default_namespace(librados::IoCtx ioctx); static void cleanup_namespace(librados::IoCtx ioctx, std::string ns); static librados::Rados s_cluster; static std::string pool_name; void SetUp() override; void TearDown() override; librados::Rados &cluster; librados::IoCtx ioctx; bool cleanup; std::string nspace; }; class RadosTestParamPP : public ::testing::TestWithParam { public: RadosTestParamPP(bool c=false) : cluster(s_cluster), cleanup(c) {} ~RadosTestParamPP() override {} static void SetUpTestCase(); static void TearDownTestCase(); protected: static void cleanup_default_namespace(librados::IoCtx ioctx); static void cleanup_namespace(librados::IoCtx ioctx, std::string ns); static librados::Rados s_cluster; static std::string pool_name; static std::string cache_pool_name; void SetUp() override; void TearDown() override; librados::Rados &cluster; librados::IoCtx ioctx; bool cleanup; std::string nspace; }; class RadosTestECPP : public RadosTestPP { public: RadosTestECPP(bool c=false) : cluster(s_cluster), cleanup(c) {} ~RadosTestECPP() override {} protected: static void SetUpTestCase(); static void TearDownTestCase(); static librados::Rados s_cluster; static std::string pool_name; void SetUp() override; void TearDown() override; librados::Rados &cluster; librados::IoCtx ioctx; bool cleanup; std::string nspace; uint64_t alignment = 0; };