From f51c9ad85223493d2b72a93613663b2389a11824 Mon Sep 17 00:00:00 2001 From: Myoungwon Oh Date: Wed, 13 Sep 2023 14:16:16 +0900 Subject: [PATCH] crimson/tools/perf_staged_fltree: fix compile error Signed-off-by: Myoungwon Oh (cherry picked from commit 251288410c3ad8c763e386bec92eedb327801a4d) --- src/crimson/tools/CMakeLists.txt | 4 +++ .../seastore/transaction_manager_test_state.h | 26 ++++++++++++++----- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/src/crimson/tools/CMakeLists.txt b/src/crimson/tools/CMakeLists.txt index d57c3f9cfc4..fc18ff90b4d 100644 --- a/src/crimson/tools/CMakeLists.txt +++ b/src/crimson/tools/CMakeLists.txt @@ -15,4 +15,8 @@ add_executable(perf-async-msgr perf_async_msgr.cc) target_link_libraries(perf-async-msgr ceph-common global ${ALLOC_LIBS}) add_executable(perf-staged-fltree perf_staged_fltree.cc) +if(WITH_TESTS) +target_link_libraries(perf-staged-fltree crimson-seastore crimson::gtest) +else() target_link_libraries(perf-staged-fltree crimson-seastore) +endif() diff --git a/src/test/crimson/seastore/transaction_manager_test_state.h b/src/test/crimson/seastore/transaction_manager_test_state.h index c7c035928bc..81200b1db7d 100644 --- a/src/test/crimson/seastore/transaction_manager_test_state.h +++ b/src/test/crimson/seastore/transaction_manager_test_state.h @@ -18,6 +18,9 @@ #include "crimson/os/seastore/random_block_manager/rbm_device.h" #include "crimson/os/seastore/journal/circular_bounded_journal.h" #include "crimson/os/seastore/random_block_manager/block_rb_manager.h" +#ifdef UNIT_TESTS_BUILT +#include "test/crimson/gtest_seastar.h" +#endif using namespace crimson; using namespace crimson::os; @@ -167,7 +170,12 @@ public: void set_primary_device_ref(DeviceRef) final; }; -class EphemeralTestState : public ::testing::WithParamInterface { +class EphemeralTestState +#ifdef UNIT_TESTS_BUILT + : public ::testing::WithParamInterface { +#else + { +#endif protected: journal_type_t journal_type; size_t num_main_device_managers = 0; @@ -211,17 +219,21 @@ protected: seastar::future<> tm_setup() { LOG_PREFIX(EphemeralTestState::tm_setup); +#ifdef UNIT_TESTS_BUILT std::string j_type = GetParam(); - if (j_type == "segmented") { - devices.reset(new - EphemeralSegmentedDevices( - num_main_device_managers, num_cold_device_managers)); - } else { - assert(j_type == "circularbounded"); +#else + std::string j_type = "segmented"; +#endif + if (j_type == "circularbounded") { //TODO: multiple devices ceph_assert(num_main_device_managers == 1); ceph_assert(num_cold_device_managers == 0); devices.reset(new EphemeralRandomBlockDevices(1)); + } else { + // segmented by default + devices.reset(new + EphemeralSegmentedDevices( + num_main_device_managers, num_cold_device_managers)); } SUBINFO(test, "begin with {} devices ...", devices->get_num_devices()); return devices->setup( -- 2.39.5