void RadosTestNS::TearDown()
{
- cleanup_all_objects(ioctx);
+ if (cleanup)
+ cleanup_all_objects(ioctx);
rados_ioctx_destroy(ioctx);
}
void RadosTestPPNS::TearDown()
{
- cleanup_all_objects(ioctx);
+ if (cleanup)
+ cleanup_all_objects(ioctx);
ioctx.close();
}
void RadosTestParamPPNS::TearDown()
{
- cleanup_all_objects(ioctx);
+ if (cleanup)
+ cleanup_all_objects(ioctx);
ioctx.close();
}
void RadosTestECNS::TearDown()
{
- cleanup_all_objects(ioctx);
+ if (cleanup)
+ cleanup_all_objects(ioctx);
rados_ioctx_destroy(ioctx);
}
void RadosTestECPPNS::TearDown()
{
- cleanup_all_objects(ioctx);
+ if (cleanup)
+ cleanup_all_objects(ioctx);
ioctx.close();
}
void RadosTest::TearDown()
{
- cleanup_default_namespace(ioctx);
- cleanup_namespace(ioctx, nspace);
+ if (cleanup) {
+ cleanup_default_namespace(ioctx);
+ cleanup_namespace(ioctx, nspace);
+ }
rados_ioctx_destroy(ioctx);
}
void RadosTestPP::TearDown()
{
- cleanup_default_namespace(ioctx);
- cleanup_namespace(ioctx, nspace);
+ if (cleanup) {
+ cleanup_default_namespace(ioctx);
+ cleanup_namespace(ioctx, nspace);
+ }
ioctx.close();
}
void RadosTestParamPP::TearDown()
{
- cleanup_default_namespace(ioctx);
- cleanup_namespace(ioctx, nspace);
+ if (cleanup) {
+ cleanup_default_namespace(ioctx);
+ cleanup_namespace(ioctx, nspace);
+ }
ioctx.close();
}
void RadosTestEC::TearDown()
{
- cleanup_default_namespace(ioctx);
- cleanup_namespace(ioctx, nspace);
+ if (cleanup) {
+ cleanup_default_namespace(ioctx);
+ cleanup_namespace(ioctx, nspace);
+ }
rados_ioctx_destroy(ioctx);
}
void RadosTestECPP::TearDown()
{
- cleanup_default_namespace(ioctx);
- cleanup_namespace(ioctx, nspace);
+ if (cleanup) {
+ cleanup_default_namespace(ioctx);
+ cleanup_namespace(ioctx, nspace);
+ }
ioctx.close();
}
*/
class RadosTestNS : public ::testing::Test {
public:
- RadosTestNS() {}
+ RadosTestNS(bool c=false) : cleanup(c) {}
~RadosTestNS() override {}
protected:
static void SetUpTestCase();
void TearDown() override;
rados_t cluster;
rados_ioctx_t ioctx;
+ bool cleanup;
+};
+
+struct RadosTestNSCleanup : public RadosTestNS {
+ RadosTestNSCleanup() : RadosTestNS(true) {}
};
class RadosTestPPNS : public ::testing::Test {
public:
- RadosTestPPNS() : cluster(s_cluster) {}
+ RadosTestPPNS(bool c=false) : cluster(s_cluster), cleanup(c) {}
~RadosTestPPNS() override {}
protected:
static void SetUpTestCase();
void TearDown() override;
librados::Rados &cluster;
librados::IoCtx ioctx;
+ bool cleanup;
+};
+
+struct RadosTestPPNSCleanup : public RadosTestPPNS {
+ RadosTestPPNSCleanup() : RadosTestPPNS(true) {}
};
class RadosTestParamPPNS : public ::testing::TestWithParam<const char*> {
public:
- RadosTestParamPPNS() : cluster(s_cluster) {}
+ RadosTestParamPPNS(bool c=false) : cluster(s_cluster), cleanup(c) {}
~RadosTestParamPPNS() override {}
static void SetUpTestCase();
static void TearDownTestCase();
void TearDown() override;
librados::Rados &cluster;
librados::IoCtx ioctx;
+ bool cleanup;
};
class RadosTestECNS : public RadosTestNS {
public:
- RadosTestECNS() {}
+ RadosTestECNS(bool c=false) : cleanup(c) {}
~RadosTestECNS() override {}
protected:
static void SetUpTestCase();
rados_t cluster;
rados_ioctx_t ioctx;
uint64_t alignment;
+ bool cleanup;
+};
+
+struct RadosTestECNSCleanup : public RadosTestECNS {
+ RadosTestECNSCleanup() : RadosTestECNS(true) {}
};
class RadosTestECPPNS : public RadosTestPPNS {
public:
- RadosTestECPPNS() : cluster(s_cluster) {}
+ RadosTestECPPNS(bool c=false) : cluster(s_cluster), cleanup(c) {}
~RadosTestECPPNS() override {}
protected:
static void SetUpTestCase();
librados::Rados &cluster;
librados::IoCtx ioctx;
uint64_t alignment;
+ bool cleanup;
+};
+
+struct RadosTestECPPNSCleanup : public RadosTestECPPNS {
+ RadosTestECPPNSCleanup() : RadosTestECPPNS(true) {}
};
/**
*/
class RadosTest : public ::testing::Test {
public:
- RadosTest() {}
+ RadosTest(bool c=false) : cleanup(c) {}
~RadosTest() override {}
protected:
static void SetUpTestCase();
rados_t cluster;
rados_ioctx_t ioctx;
std::string nspace;
+ bool cleanup;
};
class RadosTestPP : public ::testing::Test {
public:
- RadosTestPP() : cluster(s_cluster) {}
+ RadosTestPP(bool c=false) : cluster(s_cluster), cleanup(c) {}
~RadosTestPP() override {}
protected:
static void SetUpTestCase();
void TearDown() override;
librados::Rados &cluster;
librados::IoCtx ioctx;
+ bool cleanup;
std::string nspace;
};
class RadosTestParamPP : public ::testing::TestWithParam<const char*> {
public:
- RadosTestParamPP() : cluster(s_cluster) {}
+ RadosTestParamPP(bool c=false) : cluster(s_cluster), cleanup(c) {}
~RadosTestParamPP() override {}
static void SetUpTestCase();
static void TearDownTestCase();
void TearDown() override;
librados::Rados &cluster;
librados::IoCtx ioctx;
+ bool cleanup;
std::string nspace;
};
class RadosTestEC : public RadosTest {
public:
- RadosTestEC() {}
+ RadosTestEC(bool c=false) : cleanup(c) {}
~RadosTestEC() override {}
protected:
static void SetUpTestCase();
void TearDown() override;
rados_t cluster;
rados_ioctx_t ioctx;
+ bool cleanup;
std::string nspace;
uint64_t alignment;
};
class RadosTestECPP : public RadosTestPP {
public:
- RadosTestECPP() : cluster(s_cluster) {}
+ RadosTestECPP(bool c=false) : cluster(s_cluster), cleanup(c) {}
~RadosTestECPP() override {}
protected:
static void SetUpTestCase();
void TearDown() override;
librados::Rados &cluster;
librados::IoCtx ioctx;
+ bool cleanup;
std::string nspace;
uint64_t alignment;
};
using namespace librados;
-typedef RadosTestNS LibRadosList;
-typedef RadosTestPPNS LibRadosListPP;
-typedef RadosTestECNS LibRadosListEC;
-typedef RadosTestECPPNS LibRadosListECPP;
+typedef RadosTestNSCleanup LibRadosList;
+typedef RadosTestPPNSCleanup LibRadosListPP;
+typedef RadosTestECNSCleanup LibRadosListEC;
+typedef RadosTestECPPNSCleanup LibRadosListECPP;
typedef RadosTestNP LibRadosListNP;
std::string check_nspace)
{
const char *entry, *nspace;
+ cout << "myset " << myset << std::endl;
// we should see every item exactly once.
int ret;
while ((ret = rados_nobjects_list_next(ctx, &entry, NULL, &nspace)) == 0) {
ASSERT_TRUE(std::string(nspace) == check_nspace);
test_name = std::string(entry);
}
+ cout << test_name << std::endl;
ASSERT_TRUE(myset.end() != myset.find(test_name));
myset.erase(test_name);