aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjeff <jeffro256@tutanota.com>2023-09-10 02:11:11 -0500
committerjeff <jeffro256@tutanota.com>2023-09-10 02:18:50 -0500
commit1025e4fcb1a62df3925f5c52d993cac868156e5a (patch)
tree32a77658099211aa027a1a9a59f3f22b900a18a8
parentMerge pull request #8959 (diff)
downloadmonero-1025e4fcb1a62df3925f5c52d993cac868156e5a.tar.xz
unit_test: set data dir relative to exe & add log-level arg
-rw-r--r--tests/unit_tests/CMakeLists.txt2
-rw-r--r--tests/unit_tests/main.cpp14
2 files changed, 12 insertions, 4 deletions
diff --git a/tests/unit_tests/CMakeLists.txt b/tests/unit_tests/CMakeLists.txt
index 57bd568fc..a5f58387f 100644
--- a/tests/unit_tests/CMakeLists.txt
+++ b/tests/unit_tests/CMakeLists.txt
@@ -142,8 +142,6 @@ if (NOT MSVC)
COMPILE_FLAGS " -Wno-undef -Wno-sign-compare")
endif ()
-SET_PROPERTY(SOURCE main.cpp PROPERTY COMPILE_FLAGS -DDEFAULT_DATA_DIR="\\"${CMAKE_SOURCE_DIR}/tests/data\\"")
-
SET_PROPERTY(SOURCE memwipe.cpp PROPERTY COMPILE_FLAGS -Ofast)
add_test(
diff --git a/tests/unit_tests/main.cpp b/tests/unit_tests/main.cpp
index f690f3581..586cb7c60 100644
--- a/tests/unit_tests/main.cpp
+++ b/tests/unit_tests/main.cpp
@@ -62,9 +62,14 @@ int main(int argc, char** argv)
::testing::InitGoogleTest(&argc, argv);
+ // the default test data directory is ../data (relative to the executable's directory)
+ const auto default_test_data_dir = boost::filesystem::path(argv[0]).parent_path().parent_path() / "data";
+
po::options_description desc_options("Command line options");
- const command_line::arg_descriptor<std::string> arg_data_dir = { "data-dir", "Data files directory", DEFAULT_DATA_DIR };
+ const command_line::arg_descriptor<std::string> arg_data_dir = { "data-dir", "Data files directory", default_test_data_dir.string() };
+ const command_line::arg_descriptor<std::string> arg_log_level = { "log-level", "0-4 or categories", "" };
command_line::add_arg(desc_options, arg_data_dir);
+ command_line::add_arg(desc_options, arg_log_level);
po::variables_map vm;
bool r = command_line::handle_error_helper(desc_options, [&]()
@@ -76,7 +81,12 @@ int main(int argc, char** argv)
if (! r)
return 1;
- unit_test::data_dir = command_line::get_arg(vm, arg_data_dir);
+ // set the test data directory
+ unit_test::data_dir = command_line::get_arg(vm, arg_data_dir).c_str();
+
+ // set the log level
+ if (!command_line::is_arg_defaulted(vm, arg_log_level))
+ mlog_set_log(command_line::get_arg(vm, arg_log_level).c_str());
CATCH_ENTRY_L0("main", 1);