mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 04:07:10 +01:00 
			
		
		
		
	v1.3.5
This commit is contained in:
		| @@ -1,6 +1,6 @@ | ||||
|  | ||||
|  | ||||
| *v1.3.4* | ||||
| *v1.3.5* | ||||
|  | ||||
| Build status (on Travis CI) [](https://travis-ci.org/philsquared/Catch) | ||||
|  | ||||
|   | ||||
| @@ -37,7 +37,7 @@ namespace Catch { | ||||
|         return os; | ||||
|     } | ||||
|  | ||||
|     Version libraryVersion( 1, 3, 4, "", 0 ); | ||||
|     Version libraryVersion( 1, 3, 5, "", 0 ); | ||||
|  | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| /* | ||||
|  *  Catch v1.3.4 | ||||
|  *  Generated: 2016-02-10 19:24:03.089683 | ||||
|  *  Catch v1.3.5 | ||||
|  *  Generated: 2016-02-29 08:16:42.342094 | ||||
|  *  ---------------------------------------------------------- | ||||
|  *  This file has been merged from multiple headers. Please don't edit it directly | ||||
|  *  Copyright (c) 2012 Two Blue Cubes Ltd. All rights reserved. | ||||
| @@ -102,6 +102,10 @@ | ||||
|  | ||||
| // All the C++11 features can be disabled with CATCH_CONFIG_NO_CPP11 | ||||
|  | ||||
| #if defined(__cplusplus) && __cplusplus >= 201103L | ||||
| #  define CATCH_CPP11_OR_GREATER | ||||
| #endif | ||||
|  | ||||
| #ifdef __clang__ | ||||
|  | ||||
| #  if __has_feature(cxx_nullptr) | ||||
| @@ -112,6 +116,10 @@ | ||||
| #    define CATCH_INTERNAL_CONFIG_CPP11_NOEXCEPT | ||||
| #  endif | ||||
|  | ||||
| #   if defined(CATCH_CPP11_OR_GREATER) | ||||
| #       define CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS _Pragma( "clang diagnostic ignored \"-Wparentheses\"" ) | ||||
| #   endif | ||||
|  | ||||
| #endif // __clang__ | ||||
|  | ||||
| //////////////////////////////////////////////////////////////////////////////// | ||||
| @@ -140,6 +148,10 @@ | ||||
| #       define CATCH_INTERNAL_CONFIG_CPP11_NULLPTR | ||||
| #   endif | ||||
|  | ||||
| #   if !defined(CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS) && defined(CATCH_CPP11_OR_GREATER) | ||||
| #       define CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS _Pragma( "gcc diagnostic ignored \"-Wparentheses\"" ) | ||||
| #   endif | ||||
|  | ||||
| // - otherwise more recent versions define __cplusplus >= 201103L | ||||
| // and will get picked up below | ||||
|  | ||||
| @@ -177,9 +189,7 @@ | ||||
| // C++ language feature support | ||||
|  | ||||
| // catch all support for C++11 | ||||
| #if defined(__cplusplus) && __cplusplus >= 201103L | ||||
|  | ||||
| #  define CATCH_CPP11_OR_GREATER | ||||
| #if defined(CATCH_CPP11_OR_GREATER) | ||||
|  | ||||
| #  if !defined(CATCH_INTERNAL_CONFIG_CPP11_NULLPTR) | ||||
| #    define CATCH_INTERNAL_CONFIG_CPP11_NULLPTR | ||||
| @@ -247,6 +257,10 @@ | ||||
| #   define CATCH_CONFIG_CPP11_UNIQUE_PTR | ||||
| #endif | ||||
|  | ||||
| #if !defined(CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS) | ||||
| #   define CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS | ||||
| #endif | ||||
|  | ||||
| // noexcept support: | ||||
| #if defined(CATCH_CONFIG_CPP11_NOEXCEPT) && !defined(CATCH_NOEXCEPT) | ||||
| #  define CATCH_NOEXCEPT noexcept | ||||
| @@ -1287,37 +1301,37 @@ namespace Internal { | ||||
|     template<typename T1, typename T2> | ||||
|     struct Evaluator<T1, T2, IsEqualTo> { | ||||
|         static bool evaluate( T1 const& lhs, T2 const& rhs) { | ||||
|             return opCast( lhs ) ==  opCast( rhs ); | ||||
|             return bool( opCast( lhs ) ==  opCast( rhs ) ); | ||||
|         } | ||||
|     }; | ||||
|     template<typename T1, typename T2> | ||||
|     struct Evaluator<T1, T2, IsNotEqualTo> { | ||||
|         static bool evaluate( T1 const& lhs, T2 const& rhs ) { | ||||
|             return opCast( lhs ) != opCast( rhs ); | ||||
|             return bool( opCast( lhs ) != opCast( rhs ) ); | ||||
|         } | ||||
|     }; | ||||
|     template<typename T1, typename T2> | ||||
|     struct Evaluator<T1, T2, IsLessThan> { | ||||
|         static bool evaluate( T1 const& lhs, T2 const& rhs ) { | ||||
|             return opCast( lhs ) < opCast( rhs ); | ||||
|             return bool( opCast( lhs ) < opCast( rhs ) ); | ||||
|         } | ||||
|     }; | ||||
|     template<typename T1, typename T2> | ||||
|     struct Evaluator<T1, T2, IsGreaterThan> { | ||||
|         static bool evaluate( T1 const& lhs, T2 const& rhs ) { | ||||
|             return opCast( lhs ) > opCast( rhs ); | ||||
|             return bool( opCast( lhs ) > opCast( rhs ) ); | ||||
|         } | ||||
|     }; | ||||
|     template<typename T1, typename T2> | ||||
|     struct Evaluator<T1, T2, IsGreaterThanOrEqualTo> { | ||||
|         static bool evaluate( T1 const& lhs, T2 const& rhs ) { | ||||
|             return opCast( lhs ) >= opCast( rhs ); | ||||
|             return bool( opCast( lhs ) >= opCast( rhs ) ); | ||||
|         } | ||||
|     }; | ||||
|     template<typename T1, typename T2> | ||||
|     struct Evaluator<T1, T2, IsLessThanOrEqualTo> { | ||||
|         static bool evaluate( T1 const& lhs, T2 const& rhs ) { | ||||
|             return opCast( lhs ) <= opCast( rhs ); | ||||
|             return bool( opCast( lhs ) <= opCast( rhs ) ); | ||||
|         } | ||||
|     }; | ||||
|  | ||||
| @@ -2020,6 +2034,7 @@ namespace Catch { | ||||
|     do { \ | ||||
|         Catch::ResultBuilder __catchResult( macroName, CATCH_INTERNAL_LINEINFO, #expr, resultDisposition ); \ | ||||
|         try { \ | ||||
|             CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS \ | ||||
|             ( __catchResult <= expr ).endExpression(); \ | ||||
|         } \ | ||||
|         catch( ... ) { \ | ||||
| @@ -3331,6 +3346,11 @@ namespace Catch { | ||||
|         InLexicographicalOrder, | ||||
|         InRandomOrder | ||||
|     }; }; | ||||
|     struct UseColour { enum YesOrNo { | ||||
|         Auto, | ||||
|         Yes, | ||||
|         No | ||||
|     }; }; | ||||
|  | ||||
|     class TestSpec; | ||||
|  | ||||
| @@ -3350,7 +3370,7 @@ namespace Catch { | ||||
|         virtual TestSpec const& testSpec() const = 0; | ||||
|         virtual RunTests::InWhatOrder runOrder() const = 0; | ||||
|         virtual unsigned int rngSeed() const = 0; | ||||
|         virtual bool forceColour() const = 0; | ||||
|         virtual UseColour::YesOrNo useColour() const = 0; | ||||
|     }; | ||||
| } | ||||
|  | ||||
| @@ -3439,14 +3459,14 @@ namespace Catch { | ||||
|             noThrow( false ), | ||||
|             showHelp( false ), | ||||
|             showInvisibles( false ), | ||||
|             forceColour( false ), | ||||
|             filenamesAsTags( false ), | ||||
|             abortAfter( -1 ), | ||||
|             rngSeed( 0 ), | ||||
|             verbosity( Verbosity::Normal ), | ||||
|             warnings( WarnAbout::Nothing ), | ||||
|             showDurations( ShowDurations::DefaultForReporter ), | ||||
|             runOrder( RunTests::InDeclarationOrder ) | ||||
|             runOrder( RunTests::InDeclarationOrder ), | ||||
|             useColour( UseColour::Auto ) | ||||
|         {} | ||||
|  | ||||
|         bool listTests; | ||||
| @@ -3459,7 +3479,6 @@ namespace Catch { | ||||
|         bool noThrow; | ||||
|         bool showHelp; | ||||
|         bool showInvisibles; | ||||
|         bool forceColour; | ||||
|         bool filenamesAsTags; | ||||
|  | ||||
|         int abortAfter; | ||||
| @@ -3469,6 +3488,7 @@ namespace Catch { | ||||
|         WarnAbout::What warnings; | ||||
|         ShowDurations::OrNot showDurations; | ||||
|         RunTests::InWhatOrder runOrder; | ||||
|         UseColour::YesOrNo useColour; | ||||
|  | ||||
|         std::string outputFilename; | ||||
|         std::string name; | ||||
| @@ -3534,7 +3554,7 @@ namespace Catch { | ||||
|         virtual ShowDurations::OrNot showDurations() const { return m_data.showDurations; } | ||||
|         virtual RunTests::InWhatOrder runOrder() const  { return m_data.runOrder; } | ||||
|         virtual unsigned int rngSeed() const    { return m_data.rngSeed; } | ||||
|         virtual bool forceColour() const { return m_data.forceColour; } | ||||
|         virtual UseColour::YesOrNo useColour() const { return m_data.useColour; } | ||||
|  | ||||
|     private: | ||||
|  | ||||
| @@ -4624,6 +4644,21 @@ namespace Catch { | ||||
|             ? ShowDurations::Always | ||||
|             : ShowDurations::Never; | ||||
|     } | ||||
|     inline void setUseColour( ConfigData& config, std::string const& value ) { | ||||
|         std::string mode = toLower( value ); | ||||
|  | ||||
|         if( mode == "yes" ) | ||||
|             config.useColour = UseColour::Yes; | ||||
|         else if( mode == "no" ) | ||||
|             config.useColour = UseColour::No; | ||||
|         else if( mode == "auto" ) | ||||
|             config.useColour = UseColour::Auto; | ||||
|         else | ||||
|             throw std::runtime_error( "colour mode must be one of: auto, yes or no" ); | ||||
|     } | ||||
|     inline void forceColour( ConfigData& config ) { | ||||
|         config.useColour = UseColour::Yes; | ||||
|     } | ||||
|     inline void loadTestNamesFromFile( ConfigData& config, std::string const& _filename ) { | ||||
|         std::ifstream f( _filename.c_str() ); | ||||
|         if( !f.is_open() ) | ||||
| @@ -4710,7 +4745,7 @@ namespace Catch { | ||||
|  | ||||
|         cli["-d"]["--durations"] | ||||
|             .describe( "show test durations" ) | ||||
|             .bind( &setShowDurations, "yes/no" ); | ||||
|             .bind( &setShowDurations, "yes|no" ); | ||||
|  | ||||
|         cli["-f"]["--input-file"] | ||||
|             .describe( "load test names to run from a file" ) | ||||
| @@ -4738,8 +4773,12 @@ namespace Catch { | ||||
|             .bind( &setRngSeed, "'time'|number" ); | ||||
|  | ||||
|         cli["--force-colour"] | ||||
|             .describe( "force colourised output" ) | ||||
|             .bind( &ConfigData::forceColour ); | ||||
|             .describe( "force colourised output (deprecated)" ) | ||||
|             .bind( &forceColour ); | ||||
|  | ||||
|         cli["--use-colour"] | ||||
|             .describe( "should output be colourised" ) | ||||
|             .bind( &setUseColour, "yes|no" ); | ||||
|  | ||||
|         return cli; | ||||
|     } | ||||
| @@ -6971,7 +7010,18 @@ namespace { | ||||
|  | ||||
|     IColourImpl* platformColourInstance() { | ||||
|         static Win32ColourImpl s_instance; | ||||
|         return &s_instance; | ||||
|  | ||||
|         Ptr<IConfig const> config = getCurrentContext().getConfig(); | ||||
|         UseColour::YesOrNo colourMode = config | ||||
|             ? config->useColour() | ||||
|             : UseColour::Auto; | ||||
|         if( colourMode == UseColour::Auto ) | ||||
|             colourMode = !isDebuggerActive() | ||||
|                 ? UseColour::Yes | ||||
|                 : UseColour::No; | ||||
|         return colourMode == UseColour::Yes | ||||
|             ? &s_instance | ||||
|             : NoColourImpl::instance(); | ||||
|     } | ||||
|  | ||||
| } // end anon namespace | ||||
| @@ -7022,7 +7072,14 @@ namespace { | ||||
|  | ||||
|     IColourImpl* platformColourInstance() { | ||||
|         Ptr<IConfig const> config = getCurrentContext().getConfig(); | ||||
|         return (config && config->forceColour()) || isatty(STDOUT_FILENO) | ||||
|         UseColour::YesOrNo colourMode = config | ||||
|             ? config->useColour() | ||||
|             : UseColour::Auto; | ||||
|         if( colourMode == UseColour::Auto ) | ||||
|             colourMode = (!isDebuggerActive() && isatty(STDOUT_FILENO) ) | ||||
|                 ? UseColour::Yes | ||||
|                 : UseColour::No; | ||||
|         return colourMode == UseColour::Yes | ||||
|             ? PosixColourImpl::instance() | ||||
|             : NoColourImpl::instance(); | ||||
|     } | ||||
| @@ -7047,9 +7104,7 @@ namespace Catch { | ||||
|     Colour::~Colour(){ if( !m_moved ) use( None ); } | ||||
|  | ||||
|     void Colour::use( Code _colourCode ) { | ||||
|         static IColourImpl* impl = isDebuggerActive() | ||||
|             ? NoColourImpl::instance() | ||||
|             : platformColourInstance(); | ||||
|         static IColourImpl* impl = platformColourInstance(); | ||||
|         impl->use( _colourCode ); | ||||
|     } | ||||
|  | ||||
| @@ -7426,7 +7481,7 @@ namespace Catch { | ||||
|         return os; | ||||
|     } | ||||
|  | ||||
|     Version libraryVersion( 1, 3, 4, "", 0 ); | ||||
|     Version libraryVersion( 1, 3, 5, "", 0 ); | ||||
|  | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Phil Nash
					Phil Nash