mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 20:27:11 +01:00 
			
		
		
		
	Build 8
- includes command line tweaks and fixes for durations
This commit is contained in:
		| @@ -1,6 +1,6 @@ | |||||||
|  |  | ||||||
|  |  | ||||||
| *v1.0 build 7 (master branch)* | *v1.0 build 8 (master branch)* | ||||||
|  |  | ||||||
| # New release with significant changes | # New release with significant changes | ||||||
|  |  | ||||||
|   | |||||||
| @@ -13,7 +13,7 @@ | |||||||
| namespace Catch { | namespace Catch { | ||||||
|  |  | ||||||
|     // These numbers are maintained by a script |     // These numbers are maintained by a script | ||||||
|     Version libraryVersion( 1, 0, 7, "master" ); |     Version libraryVersion( 1, 0, 8, "master" ); | ||||||
| } | } | ||||||
|  |  | ||||||
| #endif // TWOBLUECUBES_CATCH_VERSION_HPP_INCLUDED | #endif // TWOBLUECUBES_CATCH_VERSION_HPP_INCLUDED | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
|  |  | ||||||
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||||||
| CatchSelfTest is a Catch v1.0 b7 host application. | CatchSelfTest is a Catch v1.0 b8 host application. | ||||||
| Run with -? for options | Run with -? for options | ||||||
|  |  | ||||||
| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ||||||
| @@ -712,7 +712,7 @@ with expansion: | |||||||
|  |  | ||||||
|  |  | ||||||
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||||||
| CatchSelfTest is a Catch v1.0 b7 host application. | CatchSelfTest is a Catch v1.0 b8 host application. | ||||||
| Run with -? for options | Run with -? for options | ||||||
|  |  | ||||||
| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ||||||
| @@ -5067,8 +5067,9 @@ TestMain.cpp: | |||||||
| PASSED: | PASSED: | ||||||
|   REQUIRE_THAT( parseIntoConfigAndReturnError( argv, config ) Contains( "greater than zero" ) ) |   REQUIRE_THAT( parseIntoConfigAndReturnError( argv, config ) Contains( "greater than zero" ) ) | ||||||
| with expansion: | with expansion: | ||||||
|   "Value after -x or --abortAfter must be greater than zero while parsing: (-x, |   "Value after -x or --abortAfter must be greater than zero | ||||||
|   --abortx <number of failures>)" contains: "greater than zero" |   - while parsing: (-x, --abortx <number of failures>)" contains: "greater than | ||||||
|  |   zero" | ||||||
|  |  | ||||||
| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ||||||
| Process can be configured on command line | Process can be configured on command line | ||||||
| @@ -5082,8 +5083,8 @@ TestMain.cpp: | |||||||
| PASSED: | PASSED: | ||||||
|   REQUIRE_THAT( parseIntoConfigAndReturnError( argv, config ) Contains( "-x" ) ) |   REQUIRE_THAT( parseIntoConfigAndReturnError( argv, config ) Contains( "-x" ) ) | ||||||
| with expansion: | with expansion: | ||||||
|   "Unable to convert oops to destination type while parsing: (-x, --abortx |   "Unable to convert oops to destination type | ||||||
|   <number of failures>)" contains: "-x" |   - while parsing: (-x, --abortx <number of failures>)" contains: "-x" | ||||||
|  |  | ||||||
| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ||||||
| Process can be configured on command line | Process can be configured on command line | ||||||
| @@ -11903,7 +11904,8 @@ An error | |||||||
|               parseIntoConfigAndReturnError( argv, config ) Contains( "greater than zero" ) |               parseIntoConfigAndReturnError( argv, config ) Contains( "greater than zero" ) | ||||||
|             </Original> |             </Original> | ||||||
|             <Expanded> |             <Expanded> | ||||||
|               "Value after -x or --abortAfter must be greater than zero while parsing: (-x, --abortx <number of failures>)" contains: "greater than zero" |               "Value after -x or --abortAfter must be greater than zero | ||||||
|  | - while parsing: (-x, --abortx <number of failures>)" contains: "greater than zero" | ||||||
|             </Expanded> |             </Expanded> | ||||||
|           </Expression> |           </Expression> | ||||||
|           <OverallResults successes="1" failures="0"/> |           <OverallResults successes="1" failures="0"/> | ||||||
| @@ -11917,7 +11919,8 @@ An error | |||||||
|               parseIntoConfigAndReturnError( argv, config ) Contains( "-x" ) |               parseIntoConfigAndReturnError( argv, config ) Contains( "-x" ) | ||||||
|             </Original> |             </Original> | ||||||
|             <Expanded> |             <Expanded> | ||||||
|               "Unable to convert oops to destination type while parsing: (-x, --abortx <number of failures>)" contains: "-x" |               "Unable to convert oops to destination type | ||||||
|  | - while parsing: (-x, --abortx <number of failures>)" contains: "-x" | ||||||
|             </Expanded> |             </Expanded> | ||||||
|           </Expression> |           </Expression> | ||||||
|           <OverallResults successes="1" failures="0"/> |           <OverallResults successes="1" failures="0"/> | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| /* | /* | ||||||
|  *  CATCH v1.0 build 7 (master branch) |  *  CATCH v1.0 build 8 (master branch) | ||||||
|  *  Generated: 2013-08-16 08:00:49.964403 |  *  Generated: 2013-08-16 18:58:15.279754 | ||||||
|  *  ---------------------------------------------------------- |  *  ---------------------------------------------------------- | ||||||
|  *  This file has been merged from multiple headers. Please don't edit it directly |  *  This file has been merged from multiple headers. Please don't edit it directly | ||||||
|  *  Copyright (c) 2012 Two Blue Cubes Ltd. All rights reserved. |  *  Copyright (c) 2012 Two Blue Cubes Ltd. All rights reserved. | ||||||
| @@ -3835,12 +3835,12 @@ namespace Clara { | |||||||
|         inline void convertInto( std::string const& _source, bool& _dest ) { |         inline void convertInto( std::string const& _source, bool& _dest ) { | ||||||
|             std::string sourceLC = _source; |             std::string sourceLC = _source; | ||||||
|             std::transform( sourceLC.begin(), sourceLC.end(), sourceLC.begin(), ::tolower ); |             std::transform( sourceLC.begin(), sourceLC.end(), sourceLC.begin(), ::tolower ); | ||||||
|             if( sourceLC == "1" || sourceLC == "true" || sourceLC == "yes" || sourceLC == "on" ) |             if( sourceLC == "y" || sourceLC == "1" || sourceLC == "true" || sourceLC == "yes" || sourceLC == "on" ) | ||||||
|                 _dest = true; |                 _dest = true; | ||||||
|             else if( sourceLC == "0" || sourceLC == "false" || sourceLC == "no" || sourceLC == "off" ) |             else if( sourceLC == "n" || sourceLC == "0" || sourceLC == "false" || sourceLC == "no" || sourceLC == "off" ) | ||||||
|                 _dest = false; |                 _dest = false; | ||||||
|             else |             else | ||||||
|                 throw std::runtime_error( "Expected a boolean value but did recognise: '" + _source + "'" ); |                 throw std::runtime_error( "Expected a boolean value but did not recognise:\n  '" + _source + "'" ); | ||||||
|         } |         } | ||||||
|         inline void convertInto( bool _source, bool& _dest ) { |         inline void convertInto( bool _source, bool& _dest ) { | ||||||
|             _dest = _source; |             _dest = _source; | ||||||
| @@ -4057,7 +4057,7 @@ namespace Clara { | |||||||
|                 return _longName == longName; |                 return _longName == longName; | ||||||
|             } |             } | ||||||
|             bool takesArg() const { |             bool takesArg() const { | ||||||
|                 return !argName.empty(); |                 return !hint.empty(); | ||||||
|             } |             } | ||||||
|             bool isFixedPositional() const { |             bool isFixedPositional() const { | ||||||
|                 return position != -1; |                 return position != -1; | ||||||
| @@ -4092,8 +4092,8 @@ namespace Clara { | |||||||
|                         oss << ", "; |                         oss << ", "; | ||||||
|                     oss << "--" << longName; |                     oss << "--" << longName; | ||||||
|                 } |                 } | ||||||
|                 if( !argName.empty() ) |                 if( !hint.empty() ) | ||||||
|                     oss << " <" << argName << ">"; |                     oss << " <" << hint << ">"; | ||||||
|                 return oss.str(); |                 return oss.str(); | ||||||
|             } |             } | ||||||
|  |  | ||||||
| @@ -4101,7 +4101,7 @@ namespace Clara { | |||||||
|             std::vector<std::string> shortNames; |             std::vector<std::string> shortNames; | ||||||
|             std::string longName; |             std::string longName; | ||||||
|             std::string description; |             std::string description; | ||||||
|             std::string argName; |             std::string hint; | ||||||
|             int position; |             int position; | ||||||
|         }; |         }; | ||||||
|  |  | ||||||
| @@ -4147,8 +4147,8 @@ namespace Clara { | |||||||
|                 m_arg.description = description; |                 m_arg.description = description; | ||||||
|                 return *this; |                 return *this; | ||||||
|             } |             } | ||||||
|             ArgBinder& argName( std::string const& argName ) { |             ArgBinder& hint( std::string const& hint ) { | ||||||
|                 m_arg.argName = argName; |                 m_arg.hint = hint; | ||||||
|                 return *this; |                 return *this; | ||||||
|             } |             } | ||||||
|             ArgBinder& position( int position ) { |             ArgBinder& position( int position ) { | ||||||
| @@ -4223,9 +4223,9 @@ namespace Clara { | |||||||
|                     os << " "; |                     os << " "; | ||||||
|                 typename std::map<int, Arg>::const_iterator it = m_positionalArgs.find( i ); |                 typename std::map<int, Arg>::const_iterator it = m_positionalArgs.find( i ); | ||||||
|                 if( it != m_positionalArgs.end() ) |                 if( it != m_positionalArgs.end() ) | ||||||
|                     os << "<" << it->second.argName << ">"; |                     os << "<" << it->second.hint << ">"; | ||||||
|                 else if( m_arg.get() ) |                 else if( m_arg.get() ) | ||||||
|                     os << "<" << m_arg->argName << ">"; |                     os << "<" << m_arg->hint << ">"; | ||||||
|                 else |                 else | ||||||
|                     throw std::logic_error( "non consecutive positional arguments with no floating args" ); |                     throw std::logic_error( "non consecutive positional arguments with no floating args" ); | ||||||
|             } |             } | ||||||
| @@ -4233,7 +4233,7 @@ namespace Clara { | |||||||
|             if( m_arg.get() ) { |             if( m_arg.get() ) { | ||||||
|                 if( m_highestSpecifiedArgPosition > 1 ) |                 if( m_highestSpecifiedArgPosition > 1 ) | ||||||
|                     os << " "; |                     os << " "; | ||||||
|                 os << "[<" << m_arg->argName << "> ...]"; |                 os << "[<" << m_arg->hint << "> ...]"; | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|         std::string argSynopsis() const { |         std::string argSynopsis() const { | ||||||
| @@ -4302,7 +4302,7 @@ namespace Clara { | |||||||
|                         } |                         } | ||||||
|                     } |                     } | ||||||
|                     catch( std::exception& ex ) { |                     catch( std::exception& ex ) { | ||||||
|                         throw std::runtime_error( std::string( ex.what() ) + " while parsing: (" + arg.commands() + ")" ); |                         throw std::runtime_error( std::string( ex.what() ) + "\n- while parsing: (" + arg.commands() + ")" ); | ||||||
|                     } |                     } | ||||||
|                 } |                 } | ||||||
|                 if( it == itEnd ) |                 if( it == itEnd ) | ||||||
| @@ -4421,20 +4421,20 @@ namespace Catch { | |||||||
|             .describe( "output filename" ) |             .describe( "output filename" ) | ||||||
|             .shortOpt( "o") |             .shortOpt( "o") | ||||||
|             .longOpt( "out" ) |             .longOpt( "out" ) | ||||||
|             .argName( "filename" ); |             .hint( "filename" ); | ||||||
|  |  | ||||||
|         cli.bind( &ConfigData::reporterName ) |         cli.bind( &ConfigData::reporterName ) | ||||||
|             .describe( "reporter to use - defaults to console" ) |             .describe( "reporter to use - defaults to console" ) | ||||||
|             .shortOpt( "r") |             .shortOpt( "r") | ||||||
|             .longOpt( "reporter" ) |             .longOpt( "reporter" ) | ||||||
| //            .argName( "name[:filename]" ); | //            .hint( "name[:filename]" ); | ||||||
|             .argName( "name" ); |             .hint( "name" ); | ||||||
|  |  | ||||||
|         cli.bind( &ConfigData::name ) |         cli.bind( &ConfigData::name ) | ||||||
|             .describe( "suite name" ) |             .describe( "suite name" ) | ||||||
|             .shortOpt( "n") |             .shortOpt( "n") | ||||||
|             .longOpt( "name" ) |             .longOpt( "name" ) | ||||||
|             .argName( "name" ); |             .hint( "name" ); | ||||||
|  |  | ||||||
|         cli.bind( &abortAfterFirst ) |         cli.bind( &abortAfterFirst ) | ||||||
|             .describe( "abort at first failure" ) |             .describe( "abort at first failure" ) | ||||||
| @@ -4445,29 +4445,29 @@ namespace Catch { | |||||||
|             .describe( "abort after x failures" ) |             .describe( "abort after x failures" ) | ||||||
|             .shortOpt( "x") |             .shortOpt( "x") | ||||||
|             .longOpt( "abortx" ) |             .longOpt( "abortx" ) | ||||||
|             .argName( "number of failures" ); |             .hint( "number of failures" ); | ||||||
|  |  | ||||||
|         cli.bind( &addWarning ) |         cli.bind( &addWarning ) | ||||||
|             .describe( "enable warnings" ) |             .describe( "enable warnings" ) | ||||||
|             .shortOpt( "w") |             .shortOpt( "w") | ||||||
|             .longOpt( "warn" ) |             .longOpt( "warn" ) | ||||||
|             .argName( "warning name" ); |             .hint( "warning name" ); | ||||||
|  |  | ||||||
| //        cli.bind( &setVerbosity ) | //        cli.bind( &setVerbosity ) | ||||||
| //            .describe( "level of verbosity (0=no output)" ) | //            .describe( "level of verbosity (0=no output)" ) | ||||||
| //            .shortOpt( "v") | //            .shortOpt( "v") | ||||||
| //            .longOpt( "verbosity" ) | //            .longOpt( "verbosity" ) | ||||||
| //            .argName( "level" ); | //            .hint( "level" ); | ||||||
|  |  | ||||||
|         cli.bind( &addTestOrTags ) |         cli.bind( &addTestOrTags ) | ||||||
|             .describe( "which test or tests to use" ) |             .describe( "which test or tests to use" ) | ||||||
|             .argName( "test name, pattern or tags" ); |             .hint( "test name, pattern or tags" ); | ||||||
|  |  | ||||||
|         cli.bind( &setShowDurations ) |         cli.bind( &setShowDurations ) | ||||||
|             .describe( "show test durations" ) |             .describe( "show test durations" ) | ||||||
|             .shortOpt( "d") |             .shortOpt( "d") | ||||||
|             .longOpt( "durations" ) |             .longOpt( "durations" ) | ||||||
|             .argName( "durations" ); |             .hint( "yes/no" ); | ||||||
|  |  | ||||||
|         return cli; |         return cli; | ||||||
|     } |     } | ||||||
| @@ -5336,11 +5336,12 @@ namespace Catch { | |||||||
|                 m_config.reset(); |                 m_config.reset(); | ||||||
|             } |             } | ||||||
|             catch( std::exception& ex ) { |             catch( std::exception& ex ) { | ||||||
|                 std::cerr   << "\nError in input:\n" |                 { | ||||||
|                             << Text( ex.what(), TextAttributes() |                     Colour colourGuard( Colour::Red ); | ||||||
|                                                     .setInitialIndent(2) |                     std::cerr   << "\nError in input:\n" | ||||||
|                                                     .setIndent(4) ) |                                 << Text( ex.what(), TextAttributes().setIndent(2) ) | ||||||
|                             << "\n\n"; |                                 << "\n\n"; | ||||||
|  |                 } | ||||||
|                 m_cli.usage( std::cout, m_configData.processName ); |                 m_cli.usage( std::cout, m_configData.processName ); | ||||||
|                 return (std::numeric_limits<int>::max)(); |                 return (std::numeric_limits<int>::max)(); | ||||||
|             } |             } | ||||||
| @@ -6348,7 +6349,7 @@ namespace Catch { | |||||||
| namespace Catch { | namespace Catch { | ||||||
|  |  | ||||||
|     // These numbers are maintained by a script |     // These numbers are maintained by a script | ||||||
|     Version libraryVersion( 1, 0, 7, "master" ); |     Version libraryVersion( 1, 0, 8, "master" ); | ||||||
| } | } | ||||||
|  |  | ||||||
| // #included from: catch_text.hpp | // #included from: catch_text.hpp | ||||||
| @@ -7294,9 +7295,11 @@ namespace Catch { | |||||||
|                     stream << "\nNo assertions in test case"; |                     stream << "\nNo assertions in test case"; | ||||||
|                 stream << " '" << _sectionStats.sectionInfo.name << "'\n" << std::endl; |                 stream << " '" << _sectionStats.sectionInfo.name << "'\n" << std::endl; | ||||||
|             } |             } | ||||||
|             m_headerPrinted = false; |             if( m_headerPrinted ) { | ||||||
|             if( m_config->showDurations() == ShowDurations::Always ) |                 if( m_config->showDurations() == ShowDurations::Always ) | ||||||
|                 stream << "Completed in " << _sectionStats.durationInSeconds << "s" << std::endl; |                     stream << "Completed in " << _sectionStats.durationInSeconds << "s" << std::endl; | ||||||
|  |                 m_headerPrinted = false; | ||||||
|  |             } | ||||||
|             StreamingReporterBase::sectionEnded( _sectionStats ); |             StreamingReporterBase::sectionEnded( _sectionStats ); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Phil Nash
					Phil Nash