27 lines
701 B
C++
27 lines
701 B
C++
|
#define CATCH_CONFIG_RUNNER
|
||
|
#include <glibmm.h>
|
||
|
#include <spdlog/sinks/stdout_sinks.h>
|
||
|
#include <spdlog/spdlog.h>
|
||
|
|
||
|
#include <catch2/catch.hpp>
|
||
|
#include <catch2/catch_reporter_tap.hpp>
|
||
|
#include <memory>
|
||
|
|
||
|
int main(int argc, char* argv[]) {
|
||
|
Catch::Session session;
|
||
|
Glib::init();
|
||
|
|
||
|
session.applyCommandLine(argc, argv);
|
||
|
const auto logger = spdlog::default_logger();
|
||
|
const auto& reporter_name = session.config().getReporterName();
|
||
|
if (reporter_name == "tap") {
|
||
|
spdlog::set_pattern("# [%l] %v");
|
||
|
} else if (reporter_name == "compact") {
|
||
|
logger->sinks().clear();
|
||
|
} else {
|
||
|
logger->sinks().assign({std::make_shared<spdlog::sinks::stderr_sink_st>()});
|
||
|
}
|
||
|
|
||
|
return session.run();
|
||
|
}
|