| 44 | } |
| 45 | |
| 46 | IEventListenerPtr prepareReporters(Config const* config) { |
| 47 | if (Catch::getRegistryHub().getReporterRegistry().getListeners().empty() |
| 48 | && config->getProcessedReporterSpecs().size() == 1) { |
| 49 | auto const& spec = config->getProcessedReporterSpecs()[0]; |
| 50 | return createReporter( |
| 51 | spec.name, |
| 52 | ReporterConfig( config, |
| 53 | makeStream( spec.outputFilename ), |
| 54 | spec.colourMode, |
| 55 | spec.customOptions ) ); |
| 56 | } |
| 57 | |
| 58 | auto multi = Detail::make_unique<MultiReporter>(config); |
| 59 | |
| 60 | auto const& listeners = Catch::getRegistryHub().getReporterRegistry().getListeners(); |
| 61 | for (auto const& listener : listeners) { |
| 62 | multi->addListener(listener->create(config)); |
| 63 | } |
| 64 | |
| 65 | for ( auto const& reporterSpec : config->getProcessedReporterSpecs() ) { |
| 66 | multi->addReporter( createReporter( |
| 67 | reporterSpec.name, |
| 68 | ReporterConfig( config, |
| 69 | makeStream( reporterSpec.outputFilename ), |
| 70 | reporterSpec.colourMode, |
| 71 | reporterSpec.customOptions ) ) ); |
| 72 | } |
| 73 | |
| 74 | return multi; |
| 75 | } |
| 76 | |
| 77 | class TestGroup { |
| 78 | public: |
no test coverage detected