8 #include <ripple/beast/unit_test/amount.hpp>
9 #include <ripple/beast/unit_test/dstream.hpp>
10 #include <ripple/beast/unit_test/global_suites.hpp>
11 #include <ripple/beast/unit_test/match.hpp>
12 #include <ripple/beast/unit_test/reporter.hpp>
13 #include <ripple/beast/unit_test/suite.hpp>
14 #include <boost/config.hpp>
15 #include <boost/program_options.hpp>
21 #ifndef WIN32_LEAN_AND_MEAN // VC_EXTRALEAN
22 #define WIN32_LEAN_AND_MEAN
24 #undef WIN32_LEAN_AND_MEAN
45 for (
auto const& s : c)
47 os <<
prefix(s) << s.full_name() <<
'\n';
51 os << amount(c.size(),
"suite") <<
" total, "
52 << amount(manual,
"manual suite") <<
'\n';
60 os <<
"------------------------------------------\n";
61 print(os, global_suites());
62 os <<
"------------------------------------------" <<
std::endl;
71 main(
int ac,
char const* av[])
76 namespace po = boost::program_options;
77 po::options_description desc(
"Options");
78 desc.add_options()(
"help,h",
"Produce a help message")(
79 "print,p",
"Print the list of available test suites")(
80 "suites,s", po::value<string>(),
"suites to run");
82 po::positional_options_description p;
84 po::store(po::parse_command_line(ac, av, desc), vm);
94 else if (vm.count(
"print"))
101 if (vm.count(
"suites") > 0)
102 suites = vm[
"suites"].as<
string>();
106 failed = r.run_each_if(global_suites(), match_auto(suites));
108 failed = r.run_each(global_suites());