#include <string>
#include <utility>
#include <boost/scoped_ptr.hpp>
+#include <fmt/format.h>
#include "gtest/gtest.h"
{
public:
AioTestDataPP()
- : m_init(false)
+ : m_init(false),
+ m_oid("foo")
{
}
std::string init(const std::map<std::string, std::string> &config)
{
int ret;
-
- m_pool_name = get_temp_pool_name();
+ auto pool_prefix = fmt::format("{}_", ::testing::UnitTest::GetInstance()->current_test_info()->name());
+ m_pool_name = get_temp_pool_name(pool_prefix);
std::string err = create_one_pool_pp(m_pool_name, m_cluster, config);
if (!err.empty()) {
ostringstream oss;
oss << "rados_ioctx_create failed: error " << ret;
return oss.str();
}
+ m_oid = fmt::format("oid_{}_", ::testing::UnitTest::GetInstance()->current_test_info()->name());
m_init = true;
return "";
}
IoCtx m_ioctx;
std::string m_pool_name;
bool m_init;
+ std::string m_oid;
};
TEST(LibRadosAio, TooBigPP) {
bufferlist bl;
auto aio_completion = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
- ASSERT_EQ(-E2BIG, test_data.m_ioctx.aio_write("foo", aio_completion.get(), bl, UINT_MAX, 0));
- ASSERT_EQ(-E2BIG, test_data.m_ioctx.aio_append("foo", aio_completion.get(), bl, UINT_MAX));
+ ASSERT_EQ(-E2BIG, test_data.m_ioctx.aio_write(test_data.m_oid, aio_completion.get(), bl, UINT_MAX, 0));
+ ASSERT_EQ(-E2BIG, test_data.m_ioctx.aio_append(test_data.m_oid, aio_completion.get(), bl, UINT_MAX));
// ioctx.aio_write_full no way to overflow bl.length()
}
TEST(LibRadosAio, PoolQuotaPP) {
AioTestDataPP test_data;
ASSERT_EQ("", test_data.init());
- string p = get_temp_pool_name();
+ auto pool_prefix = fmt::format("{}_", ::testing::UnitTest::GetInstance()->current_test_info()->name());
+ string p = get_temp_pool_name(pool_prefix);
ASSERT_EQ(0, test_data.m_cluster.pool_create(p.c_str()));
IoCtx ioctx;
ASSERT_EQ(0, test_data.m_cluster.ioctx_create(p.c_str(), ioctx));
ObjectWriteOperation op;
op.write_full(bl);
auto completion = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
- ASSERT_EQ(0, ioctx.aio_operate("foo" + stringify(n),
+ ASSERT_EQ(0, ioctx.aio_operate(test_data.m_oid + stringify(n),
completion.get(), &op,
librados::OPERATION_FULL_TRY));
completion->wait_for_complete();
ASSERT_EQ("", test_data.init());
auto my_completion = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion);
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
{
TestAlarm alarm;
ASSERT_EQ("", test_data.init());
test_data.m_ioctx.set_namespace("nspace");
auto my_completion = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
{
TestAlarm alarm;
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
TestAlarm alarm;
ASSERT_EQ(0, my_completion->wait_for_complete());
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
{
TestAlarm alarm;
bufferlist bl2;
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion2);
- ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion2.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_read(test_data.m_oid, my_completion2.get(),
&bl2, sizeof(buf), 0));
{
TestAlarm alarm;
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
{
TestAlarm alarm;
bufferlist bl2;
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion2);
- ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion2.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_read(test_data.m_oid, my_completion2.get(),
&bl2, sizeof(buf), 0));
{
TestAlarm alarm;
TEST(LibRadosAio, RoundTripPP3)
{
Rados cluster;
- std::string pool_name = get_temp_pool_name();
+ auto pool_prefix = fmt::format("{}_", ::testing::UnitTest::GetInstance()->current_test_info()->name());
+ std::string pool_name = get_temp_pool_name(pool_prefix);
ASSERT_EQ("", create_one_pool_pp(pool_name, cluster));
IoCtx ioctx;
cluster.ioctx_create(pool_name.c_str(), ioctx);
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
{
TestAlarm alarm;
bufferlist bl2;
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion2);
- ASSERT_EQ(0, test_data.m_ioctx.aio_sparse_read("foo", my_completion2.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_sparse_read(test_data.m_oid, my_completion2.get(),
&extents, &bl2, sizeof(buf), 0));
{
TestAlarm alarm;
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
{
TestAlarm alarm;
bl2.append(buffer::create_static(sizeof(buf2), buf2));
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion2);
- ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion2.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_read(test_data.m_oid, my_completion2.get(),
&bl2, sizeof(buf), 0));
{
TestAlarm alarm;
bl1.append(buf, sizeof(buf));
AioTestDataPP test_data;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, test_data.m_ioctx.append("foo", bl1, sizeof(buf)));
+ ASSERT_EQ(0, test_data.m_ioctx.append(test_data.m_oid, bl1, sizeof(buf)));
bufferlist bl2;
// async getxattr
auto my_completion = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
- ASSERT_EQ(0, test_data.m_ioctx.aio_getxattr("foo", my_completion.get(), attr1, bl2));
+ ASSERT_EQ(0, test_data.m_ioctx.aio_getxattr(test_data.m_oid, my_completion.get(), attr1, bl2));
{
TestAlarm alarm;
ASSERT_EQ(0, my_completion->wait_for_complete());
AioTestDataPP test_data2;
ASSERT_EQ("", test_data2.init());
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
- ASSERT_EQ(0, test_data.m_ioctx.aio_setxattr("foo", my_completion2.get(), attr1, bl3));
+ ASSERT_EQ(0, test_data.m_ioctx.aio_setxattr(test_data.m_oid, my_completion2.get(), attr1, bl3));
{
TestAlarm alarm;
ASSERT_EQ(0, my_completion2->wait_for_complete());
AioTestDataPP test_data3;
ASSERT_EQ("", test_data3.init());
auto my_completion3 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
- ASSERT_EQ(0, test_data.m_ioctx.aio_getxattr("foo", my_completion3.get(), attr1, bl4));
+ ASSERT_EQ(0, test_data.m_ioctx.aio_getxattr(test_data.m_oid, my_completion3.get(), attr1, bl4));
{
TestAlarm alarm;
ASSERT_EQ(0, my_completion3->wait_for_complete());
bl1.append(buf, sizeof(buf));
AioTestDataPP test_data;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, test_data.m_ioctx.append("foo", bl1, sizeof(buf)));
+ ASSERT_EQ(0, test_data.m_ioctx.append(test_data.m_oid, bl1, sizeof(buf)));
// async setxattr
bufferlist bl2;
bl2.append(attr1_buf, sizeof(attr1_buf));
auto my_completion = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
- ASSERT_EQ(0, test_data.m_ioctx.aio_setxattr("foo", my_completion.get(), attr1, bl2));
+ ASSERT_EQ(0, test_data.m_ioctx.aio_setxattr(test_data.m_oid, my_completion.get(), attr1, bl2));
{
TestAlarm alarm;
ASSERT_EQ(0, my_completion->wait_for_complete());
AioTestDataPP test_data2;
ASSERT_EQ("", test_data2.init());
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
- ASSERT_EQ(0, test_data.m_ioctx.aio_rmxattr("foo", my_completion2.get(), attr1));
+ ASSERT_EQ(0, test_data.m_ioctx.aio_rmxattr(test_data.m_oid, my_completion2.get(), attr1));
{
TestAlarm alarm;
ASSERT_EQ(0, my_completion2->wait_for_complete());
ASSERT_EQ("", test_data3.init());
auto my_completion3 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
bufferlist bl3;
- ASSERT_EQ(0, test_data.m_ioctx.aio_getxattr("foo", my_completion3.get(), attr1, bl3));
+ ASSERT_EQ(0, test_data.m_ioctx.aio_getxattr(test_data.m_oid, my_completion3.get(), attr1, bl3));
{
TestAlarm alarm;
ASSERT_EQ(0, my_completion3->wait_for_complete());
memset(buf, 0xaa, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ(0, test_data.m_ioctx.append("foo", bl1, sizeof(buf)));
+ ASSERT_EQ(0, test_data.m_ioctx.append(test_data.m_oid, bl1, sizeof(buf)));
bufferlist bl2;
bl2.append(attr1_buf, sizeof(attr1_buf));
- ASSERT_EQ(0, test_data.m_ioctx.setxattr("foo", attr1, bl2));
+ ASSERT_EQ(0, test_data.m_ioctx.setxattr(test_data.m_oid, attr1, bl2));
bufferlist bl3;
bl3.append(attr2_buf, sizeof(attr2_buf));
- ASSERT_EQ(0, test_data.m_ioctx.setxattr("foo", attr2, bl3));
+ ASSERT_EQ(0, test_data.m_ioctx.setxattr(test_data.m_oid, attr2, bl3));
// call async version of getxattrs
auto my_completion = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
std::map<std::string, bufferlist> attrset;
- ASSERT_EQ(0, test_data.m_ioctx.aio_getxattrs("foo", my_completion.get(), attrset));
+ ASSERT_EQ(0, test_data.m_ioctx.aio_getxattrs(test_data.m_oid, my_completion.get(), attrset));
{
TestAlarm alarm;
ASSERT_EQ(0, my_completion->wait_for_complete());
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
{
TestAlarm alarm;
bufferlist bl2;
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion2);
- ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion2.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_read(test_data.m_oid, my_completion2.get(),
&bl2, sizeof(buf), 0));
{
TestAlarm alarm;
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
{
TestAlarm alarm;
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
bufferlist bl2;
ASSERT_TRUE(my_completion2);
- ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion2.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_read(test_data.m_oid, my_completion2.get(),
&bl2, sizeof(buf), 0));
{
TestAlarm alarm;
memset(buf, 0xee, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
ASSERT_EQ(0, test_data.m_ioctx.aio_flush());
ASSERT_EQ(0, my_completion->get_return_value());
bufferlist bl2;
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion2);
- ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion2.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_read(test_data.m_oid, my_completion2.get(),
&bl2, sizeof(buf), 0));
{
TestAlarm alarm;
memset(buf, 0xee, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
ASSERT_EQ(0, test_data.m_ioctx.aio_flush_async(flush_completion.get()));
{
bufferlist bl2;
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion2);
- ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion2.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_read(test_data.m_oid, my_completion2.get(),
&bl2, sizeof(buf), 0));
{
TestAlarm alarm;
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
{
TestAlarm alarm;
bl2.append(buf2, sizeof(buf2));
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion2);
- ASSERT_EQ(0, test_data.m_ioctx.aio_write_full("foo", my_completion2.get(), bl2));
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write_full(test_data.m_oid, my_completion2.get(), bl2));
{
TestAlarm alarm;
ASSERT_EQ(0, my_completion2->wait_for_complete());
bufferlist bl3;
auto my_completion3 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion3);
- ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion3.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_read(test_data.m_oid, my_completion3.get(),
&bl3, sizeof(buf), 0));
{
TestAlarm alarm;
TEST(LibRadosAio, RoundTripWriteFullPP2)
{
Rados cluster;
- std::string pool_name = get_temp_pool_name();
+ auto pool_prefix = fmt::format("{}_", ::testing::UnitTest::GetInstance()->current_test_info()->name());
+ std::string pool_name = get_temp_pool_name(pool_prefix);
ASSERT_EQ("", create_one_pool_pp(pool_name, cluster));
IoCtx ioctx;
cluster.ioctx_create(pool_name.c_str(), ioctx);
memset(full, 0xcc, sizeof(full));
bufferlist bl1;
bl1.append(full, sizeof(full));
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(full), 0));
{
TestAlarm alarm;
bl2.append(buf, sizeof(buf));
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion2);
- ASSERT_EQ(0, test_data.m_ioctx.aio_writesame("foo", my_completion2.get(), bl2,
+ ASSERT_EQ(0, test_data.m_ioctx.aio_writesame(test_data.m_oid, my_completion2.get(), bl2,
ws_write_len, 0));
{
TestAlarm alarm;
bufferlist bl3;
auto my_completion3 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion3);
- ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion3.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_read(test_data.m_oid, my_completion3.get(),
&bl3, sizeof(full), 0));
{
TestAlarm alarm;
TEST(LibRadosAio, RoundTripWriteSamePP2)
{
Rados cluster;
- std::string pool_name = get_temp_pool_name();
+ auto pool_prefix = fmt::format("{}_", ::testing::UnitTest::GetInstance()->current_test_info()->name());
+ std::string pool_name = get_temp_pool_name(pool_prefix);
ASSERT_EQ("", create_one_pool_pp(pool_name, cluster));
IoCtx ioctx;
cluster.ioctx_create(pool_name.c_str(), ioctx);
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
{
TestAlarm alarm;
time_t pmtime;
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion2);
- ASSERT_EQ(0, test_data.m_ioctx.aio_stat("foo", my_completion2.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_stat(test_data.m_oid, my_completion2.get(),
&psize, &pmtime));
{
TestAlarm alarm;
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
{
TestAlarm alarm;
time_t pmtime;
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion2);
- ASSERT_EQ(0, test_data.m_ioctx.aio_stat("foo", my_completion2.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_stat(test_data.m_oid, my_completion2.get(),
&psize, &pmtime));
{
TestAlarm alarm;
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
{
TestAlarm alarm;
time_t pmtime;
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion2);
- ASSERT_EQ(0, test_data.m_ioctx.aio_stat("foo", my_completion2.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_stat(test_data.m_oid, my_completion2.get(),
&psize, &pmtime));
{
TestAlarm alarm;
time_t pmtime2;
auto my_completion3 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion3);
- ASSERT_EQ(0, test_data.m_ioctx.aio_remove("foo", my_completion3.get()));
+ ASSERT_EQ(0, test_data.m_ioctx.aio_remove(test_data.m_oid, my_completion3.get()));
{
TestAlarm alarm;
ASSERT_EQ(0, my_completion3->wait_for_complete());
auto my_completion4 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion4);
- ASSERT_EQ(0, test_data.m_ioctx.aio_stat("foo", my_completion4.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_stat(test_data.m_oid, my_completion4.get(),
&psize2, &pmtime2));
{
TestAlarm alarm;
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
{
TestAlarm alarm;
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion2);
bufferlist in, out;
- ASSERT_EQ(0, test_data.m_ioctx.aio_exec("foo", my_completion2.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_exec(test_data.m_oid, my_completion2.get(),
"hello", "say_hello", in, &out));
{
TestAlarm alarm;
TEST(LibRadosAio, OmapPP) {
Rados cluster;
- std::string pool_name = get_temp_pool_name();
+ auto pool_prefix = fmt::format("{}_", ::testing::UnitTest::GetInstance()->current_test_info()->name());
+ std::string pool_name = get_temp_pool_name(pool_prefix);
ASSERT_EQ("", create_one_pool_pp(pool_name, cluster));
IoCtx ioctx;
cluster.ioctx_create(pool_name.c_str(), ioctx);
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
{
TestAlarm alarm;
bl2.append(buf2, sizeof(buf2));
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion2);
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion2.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion2.get(),
bl2, sizeof(buf2), sizeof(buf)));
{
TestAlarm alarm;
bufferlist bl3;
auto my_completion3 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion3);
- ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion3.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_read(test_data.m_oid, my_completion3.get(),
&bl3, (sizeof(buf) + sizeof(buf2) * 3), 0));
{
TestAlarm alarm;
TEST(LibRadosAio, AioUnlockPP) {
AioTestDataPP test_data;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, test_data.m_ioctx.lock_exclusive("foo", "TestLock", "Cookie", "", NULL, 0));
+ ASSERT_EQ(0, test_data.m_ioctx.lock_exclusive(test_data.m_oid, "TestLock", "Cookie", "", NULL, 0));
auto my_completion = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
- ASSERT_EQ(0, test_data.m_ioctx.aio_unlock("foo", "TestLock", "Cookie", my_completion.get()));
+ ASSERT_EQ(0, test_data.m_ioctx.aio_unlock(test_data.m_oid, "TestLock", "Cookie", my_completion.get()));
{
TestAlarm alarm;
ASSERT_EQ(0, my_completion->wait_for_complete());
}
ASSERT_EQ(0, my_completion->get_return_value());
bufferlist bl2;
- ASSERT_EQ(0, test_data.m_ioctx.lock_exclusive("foo", "TestLock", "Cookie", "", NULL, 0));
+ ASSERT_EQ(0, test_data.m_ioctx.lock_exclusive(test_data.m_oid, "TestLock", "Cookie", "", NULL, 0));
}
class AioTestDataECPP
{
public:
AioTestDataECPP()
- : m_init(false)
+ : m_init(false),
+ m_oid("foo")
{}
~AioTestDataECPP()
std::string init()
{
int ret;
- m_pool_name = get_temp_pool_name();
+ auto pool_prefix = fmt::format("{}_", ::testing::UnitTest::GetInstance()->current_test_info()->name());
+ m_pool_name = get_temp_pool_name(pool_prefix);
std::string err = create_one_ec_pool_pp(m_pool_name, m_cluster);
if (!err.empty()) {
ostringstream oss;
oss << "rados_ioctx_create failed: error " << ret;
return oss.str();
}
+ m_oid = fmt::format("oid_{}_", ::testing::UnitTest::GetInstance()->current_test_info()->name());
m_init = true;
return "";
}
IoCtx m_ioctx;
std::string m_pool_name;
bool m_init;
+ std::string m_oid;
};
// EC test cases
ASSERT_EQ("", test_data.init());
auto my_completion = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion);
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
{
TestAlarm alarm;
ASSERT_EQ("", test_data.init());
test_data.m_ioctx.set_namespace("nspace");
auto my_completion = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
{
TestAlarm alarm;
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
TestAlarm alarm;
ASSERT_EQ(0, my_completion->wait_for_complete());
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
{
TestAlarm alarm;
bufferlist bl2;
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion2);
- ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion2.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_read(test_data.m_oid, my_completion2.get(),
&bl2, sizeof(buf), 0));
{
TestAlarm alarm;
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
{
TestAlarm alarm;
bufferlist bl2;
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion2);
- ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion2.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_read(test_data.m_oid, my_completion2.get(),
&bl2, sizeof(buf), 0));
{
TestAlarm alarm;
TEST(LibRadosAioEC, RoundTripPP3)
{
Rados cluster;
- std::string pool_name = get_temp_pool_name();
+ auto pool_prefix = fmt::format("{}_", ::testing::UnitTest::GetInstance()->current_test_info()->name());
+ std::string pool_name = get_temp_pool_name(pool_prefix);
ASSERT_EQ("", create_one_pool_pp(pool_name, cluster));
IoCtx ioctx;
cluster.ioctx_create(pool_name.c_str(), ioctx);
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ(0, test_data.m_ioctx.aio_append("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_append(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf)));
{
TestAlarm alarm;
bl2.append(buf2, sizeof(buf2));
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion2);
- ASSERT_EQ(0, test_data.m_ioctx.aio_append("foo", my_completion2.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_append(test_data.m_oid, my_completion2.get(),
bl2, sizeof(buf2)));
{
TestAlarm alarm;
bufferlist bl3;
auto my_completion3 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion3);
- ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion3.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_read(test_data.m_oid, my_completion3.get(),
&bl3, 2 * sizeof(buf), 0));
{
TestAlarm alarm;
bl1.append(buf, sizeof(buf));
AioTestDataPP test_data;
ASSERT_EQ("", test_data.init());
- ASSERT_EQ(0, test_data.m_ioctx.append("foo", bl1, sizeof(buf)));
+ ASSERT_EQ(0, test_data.m_ioctx.append(test_data.m_oid, bl1, sizeof(buf)));
auto my_completion = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
- ASSERT_EQ(0, test_data.m_ioctx.aio_remove("foo", my_completion.get()));
+ ASSERT_EQ(0, test_data.m_ioctx.aio_remove(test_data.m_oid, my_completion.get()));
{
TestAlarm alarm;
ASSERT_EQ(0, my_completion->wait_for_complete());
}
ASSERT_EQ(0, my_completion->get_return_value());
bufferlist bl2;
- ASSERT_EQ(-ENOENT, test_data.m_ioctx.read("foo", bl2, sizeof(buf), 0));
+ ASSERT_EQ(-ENOENT, test_data.m_ioctx.read(test_data.m_oid, bl2, sizeof(buf), 0));
}
TEST(LibRadosAioEC, RoundTripSparseReadPP) {
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
{
TestAlarm alarm;
bufferlist bl2;
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion2);
- ASSERT_EQ(0, test_data.m_ioctx.aio_sparse_read("foo", my_completion2.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_sparse_read(test_data.m_oid, my_completion2.get(),
&extents, &bl2, sizeof(buf), 0));
{
TestAlarm alarm;
memset(buf, 0xcc, bsize);
bufferlist bl1;
bl1.append(buf, bsize);
- ASSERT_EQ(0, test_data.m_ioctx.aio_append("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_append(test_data.m_oid, my_completion.get(),
bl1, bsize));
{
TestAlarm alarm;
bl2.append(buf2, hbsize);
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion2);
- ASSERT_EQ(0, test_data.m_ioctx.aio_append("foo", my_completion2.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_append(test_data.m_oid, my_completion2.get(),
bl2, hbsize));
{
TestAlarm alarm;
auto my_completion3 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion3);
- ASSERT_EQ(0, test_data.m_ioctx.aio_append("foo", my_completion3.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_append(test_data.m_oid, my_completion3.get(),
bl2, hbsize));
{
TestAlarm alarm;
bufferlist bl3;
auto my_completion4 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion4);
- ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion4.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_read(test_data.m_oid, my_completion4.get(),
&bl3, bsize * 3, 0));
{
TestAlarm alarm;
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
{
TestAlarm alarm;
bufferlist bl2;
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion2);
- ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion2.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_read(test_data.m_oid, my_completion2.get(),
&bl2, sizeof(buf), 0));
{
TestAlarm alarm;
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
{
TestAlarm alarm;
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
bufferlist bl2;
ASSERT_TRUE(my_completion2);
- ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion2.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_read(test_data.m_oid, my_completion2.get(),
&bl2, sizeof(buf), 0));
{
TestAlarm alarm;
memset(buf, 0xee, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
ASSERT_EQ(0, test_data.m_ioctx.aio_flush());
ASSERT_EQ(0, my_completion->get_return_value());
bufferlist bl2;
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion2);
- ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion2.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_read(test_data.m_oid, my_completion2.get(),
&bl2, sizeof(buf), 0));
{
TestAlarm alarm;
memset(buf, 0xee, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
ASSERT_EQ(0, test_data.m_ioctx.aio_flush_async(flush_completion.get()));
{
bufferlist bl2;
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion2);
- ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion2.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_read(test_data.m_oid, my_completion2.get(),
&bl2, sizeof(buf), 0));
{
TestAlarm alarm;
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
{
TestAlarm alarm;
bl2.append(buf2, sizeof(buf2));
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion2);
- ASSERT_EQ(0, test_data.m_ioctx.aio_write_full("foo", my_completion2.get(), bl2));
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write_full(test_data.m_oid, my_completion2.get(), bl2));
{
TestAlarm alarm;
ASSERT_EQ(0, my_completion2->wait_for_complete());
bufferlist bl3;
auto my_completion3 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion3);
- ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion3.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_read(test_data.m_oid, my_completion3.get(),
&bl3, sizeof(buf), 0));
{
TestAlarm alarm;
TEST(LibRadosAioEC, RoundTripWriteFullPP2)
{
Rados cluster;
- std::string pool_name = get_temp_pool_name();
+ auto pool_prefix = fmt::format("{}_", ::testing::UnitTest::GetInstance()->current_test_info()->name());
+ std::string pool_name = get_temp_pool_name(pool_prefix);
ASSERT_EQ("", create_one_pool_pp(pool_name, cluster));
IoCtx ioctx;
cluster.ioctx_create(pool_name.c_str(), ioctx);
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
{
TestAlarm alarm;
time_t pmtime;
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion2);
- ASSERT_EQ(0, test_data.m_ioctx.aio_stat("foo", my_completion2.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_stat(test_data.m_oid, my_completion2.get(),
&psize, &pmtime));
{
TestAlarm alarm;
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
{
TestAlarm alarm;
time_t pmtime;
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion2);
- ASSERT_EQ(0, test_data.m_ioctx.aio_stat("foo", my_completion2.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_stat(test_data.m_oid, my_completion2.get(),
&psize, &pmtime));
{
TestAlarm alarm;
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
{
TestAlarm alarm;
time_t pmtime;
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion2);
- ASSERT_EQ(0, test_data.m_ioctx.aio_stat("foo", my_completion2.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_stat(test_data.m_oid, my_completion2.get(),
&psize, &pmtime));
{
TestAlarm alarm;
time_t pmtime2;
auto my_completion3 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion3);
- ASSERT_EQ(0, test_data.m_ioctx.aio_remove("foo", my_completion3.get()));
+ ASSERT_EQ(0, test_data.m_ioctx.aio_remove(test_data.m_oid, my_completion3.get()));
{
TestAlarm alarm;
ASSERT_EQ(0, my_completion3->wait_for_complete());
auto my_completion4 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion4);
- ASSERT_EQ(0, test_data.m_ioctx.aio_stat("foo", my_completion4.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_stat(test_data.m_oid, my_completion4.get(),
&psize2, &pmtime2));
{
TestAlarm alarm;
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
{
TestAlarm alarm;
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion2);
bufferlist in, out;
- ASSERT_EQ(0, test_data.m_ioctx.aio_exec("foo", my_completion2.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_exec(test_data.m_oid, my_completion2.get(),
"hello", "say_hello", in, &out));
{
TestAlarm alarm;
TEST(LibRadosAioEC, OmapPP) {
Rados cluster;
- std::string pool_name = get_temp_pool_name();
+ auto pool_prefix = fmt::format("{}_", ::testing::UnitTest::GetInstance()->current_test_info()->name());
+ std::string pool_name = get_temp_pool_name(pool_prefix);
ASSERT_EQ("", create_one_ec_pool_pp(pool_name, cluster));
IoCtx ioctx;
cluster.ioctx_create(pool_name.c_str(), ioctx);
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(buf), 0));
{
TestAlarm alarm;
bl2.append(buf2, sizeof(buf2));
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion2);
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion2.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion2.get(),
bl2, sizeof(buf2), sizeof(buf)));
{
TestAlarm alarm;
bufferlist bl3;
auto my_completion3 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion3);
- ASSERT_EQ(0, test_data.m_ioctx.aio_read("foo", my_completion3.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_read(test_data.m_oid, my_completion3.get(),
&bl3, (sizeof(buf) + sizeof(buf2) * 3), 0));
{
TestAlarm alarm;
bl.append(buf, sizeof(buf));
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
ASSERT_TRUE(my_completion2);
- ASSERT_EQ(0, test_data.m_ioctx.aio_remove("foo", my_completion2.get()));
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_remove(test_data.m_oid, my_completion2.get()));
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl, sizeof(buf), 0));
{
TestAlarm alarm;
}
ASSERT_EQ(-ENOENT, my_completion2->get_return_value());
ASSERT_EQ(0, my_completion->get_return_value());
- ASSERT_EQ(0, test_data.m_ioctx.stat("foo", nullptr, nullptr));
+ ASSERT_EQ(0, test_data.m_ioctx.stat(test_data.m_oid, nullptr, nullptr));
}
TEST(LibRadosAio, RoundTripCmpExtPP) {
memset(full, 0xcc, sizeof(full));
bufferlist bl1;
bl1.append(full, sizeof(full));
- ASSERT_EQ(0, test_data.m_ioctx.aio_write("foo", my_completion.get(),
+ ASSERT_EQ(0, test_data.m_ioctx.aio_write(test_data.m_oid, my_completion.get(),
bl1, sizeof(full), 0));
{
TestAlarm alarm;
bufferlist cbl;
cbl.append(full, sizeof(full));
auto my_completion2 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
- ASSERT_EQ(0, test_data.m_ioctx.aio_cmpext("foo", my_completion2.get(), 0, cbl));
+ ASSERT_EQ(0, test_data.m_ioctx.aio_cmpext(test_data.m_oid, my_completion2.get(), 0, cbl));
{
TestAlarm alarm;
cbl.clear();
cbl.append(full, sizeof(full));
auto my_completion3 = std::unique_ptr<AioCompletion>{Rados::aio_create_completion()};
- ASSERT_EQ(0, test_data.m_ioctx.aio_cmpext("foo", my_completion3.get(), 0, cbl));
+ ASSERT_EQ(0, test_data.m_ioctx.aio_cmpext(test_data.m_oid, my_completion3.get(), 0, cbl));
{
TestAlarm alarm;
ASSERT_EQ(0, my_completion3->wait_for_complete());
char miscmp_buf[128];
bufferlist cbl;
Rados cluster;
- std::string pool_name = get_temp_pool_name();
+ auto pool_prefix = fmt::format("{}_", ::testing::UnitTest::GetInstance()->current_test_info()->name());
+ std::string pool_name = get_temp_pool_name(pool_prefix);
ASSERT_EQ("", create_one_pool_pp(pool_name, cluster));
IoCtx ioctx;
cluster.ioctx_create(pool_name.c_str(), ioctx);
info->c->set_complete_callback((void*)info, pool_io_callback);
inflight.insert(i);
my_lock.unlock();
- int r = test_data.m_ioctx.aio_write("foo", info->c, bl, bl.length(), 0);
+ int r = test_data.m_ioctx.aio_write(test_data.m_oid, info->c, bl, bl.length(), 0);
//cout << "start " << i << " r = " << r << std::endl;
if (i == max / 2) {