From 12a8dfa2f21dc628fcb0348e83b0b97e32260409 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Ho=C5=99e=C5=88ovsk=C3=BD?= Date: Sun, 22 Jul 2018 22:57:34 +0200 Subject: [PATCH] Fix Listening reporter use of ReporterPreferences --- include/reporters/catch_reporter_listening.cpp | 8 +++++++- include/reporters/catch_reporter_listening.h | 3 +++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/include/reporters/catch_reporter_listening.cpp b/include/reporters/catch_reporter_listening.cpp index cd625154..9ddae2f2 100644 --- a/include/reporters/catch_reporter_listening.cpp +++ b/include/reporters/catch_reporter_listening.cpp @@ -11,6 +11,11 @@ namespace Catch { + ListeningReporter::ListeningReporter() { + // We will assume that listeners will always want all assertions + m_preferences.shouldReportAllAssertions = true; + } + void ListeningReporter::addListener( IStreamingReporterPtr&& listener ) { m_listeners.push_back( std::move( listener ) ); } @@ -18,10 +23,11 @@ namespace Catch { void ListeningReporter::addReporter(IStreamingReporterPtr&& reporter) { assert(!m_reporter && "Listening reporter can wrap only 1 real reporter"); m_reporter = std::move( reporter ); + m_preferences.shouldRedirectStdOut = m_reporter->getPreferences().shouldRedirectStdOut; } ReporterPreferences ListeningReporter::getPreferences() const { - return m_reporter->getPreferences(); + return m_preferences; } std::set ListeningReporter::getSupportedVerbosities() { diff --git a/include/reporters/catch_reporter_listening.h b/include/reporters/catch_reporter_listening.h index bf97edef..dddd7a51 100644 --- a/include/reporters/catch_reporter_listening.h +++ b/include/reporters/catch_reporter_listening.h @@ -15,8 +15,11 @@ namespace Catch { using Reporters = std::vector; Reporters m_listeners; IStreamingReporterPtr m_reporter = nullptr; + ReporterPreferences m_preferences; public: + ListeningReporter(); + void addListener( IStreamingReporterPtr&& listener ); void addReporter( IStreamingReporterPtr&& reporter );