diff --git a/include/catch_runner.hpp b/include/catch_runner.hpp index c849ccb2..8f18267a 100644 --- a/include/catch_runner.hpp +++ b/include/catch_runner.hpp @@ -26,7 +26,7 @@ namespace Catch { : m_configWrapper( configWrapper ), m_config( configWrapper.data() ) { - resolveStream(); + openStream(); makeReporter(); } @@ -78,13 +78,10 @@ namespace Catch { } private: - void resolveStream() { - if( !m_config.stream.empty() ) { - if( m_config.stream[0] == '%' ) - m_configWrapper.useStream( m_config.stream.substr( 1 ) ); - else - m_configWrapper.setFilename( m_config.stream ); - } + void openStream() { + if( !m_config.stream.empty() ) + m_configWrapper.useStream( m_config.stream ); + // Open output file, if specified if( !m_config.outputFilename.empty() ) { m_ofs.open( m_config.outputFilename.c_str() ); @@ -130,6 +127,7 @@ namespace Catch { // Handle list request if( config.listSpec != List::None ) { List( config ); + Catch::cleanUp(); return 0; } diff --git a/include/internal/catch_capture.hpp b/include/internal/catch_capture.hpp index c4f28757..379cc24c 100644 --- a/include/internal/catch_capture.hpp +++ b/include/internal/catch_capture.hpp @@ -35,8 +35,8 @@ public: return *this; } - std::string getInfo () const { - return m_oss.str(); + ResultInfo getInfo () const { + return ResultInfo( "", ResultWas::Info, false, SourceLineInfo(), "SCOPED_INFO", m_oss.str().c_str() ); } private: diff --git a/include/internal/catch_commandline.hpp b/include/internal/catch_commandline.hpp index 38c60855..f03ae3c8 100644 --- a/include/internal/catch_commandline.hpp +++ b/include/internal/catch_commandline.hpp @@ -188,10 +188,10 @@ namespace Catch { m_optionNames.push_back( "--help" ); } virtual std::string argsSynopsis() const { - return "[