2
0
mirror of https://github.com/catchorg/Catch2 synced 2026-02-27 05:32:10 +00:00

Introduce type to handle reporter specs with defaults filled-in

This commit is contained in:
Martin Hořeňovský
2022-04-13 14:55:05 +02:00
parent 79d1e82381
commit a243cbae52
15 changed files with 146 additions and 48 deletions

View File

@@ -43,15 +43,14 @@ namespace Catch {
IEventListenerPtr prepareReporters(Config const* config) {
if (Catch::getRegistryHub().getReporterRegistry().getListeners().empty()
&& config->getReporterSpecs().size() == 1) {
auto const& spec = config->getReporterSpecs()[0];
&& config->getProcessedReporterSpecs().size() == 1) {
auto const& spec = config->getProcessedReporterSpecs()[0];
return createReporter(
spec.name(),
ReporterConfig(
config,
makeStream(*spec.outputFile()),
*spec.colourMode(),
spec.customOptions() ) );
spec.name,
ReporterConfig( config,
makeStream( spec.outputFilename ),
spec.colourMode,
spec.customOptions ) );
}
auto multi = Detail::make_unique<MultiReporter>(config);
@@ -62,13 +61,13 @@ namespace Catch {
}
std::size_t reporterIdx = 0;
for (auto const& reporterSpec : config->getReporterSpecs()) {
for ( auto const& reporterSpec : config->getProcessedReporterSpecs() ) {
multi->addReporter( createReporter(
reporterSpec.name(),
reporterSpec.name,
ReporterConfig( config,
makeStream( *reporterSpec.outputFile() ),
*reporterSpec.colourMode(),
reporterSpec.customOptions() ) ) );
makeStream( reporterSpec.outputFilename ),
reporterSpec.colourMode,
reporterSpec.customOptions ) ) );
reporterIdx++;
}