From: Myoungwon Oh Date: Wed, 13 Sep 2023 05:16:16 +0000 (+0900) Subject: crimson/tools/perf_staged_fltree: fix compile error X-Git-Tag: v19.0.0~483^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F53433%2Fhead;p=ceph.git crimson/tools/perf_staged_fltree: fix compile error Signed-off-by: Myoungwon Oh --- diff --git a/src/crimson/tools/CMakeLists.txt b/src/crimson/tools/CMakeLists.txt index d57c3f9cfc444..fc18ff90b4da5 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 c7c035928bca7..81200b1db7d97 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(