From f796a2dac40c6f3331dbfb29ad0e25bd66d3cbe5 Mon Sep 17 00:00:00 2001 From: moneromooo-monero Date: Mon, 7 Jan 2019 14:41:49 +0000 Subject: [PATCH] core_tests: add a --list_tests command line switch --- tests/core_tests/chaingen.h | 4 +++- tests/core_tests/chaingen_main.cpp | 14 ++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/tests/core_tests/chaingen.h b/tests/core_tests/chaingen.h index b428c7371..7c09baf44 100644 --- a/tests/core_tests/chaingen.h +++ b/tests/core_tests/chaingen.h @@ -669,7 +669,9 @@ inline bool do_replay_file(const std::string& filename) } #define GENERATE_AND_PLAY(genclass) \ - if (filter.empty() || boost::regex_match(std::string(#genclass), match, boost::regex(filter))) \ + if (list_tests) \ + std::cout << #genclass << std::endl; \ + else if (filter.empty() || boost::regex_match(std::string(#genclass), match, boost::regex(filter))) \ { \ std::vector events; \ ++tests_count; \ diff --git a/tests/core_tests/chaingen_main.cpp b/tests/core_tests/chaingen_main.cpp index b1e7f8237..cb35cfde2 100644 --- a/tests/core_tests/chaingen_main.cpp +++ b/tests/core_tests/chaingen_main.cpp @@ -44,6 +44,7 @@ namespace const command_line::arg_descriptor arg_generate_and_play_test_data = {"generate_and_play_test_data", ""}; const command_line::arg_descriptor arg_test_transactions = {"test_transactions", ""}; const command_line::arg_descriptor arg_filter = { "filter", "Regular expression filter for which tests to run" }; + const command_line::arg_descriptor arg_list_tests = {"list_tests", ""}; } int main(int argc, char* argv[]) @@ -64,6 +65,7 @@ int main(int argc, char* argv[]) command_line::add_arg(desc_options, arg_generate_and_play_test_data); command_line::add_arg(desc_options, arg_test_transactions); command_line::add_arg(desc_options, arg_filter); + command_line::add_arg(desc_options, arg_list_tests); po::variables_map vm; bool r = command_line::handle_error_helper(desc_options, [&]() @@ -87,6 +89,7 @@ int main(int argc, char* argv[]) size_t tests_count = 0; std::vector failed_tests; std::string tests_folder = command_line::get_arg(vm, arg_test_data_path); + bool list_tests = false; if (command_line::get_arg(vm, arg_generate_test_data)) { GENERATE("chain001.dat", gen_simple_chain_001); @@ -95,7 +98,7 @@ int main(int argc, char* argv[]) { PLAY("chain001.dat", gen_simple_chain_001); } - else if (command_line::get_arg(vm, arg_generate_and_play_test_data)) + else if (command_line::get_arg(vm, arg_generate_and_play_test_data) || (list_tests = command_line::get_arg(vm, arg_list_tests))) { GENERATE_AND_PLAY(gen_simple_chain_001); GENERATE_AND_PLAY(gen_simple_chain_split_1); @@ -251,9 +254,12 @@ int main(int argc, char* argv[]) GENERATE_AND_PLAY(gen_bp_tx_invalid_borromean_type); el::Level level = (failed_tests.empty() ? el::Level::Info : el::Level::Error); - MLOG(level, "\nREPORT:"); - MLOG(level, " Test run: " << tests_count); - MLOG(level, " Failures: " << failed_tests.size()); + if (!list_tests) + { + MLOG(level, "\nREPORT:"); + MLOG(level, " Test run: " << tests_count); + MLOG(level, " Failures: " << failed_tests.size()); + } if (!failed_tests.empty()) { MLOG(level, "FAILED TESTS:");