mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 12:17:11 +01:00 
			
		
		
		
	Add define that pulls in reporter and listeners interfaces
This allows users to define reporters and listeners in files different from the main file. Related to #991, #986
This commit is contained in:
		| @@ -138,6 +138,7 @@ set(INTERNAL_HEADERS | ||||
|         ${HEADER_DIR}/internal/catch_enforce.h | ||||
|         ${HEADER_DIR}/internal/catch_errno_guard.h | ||||
|         ${HEADER_DIR}/internal/catch_exception_translator_registry.h | ||||
|         ${HEADER_DIR}/internal/catch_external_interfaces.h | ||||
|         ${HEADER_DIR}/internal/catch_fatal_condition.h | ||||
|         ${HEADER_DIR}/internal/catch_impl.hpp | ||||
|         ${HEADER_DIR}/internal/catch_interfaces_capture.h | ||||
|   | ||||
| @@ -19,6 +19,7 @@ | ||||
|  | ||||
| #if defined(CATCH_CONFIG_MAIN) || defined(CATCH_CONFIG_RUNNER) | ||||
| #  define CATCH_IMPL | ||||
| #  define CATCH_CONFIG_EXTERNAL_INTERFACES | ||||
| #endif | ||||
|  | ||||
| #ifdef CATCH_IMPL | ||||
| @@ -52,6 +53,10 @@ | ||||
| #include "internal/catch_objc.hpp" | ||||
| #endif | ||||
|  | ||||
| #ifdef CATCH_CONFIG_EXTERNAL_INTERFACES | ||||
| #include "internal/catch_external_interfaces.h" | ||||
| #endif | ||||
|  | ||||
| #ifdef CATCH_IMPL | ||||
| #include "internal/catch_impl.hpp" | ||||
| #endif | ||||
|   | ||||
							
								
								
									
										13
									
								
								include/internal/catch_external_interfaces.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								include/internal/catch_external_interfaces.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| /* | ||||
|  *  Created by Martin on 17/08/2017. | ||||
|  * | ||||
|  *  Distributed under the Boost Software License, Version 1.0. (See accompanying | ||||
|  *  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | ||||
|  */ | ||||
| #ifndef TWOBLUECUBES_CATCH_EXTERNAL_INTERFACES_H | ||||
| #define TWOBLUECUBES_CATCH_EXTERNAL_INTERFACES_H | ||||
|  | ||||
| #include "../reporters/catch_reporter_bases.hpp" | ||||
| #include "catch_reporter_registrars.hpp" | ||||
|  | ||||
| #endif // TWOBLUECUBES_CATCH_EXTERNAL_INTERFACES_H | ||||
| @@ -1,3 +1,4 @@ | ||||
|  | ||||
| /* | ||||
|  *  Created by Phil on 31/12/2010. | ||||
|  *  Copyright 2010 Two Blue Cubes Ltd. All rights reserved. | ||||
| @@ -39,7 +40,7 @@ namespace Catch { | ||||
|         class ListenerFactory : public IReporterFactory { | ||||
|  | ||||
|             virtual IStreamingReporterPtr create( ReporterConfig const& config ) const override { | ||||
|                 return std::make_shared<T>( config ); | ||||
|                 return std::unique_ptr<T>( new T( config ) ); | ||||
|             } | ||||
|             virtual std::string getDescription() const override { | ||||
|                 return std::string(); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Martin Hořeňovský
					Martin Hořeňovský