You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.5 KiB
43 lines
1.5 KiB
2 years ago
|
////////////////////////////////////////////////////////////////////////////////
|
||
|
// Keep this file empty, and implement unit tests in separate compilation units!
|
||
|
////////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
// Catch2 Documentation: https://github.com/catchorg/Catch2/tree/master/docs
|
||
|
|
||
|
#define CATCH_CONFIG_RUNNER
|
||
|
#include <catch2/catch.hpp>
|
||
|
|
||
|
#include <logger.hpp>
|
||
|
|
||
|
int main(int argc, char* argv[])
|
||
|
{
|
||
|
Catch::Session session; // There must be exactly one instance
|
||
|
|
||
|
int log_level = spdlog::level::off;
|
||
|
|
||
|
// Build a new parser on top of Catch's
|
||
|
using namespace Catch::clara;
|
||
|
auto cli = session.cli()
|
||
|
| Opt(
|
||
|
[&log_level](int const d) {
|
||
|
if (d < 0 || d > spdlog::level::off) {
|
||
|
return ParserResult::runtimeError(
|
||
|
"Log level must be between 0 and 6");
|
||
|
} else {
|
||
|
log_level = d;
|
||
|
return ParserResult::ok(ParseResultType::Matched);
|
||
|
}
|
||
|
},
|
||
|
"log_level")["-g"]["--logger-level"](
|
||
|
"logger verbosity level int (0-6)");
|
||
|
session.cli(cli);
|
||
|
|
||
|
int returnCode = session.applyCommandLine(argc, argv);
|
||
|
if (returnCode != 0) // Indicates a command line error
|
||
|
return returnCode;
|
||
|
|
||
|
ipc::rigid::set_logger_level(static_cast<spdlog::level::level_enum>(log_level));
|
||
|
|
||
|
return session.run();
|
||
|
}
|