core_tests: add a --list_tests command line switch
This commit is contained in:
parent
42abea7f72
commit
524bf750c0
@ -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<test_event_entry> events; \
|
||||
++tests_count; \
|
||||
|
@ -44,6 +44,7 @@ namespace
|
||||
const command_line::arg_descriptor<bool> arg_generate_and_play_test_data = {"generate_and_play_test_data", ""};
|
||||
const command_line::arg_descriptor<bool> arg_test_transactions = {"test_transactions", ""};
|
||||
const command_line::arg_descriptor<std::string> arg_filter = { "filter", "Regular expression filter for which tests to run" };
|
||||
const command_line::arg_descriptor<bool> 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<std::string> 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);
|
||||
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:");
|
||||
|
Loading…
Reference in New Issue
Block a user