From 46118714b123cf4133128d1c3d8f3ec8d821b505 Mon Sep 17 00:00:00 2001 From: Phil Nash Date: Fri, 16 Aug 2013 19:01:32 +0100 Subject: [PATCH] Build 8 - includes command line tweaks and fixes for durations --- README.md | 2 +- include/internal/catch_version.hpp | 2 +- .../SelfTest/Baselines/approvedResults.txt | 19 ++--- single_include/catch.hpp | 69 ++++++++++--------- 4 files changed, 49 insertions(+), 43 deletions(-) diff --git a/README.md b/README.md index d766bc65..fa462506 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ![catch logo](catch-logo-small.png) -*v1.0 build 7 (master branch)* +*v1.0 build 8 (master branch)* # New release with significant changes diff --git a/include/internal/catch_version.hpp b/include/internal/catch_version.hpp index c3fd6eb8..da70a214 100644 --- a/include/internal/catch_version.hpp +++ b/include/internal/catch_version.hpp @@ -13,7 +13,7 @@ namespace Catch { // 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 diff --git a/projects/SelfTest/Baselines/approvedResults.txt b/projects/SelfTest/Baselines/approvedResults.txt index ea078563..480f802c 100644 --- a/projects/SelfTest/Baselines/approvedResults.txt +++ b/projects/SelfTest/Baselines/approvedResults.txt @@ -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 ------------------------------------------------------------------------------- @@ -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 ------------------------------------------------------------------------------- @@ -5067,8 +5067,9 @@ TestMain.cpp: PASSED: REQUIRE_THAT( parseIntoConfigAndReturnError( argv, config ) Contains( "greater than zero" ) ) with expansion: - "Value after -x or --abortAfter must be greater than zero while parsing: (-x, - --abortx )" contains: "greater than zero" + "Value after -x or --abortAfter must be greater than zero + - while parsing: (-x, --abortx )" contains: "greater than + zero" ------------------------------------------------------------------------------- Process can be configured on command line @@ -5082,8 +5083,8 @@ TestMain.cpp: PASSED: REQUIRE_THAT( parseIntoConfigAndReturnError( argv, config ) Contains( "-x" ) ) with expansion: - "Unable to convert oops to destination type while parsing: (-x, --abortx - )" contains: "-x" + "Unable to convert oops to destination type + - while parsing: (-x, --abortx )" contains: "-x" ------------------------------------------------------------------------------- Process can be configured on command line @@ -11903,7 +11904,8 @@ An error parseIntoConfigAndReturnError( argv, config ) 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" + "Value after -x or --abortAfter must be greater than zero +- while parsing: (-x, --abortx <number of failures>)" contains: "greater than zero" @@ -11917,7 +11919,8 @@ An error parseIntoConfigAndReturnError( argv, config ) Contains( "-x" ) - "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" diff --git a/single_include/catch.hpp b/single_include/catch.hpp index 80b70341..221244b7 100644 --- a/single_include/catch.hpp +++ b/single_include/catch.hpp @@ -1,6 +1,6 @@ /* - * CATCH v1.0 build 7 (master branch) - * Generated: 2013-08-16 08:00:49.964403 + * CATCH v1.0 build 8 (master branch) + * Generated: 2013-08-16 18:58:15.279754 * ---------------------------------------------------------- * This file has been merged from multiple headers. Please don't edit it directly * 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 ) { std::string sourceLC = _source; 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; - else if( sourceLC == "0" || sourceLC == "false" || sourceLC == "no" || sourceLC == "off" ) + else if( sourceLC == "n" || sourceLC == "0" || sourceLC == "false" || sourceLC == "no" || sourceLC == "off" ) _dest = false; 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 ) { _dest = _source; @@ -4057,7 +4057,7 @@ namespace Clara { return _longName == longName; } bool takesArg() const { - return !argName.empty(); + return !hint.empty(); } bool isFixedPositional() const { return position != -1; @@ -4092,8 +4092,8 @@ namespace Clara { oss << ", "; oss << "--" << longName; } - if( !argName.empty() ) - oss << " <" << argName << ">"; + if( !hint.empty() ) + oss << " <" << hint << ">"; return oss.str(); } @@ -4101,7 +4101,7 @@ namespace Clara { std::vector shortNames; std::string longName; std::string description; - std::string argName; + std::string hint; int position; }; @@ -4147,8 +4147,8 @@ namespace Clara { m_arg.description = description; return *this; } - ArgBinder& argName( std::string const& argName ) { - m_arg.argName = argName; + ArgBinder& hint( std::string const& hint ) { + m_arg.hint = hint; return *this; } ArgBinder& position( int position ) { @@ -4223,9 +4223,9 @@ namespace Clara { os << " "; typename std::map::const_iterator it = m_positionalArgs.find( i ); if( it != m_positionalArgs.end() ) - os << "<" << it->second.argName << ">"; + os << "<" << it->second.hint << ">"; else if( m_arg.get() ) - os << "<" << m_arg->argName << ">"; + os << "<" << m_arg->hint << ">"; else throw std::logic_error( "non consecutive positional arguments with no floating args" ); } @@ -4233,7 +4233,7 @@ namespace Clara { if( m_arg.get() ) { if( m_highestSpecifiedArgPosition > 1 ) os << " "; - os << "[<" << m_arg->argName << "> ...]"; + os << "[<" << m_arg->hint << "> ...]"; } } std::string argSynopsis() const { @@ -4302,7 +4302,7 @@ namespace Clara { } } 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 ) @@ -4421,20 +4421,20 @@ namespace Catch { .describe( "output filename" ) .shortOpt( "o") .longOpt( "out" ) - .argName( "filename" ); + .hint( "filename" ); cli.bind( &ConfigData::reporterName ) .describe( "reporter to use - defaults to console" ) .shortOpt( "r") .longOpt( "reporter" ) -// .argName( "name[:filename]" ); - .argName( "name" ); +// .hint( "name[:filename]" ); + .hint( "name" ); cli.bind( &ConfigData::name ) .describe( "suite name" ) .shortOpt( "n") .longOpt( "name" ) - .argName( "name" ); + .hint( "name" ); cli.bind( &abortAfterFirst ) .describe( "abort at first failure" ) @@ -4445,29 +4445,29 @@ namespace Catch { .describe( "abort after x failures" ) .shortOpt( "x") .longOpt( "abortx" ) - .argName( "number of failures" ); + .hint( "number of failures" ); cli.bind( &addWarning ) .describe( "enable warnings" ) .shortOpt( "w") .longOpt( "warn" ) - .argName( "warning name" ); + .hint( "warning name" ); // cli.bind( &setVerbosity ) // .describe( "level of verbosity (0=no output)" ) // .shortOpt( "v") // .longOpt( "verbosity" ) -// .argName( "level" ); +// .hint( "level" ); cli.bind( &addTestOrTags ) .describe( "which test or tests to use" ) - .argName( "test name, pattern or tags" ); + .hint( "test name, pattern or tags" ); cli.bind( &setShowDurations ) .describe( "show test durations" ) .shortOpt( "d") .longOpt( "durations" ) - .argName( "durations" ); + .hint( "yes/no" ); return cli; } @@ -5336,11 +5336,12 @@ namespace Catch { m_config.reset(); } catch( std::exception& ex ) { - std::cerr << "\nError in input:\n" - << Text( ex.what(), TextAttributes() - .setInitialIndent(2) - .setIndent(4) ) - << "\n\n"; + { + Colour colourGuard( Colour::Red ); + std::cerr << "\nError in input:\n" + << Text( ex.what(), TextAttributes().setIndent(2) ) + << "\n\n"; + } m_cli.usage( std::cout, m_configData.processName ); return (std::numeric_limits::max)(); } @@ -6348,7 +6349,7 @@ namespace Catch { namespace Catch { // These numbers are maintained by a script - Version libraryVersion( 1, 0, 7, "master" ); + Version libraryVersion( 1, 0, 8, "master" ); } // #included from: catch_text.hpp @@ -7294,9 +7295,11 @@ namespace Catch { stream << "\nNo assertions in test case"; stream << " '" << _sectionStats.sectionInfo.name << "'\n" << std::endl; } - m_headerPrinted = false; - if( m_config->showDurations() == ShowDurations::Always ) - stream << "Completed in " << _sectionStats.durationInSeconds << "s" << std::endl; + if( m_headerPrinted ) { + if( m_config->showDurations() == ShowDurations::Always ) + stream << "Completed in " << _sectionStats.durationInSeconds << "s" << std::endl; + m_headerPrinted = false; + } StreamingReporterBase::sectionEnded( _sectionStats ); }