From 3b87050dcbe8ea6c5c3ad7ff24a5d0843c072c9d Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Mon, 9 Dec 2024 10:52:23 -0600 Subject: [PATCH] file mgr db unit tests and fixes --- cmake/libraries/rocksdb.cmake | 7 ++++--- repertory/librepertory/src/db/rdb_file_mgr_db.cpp | 14 ++++++++++---- repertory/repertory_test/src/file_mgr_db_test.cpp | 3 --- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/cmake/libraries/rocksdb.cmake b/cmake/libraries/rocksdb.cmake index 4d197a98..411317d5 100644 --- a/cmake/libraries/rocksdb.cmake +++ b/cmake/libraries/rocksdb.cmake @@ -2,12 +2,13 @@ if(PROJECT_ENABLE_ROCKSDB) if(PROJECT_BUILD) add_definitions(-DPROJECT_ENABLE_ROCKSDB) if (PROJECT_IS_MINGW AND NOT PROJECT_IS_MINGW_UNIX) - find_library(ROCKSDB_LIBRARY NAMES librocksdb REQUIRED) + pkg_check_modules(ROCKSDB REQUIRED rocksdb) + include_directories(SYSTEM BEFORE ${ROCKSDB_INCLUDE_DIRS}) + link_libraries(${ROCKSDB_LIBRARIES}) else() find_library(ROCKSDB_LIBRARY NAMES librocksdb.a REQUIRED) + link_libraries(${ROCKSDB_LIBRARY}) endif() - - link_libraries(${ROCKSDB_LIBRARY}) elseif(NOT PROJECT_IS_MINGW OR PROJECT_IS_MINGW_UNIX) ExternalProject_Add(rocksdb_project PREFIX external diff --git a/repertory/librepertory/src/db/rdb_file_mgr_db.cpp b/repertory/librepertory/src/db/rdb_file_mgr_db.cpp index a2f4e382..3688ff5b 100644 --- a/repertory/librepertory/src/db/rdb_file_mgr_db.cpp +++ b/repertory/librepertory/src/db/rdb_file_mgr_db.cpp @@ -203,12 +203,18 @@ auto rdb_file_mgr_db::get_upload_active_list() const auto rdb_file_mgr_db::perform_action(std::string_view function_name, std::function action) -> bool { - auto res = action(); - if (not res.ok()) { - utils::error::raise_error(function_name, res.ToString()); + try { + auto res = action(); + if (not res.ok()) { + utils::error::raise_error(function_name, res.ToString()); + } + + return res.ok(); + } catch (const std::exception &ex) { + utils::error::raise_error(function_name, ex); } - return res.ok(); + return false; } auto rdb_file_mgr_db::remove_resume(const std::string &api_path) -> bool { diff --git a/repertory/repertory_test/src/file_mgr_db_test.cpp b/repertory/repertory_test/src/file_mgr_db_test.cpp index 82c3d91e..ef01a805 100644 --- a/repertory/repertory_test/src/file_mgr_db_test.cpp +++ b/repertory/repertory_test/src/file_mgr_db_test.cpp @@ -119,7 +119,6 @@ TYPED_TEST(file_mgr_db_test, can_add_get_and_remove_upload) { this->file_mgr_db->clear(); EXPECT_TRUE(this->file_mgr_db->add_upload({ "/test0", - 2ULL, "/src/test0", })); @@ -136,13 +135,11 @@ TYPED_TEST(file_mgr_db_test, uploads_are_correctly_ordered) { this->file_mgr_db->clear(); EXPECT_TRUE(this->file_mgr_db->add_upload({ "/test08", - utils::time::get_time_now(), "/src/test0", })); EXPECT_TRUE(this->file_mgr_db->add_upload({ "/test07", - utils::time::get_time_now(), "/src/test1", }));