From 7f75092ecb28d0d44e84867def5cbadc1128c4ed Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Fri, 21 Oct 2022 10:35:05 -0400 Subject: [PATCH] test/librados: use spawn submodule instead of boost::asio::spawn there appear to be breaking API changes to spawn() in boost 1.80, use the spawn submodule instead Signed-off-by: Casey Bodley --- src/test/librados/CMakeLists.txt | 2 +- src/test/librados/asio.cc | 35 ++++++++++++++++---------------- 2 files changed, 18 insertions(+), 19 deletions(-) diff --git a/src/test/librados/CMakeLists.txt b/src/test/librados/CMakeLists.txt index fc033766cc47..b20cd8da4d1c 100644 --- a/src/test/librados/CMakeLists.txt +++ b/src/test/librados/CMakeLists.txt @@ -60,7 +60,7 @@ target_link_libraries(ceph_test_rados_api_aio_pp add_executable(ceph_test_rados_api_asio asio.cc) target_link_libraries(ceph_test_rados_api_asio global - librados ${UNITTEST_LIBS} Boost::coroutine Boost::context) + librados ${UNITTEST_LIBS} spawn) add_executable(ceph_test_rados_api_list list.cc diff --git a/src/test/librados/asio.cc b/src/test/librados/asio.cc index f92c42c72a52..9f86b4472b5a 100644 --- a/src/test/librados/asio.cc +++ b/src/test/librados/asio.cc @@ -19,10 +19,9 @@ #include "common/errno.h" #include "global/global_init.h" -#define BOOST_COROUTINES_NO_DEPRECATION_WARNING #include #include -#include +#include #include #define dout_subsys ceph_subsys_rados @@ -113,20 +112,20 @@ TEST_F(AsioRados, AsyncReadYield) { boost::asio::io_service service; - auto success_cr = [&] (boost::asio::yield_context yield) { + auto success_cr = [&] (spawn::yield_context yield) { boost::system::error_code ec; auto bl = librados::async_read(service, io, "exist", 256, 0, yield[ec]); EXPECT_FALSE(ec); EXPECT_EQ("hello", bl.to_str()); }; - boost::asio::spawn(service, success_cr); + spawn::spawn(service, success_cr); - auto failure_cr = [&] (boost::asio::yield_context yield) { + auto failure_cr = [&] (spawn::yield_context yield) { boost::system::error_code ec; auto bl = librados::async_read(service, io, "noexist", 256, 0, yield[ec]); EXPECT_EQ(boost::system::errc::no_such_file_or_directory, ec); }; - boost::asio::spawn(service, failure_cr); + spawn::spawn(service, failure_cr); service.run(); } @@ -178,22 +177,22 @@ TEST_F(AsioRados, AsyncWriteYield) bufferlist bl; bl.append("hello"); - auto success_cr = [&] (boost::asio::yield_context yield) { + auto success_cr = [&] (spawn::yield_context yield) { boost::system::error_code ec; librados::async_write(service, io, "exist", bl, bl.length(), 0, yield[ec]); EXPECT_FALSE(ec); EXPECT_EQ("hello", bl.to_str()); }; - boost::asio::spawn(service, success_cr); + spawn::spawn(service, success_cr); - auto failure_cr = [&] (boost::asio::yield_context yield) { + auto failure_cr = [&] (spawn::yield_context yield) { boost::system::error_code ec; librados::async_write(service, snapio, "exist", bl, bl.length(), 0, yield[ec]); EXPECT_EQ(boost::system::errc::read_only_file_system, ec); }; - boost::asio::spawn(service, failure_cr); + spawn::spawn(service, failure_cr); service.run(); } @@ -251,7 +250,7 @@ TEST_F(AsioRados, AsyncReadOperationYield) { boost::asio::io_service service; - auto success_cr = [&] (boost::asio::yield_context yield) { + auto success_cr = [&] (spawn::yield_context yield) { librados::ObjectReadOperation op; op.read(0, 0, nullptr, nullptr); boost::system::error_code ec; @@ -260,9 +259,9 @@ TEST_F(AsioRados, AsyncReadOperationYield) EXPECT_FALSE(ec); EXPECT_EQ("hello", bl.to_str()); }; - boost::asio::spawn(service, success_cr); + spawn::spawn(service, success_cr); - auto failure_cr = [&] (boost::asio::yield_context yield) { + auto failure_cr = [&] (spawn::yield_context yield) { librados::ObjectReadOperation op; op.read(0, 0, nullptr, nullptr); boost::system::error_code ec; @@ -270,7 +269,7 @@ TEST_F(AsioRados, AsyncReadOperationYield) yield[ec]); EXPECT_EQ(boost::system::errc::no_such_file_or_directory, ec); }; - boost::asio::spawn(service, failure_cr); + spawn::spawn(service, failure_cr); service.run(); } @@ -335,23 +334,23 @@ TEST_F(AsioRados, AsyncWriteOperationYield) bufferlist bl; bl.append("hello"); - auto success_cr = [&] (boost::asio::yield_context yield) { + auto success_cr = [&] (spawn::yield_context yield) { librados::ObjectWriteOperation op; op.write_full(bl); boost::system::error_code ec; librados::async_operate(service, io, "exist", &op, 0, yield[ec]); EXPECT_FALSE(ec); }; - boost::asio::spawn(service, success_cr); + spawn::spawn(service, success_cr); - auto failure_cr = [&] (boost::asio::yield_context yield) { + auto failure_cr = [&] (spawn::yield_context yield) { librados::ObjectWriteOperation op; op.write_full(bl); boost::system::error_code ec; librados::async_operate(service, snapio, "exist", &op, 0, yield[ec]); EXPECT_EQ(boost::system::errc::read_only_file_system, ec); }; - boost::asio::spawn(service, failure_cr); + spawn::spawn(service, failure_cr); service.run(); } -- 2.47.3