Don't redirect stout for basic reporter

This commit is contained in:
Phil Nash
2012-02-17 09:28:21 +00:00
parent 93b8a39c38
commit a57b025c9c
6 changed files with 38 additions and 3 deletions

View File

@@ -47,6 +47,9 @@ namespace Catch
virtual ~IReporter
(){}
virtual bool shouldRedirectStdout
() const = 0;
virtual void StartTesting
() = 0;

View File

@@ -585,9 +585,16 @@ namespace Catch
try
{
m_runningTest->reset();
StreamRedirect coutRedir( std::cout, redirectedCout );
StreamRedirect cerrRedir( std::cerr, redirectedCerr );
m_runningTest->getTestCaseInfo().invoke();
if( m_reporter->shouldRedirectStdout() )
{
StreamRedirect coutRedir( std::cout, redirectedCout );
StreamRedirect cerrRedir( std::cerr, redirectedCerr );
m_runningTest->getTestCaseInfo().invoke();
}
else
{
m_runningTest->getTestCaseInfo().invoke();
}
m_runningTest->ranToCompletion();
}
catch( TestFailureException& )