mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 12:17:11 +01:00 
			
		
		
		
	 SimonChh
					SimonChh
				
			
				
					committed by
					
						 Martin Hořeňovský
						Martin Hořeňovský
					
				
			
			
				
	
			
			
			 Martin Hořeňovský
						Martin Hořeňovský
					
				
			
						parent
						
							5bf6e47381
						
					
				
				
					commit
					7d2451f119
				
			| @@ -49,6 +49,15 @@ namespace Catch { | ||||
|     {} | ||||
|     auto RedirectedStdErr::str() const -> std::string { return m_rss.str(); } | ||||
|  | ||||
|     RedirectedStreams::RedirectedStreams(std::string& redirectedCout, std::string& redirectedCerr) | ||||
|     :   m_redirectedCout(redirectedCout), | ||||
|         m_redirectedCerr(redirectedCerr) | ||||
|     {} | ||||
|  | ||||
|     RedirectedStreams::~RedirectedStreams() { | ||||
|         m_redirectedCout += m_redirectedStdOut.str(); | ||||
|         m_redirectedCerr += m_redirectedStdErr.str(); | ||||
|     } | ||||
|  | ||||
| #if defined(CATCH_CONFIG_NEW_CAPTURE) | ||||
|  | ||||
|   | ||||
| @@ -46,6 +46,21 @@ namespace Catch { | ||||
|         auto str() const -> std::string; | ||||
|     }; | ||||
|  | ||||
|     class RedirectedStreams { | ||||
|     public: | ||||
|         RedirectedStreams(RedirectedStreams const&) = delete; | ||||
|         RedirectedStreams& operator=(RedirectedStreams const&) = delete; | ||||
|         RedirectedStreams(RedirectedStreams&&) = delete; | ||||
|         RedirectedStreams& operator=(RedirectedStreams&&) = delete; | ||||
|  | ||||
|         RedirectedStreams(std::string& redirectedCout, std::string& redirectedCerr); | ||||
|         ~RedirectedStreams(); | ||||
|     private: | ||||
|         std::string& m_redirectedCout; | ||||
|         std::string& m_redirectedCerr; | ||||
|         RedirectedStdOut m_redirectedStdOut; | ||||
|         RedirectedStdErr m_redirectedStdErr; | ||||
|     }; | ||||
|  | ||||
| #if defined(CATCH_CONFIG_NEW_CAPTURE) | ||||
|  | ||||
|   | ||||
| @@ -67,7 +67,6 @@ namespace Catch { | ||||
|         GeneratorTracker::~GeneratorTracker() {} | ||||
|     } | ||||
|  | ||||
|  | ||||
|     RunContext::RunContext(IConfigPtr const& _config, IStreamingReporterPtr&& reporter) | ||||
|     :   m_runInfo(_config->name()), | ||||
|         m_context(getCurrentMutableContext()), | ||||
| @@ -323,13 +322,10 @@ namespace Catch { | ||||
|         CATCH_TRY { | ||||
|             if (m_reporter->getPreferences().shouldRedirectStdOut) { | ||||
| #if !defined(CATCH_CONFIG_EXPERIMENTAL_REDIRECT) | ||||
|                 RedirectedStdOut redirectedStdOut; | ||||
|                 RedirectedStdErr redirectedStdErr; | ||||
|                 RedirectedStreams redirectedStreams(redirectedCout, redirectedCerr); | ||||
|  | ||||
|                 timer.start(); | ||||
|                 invokeActiveTestCase(); | ||||
|                 redirectedCout += redirectedStdOut.str(); | ||||
|                 redirectedCerr += redirectedStdErr.str(); | ||||
| #else | ||||
|                 OutputRedirect r(redirectedCout, redirectedCerr); | ||||
|                 timer.start(); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user