TEST_F(LibRadosIoECPP, CrcZeroWrite) {
SKIP_IF_CRIMSON();
- set_allow_ec_overwrites(pool_name, true);
+ set_allow_ec_overwrites();
char buf[128];
memset(buf, 0xcc, sizeof(buf));
bufferlist bl;
ObjectReadOperation read;
read.read(0, bl.length(), NULL, NULL);
ASSERT_EQ(0, ioctx.operate("foo", &read, &bl));
- recreate_pool();
}
TEST_F(LibRadosIoECPP, XattrListPP) {
cleanup_default_namespace(ioctx);
cleanup_namespace(ioctx, nspace);
}
+ if (ec_overwrites_set) {
+ ASSERT_EQ(0, destroy_one_ec_pool_pp(pool_name, s_cluster));
+ ASSERT_EQ("", create_one_ec_pool_pp(pool_name, s_cluster));
+ ec_overwrites_set = false;
+ }
ioctx.close();
}
-void RadosTestECPP::recreate_pool()
+void RadosTestECPP::set_allow_ec_overwrites()
{
- SKIP_IF_CRIMSON();
- ASSERT_EQ(0, destroy_one_ec_pool_pp(pool_name, s_cluster));
- ASSERT_EQ("", create_one_ec_pool_pp(pool_name, s_cluster));
- SetUp();
+ ASSERT_EQ("", set_allow_ec_overwrites_pp(pool_name, cluster, true));
+ ec_overwrites_set = true;
}
-
-void RadosTestECPP::set_allow_ec_overwrites(std::string pool, bool allow)
-{
- ASSERT_EQ("", set_allow_ec_overwrites_pp(pool, cluster, allow));
-}
\ No newline at end of file
};
class RadosTestECPP : public RadosTestPP {
+ bool ec_overwrites_set = false;
public:
RadosTestECPP(bool c=false) : cluster(s_cluster), cleanup(c) {}
~RadosTestECPP() override {}
protected:
static void SetUpTestCase();
static void TearDownTestCase();
- void recreate_pool();
- void set_allow_ec_overwrites(std::string pool, bool allow=true);
+ void set_allow_ec_overwrites();
static librados::Rados s_cluster;
static std::string pool_name;