mirror of
https://github.com/catchorg/Catch2.git
synced 2024-11-26 07:16:10 +01:00
build 52
This commit is contained in:
parent
3ff3acf46c
commit
28c2e07879
@ -1,6 +1,6 @@
|
|||||||
![catch logo](catch-logo-small.png)
|
![catch logo](catch-logo-small.png)
|
||||||
|
|
||||||
*v1.0 build 51 (master branch)*
|
*v1.0 build 52 (master branch)*
|
||||||
|
|
||||||
Build status (on Travis CI) [![Build Status](https://travis-ci.org/philsquared/Catch.png)](https://travis-ci.org/philsquared/Catch)
|
Build status (on Travis CI) [![Build Status](https://travis-ci.org/philsquared/Catch.png)](https://travis-ci.org/philsquared/Catch)
|
||||||
|
|
||||||
|
@ -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, 51, "master" );
|
Version libraryVersion( 1, 0, 52, "master" );
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // TWOBLUECUBES_CATCH_VERSION_HPP_INCLUDED
|
#endif // TWOBLUECUBES_CATCH_VERSION_HPP_INCLUDED
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* CATCH v1.0 build 51 (master branch)
|
* CATCH v1.0 build 52 (master branch)
|
||||||
* Generated: 2014-07-09 07:40:07.923348
|
* Generated: 2014-07-09 19:21:54.977279
|
||||||
* ----------------------------------------------------------
|
* ----------------------------------------------------------
|
||||||
* 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.
|
||||||
@ -1166,6 +1166,7 @@ std::string toString( int value );
|
|||||||
std::string toString( unsigned long value );
|
std::string toString( unsigned long value );
|
||||||
std::string toString( unsigned int value );
|
std::string toString( unsigned int value );
|
||||||
std::string toString( const double value );
|
std::string toString( const double value );
|
||||||
|
std::string toString( const float value );
|
||||||
std::string toString( bool value );
|
std::string toString( bool value );
|
||||||
std::string toString( char value );
|
std::string toString( char value );
|
||||||
std::string toString( signed char value );
|
std::string toString( signed char value );
|
||||||
@ -1625,6 +1626,9 @@ namespace Catch {
|
|||||||
std::size_t total() const {
|
std::size_t total() const {
|
||||||
return passed + failed + failedButOk;
|
return passed + failed + failedButOk;
|
||||||
}
|
}
|
||||||
|
bool allPassed() const {
|
||||||
|
return failed == 0 && failedButOk == 0;
|
||||||
|
}
|
||||||
|
|
||||||
std::size_t passed;
|
std::size_t passed;
|
||||||
std::size_t failed;
|
std::size_t failed;
|
||||||
@ -6406,7 +6410,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, 51, "master" );
|
Version libraryVersion( 1, 0, 52, "master" );
|
||||||
}
|
}
|
||||||
|
|
||||||
// #included from: catch_message.hpp
|
// #included from: catch_message.hpp
|
||||||
@ -6911,9 +6915,10 @@ std::string toString( unsigned int value ) {
|
|||||||
return toString( static_cast<unsigned long>( value ) );
|
return toString( static_cast<unsigned long>( value ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string toString( const double value ) {
|
template<typename T>
|
||||||
|
std::string fpToString( T value, int precision ) {
|
||||||
std::ostringstream oss;
|
std::ostringstream oss;
|
||||||
oss << std::setprecision( 10 )
|
oss << std::setprecision( precision )
|
||||||
<< std::fixed
|
<< std::fixed
|
||||||
<< value;
|
<< value;
|
||||||
std::string d = oss.str();
|
std::string d = oss.str();
|
||||||
@ -6926,6 +6931,13 @@ std::string toString( const double value ) {
|
|||||||
return d;
|
return d;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string toString( const double value ) {
|
||||||
|
return fpToString( value, 10 );
|
||||||
|
}
|
||||||
|
std::string toString( const float value ) {
|
||||||
|
return fpToString( value, 5 ) + "f";
|
||||||
|
}
|
||||||
|
|
||||||
std::string toString( bool value ) {
|
std::string toString( bool value ) {
|
||||||
return value ? "true" : "false";
|
return value ? "true" : "false";
|
||||||
}
|
}
|
||||||
@ -8309,46 +8321,79 @@ namespace Catch {
|
|||||||
.setInitialIndent( indent ) ) << "\n";
|
.setInitialIndent( indent ) ) << "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct SummaryColumn {
|
||||||
|
|
||||||
|
SummaryColumn( std::string const& _label, Colour::Code _colour )
|
||||||
|
: label( _label ),
|
||||||
|
colour( _colour )
|
||||||
|
{}
|
||||||
|
SummaryColumn addRow( std::size_t count ) {
|
||||||
|
std::ostringstream oss;
|
||||||
|
oss << count;
|
||||||
|
std::string row = oss.str();
|
||||||
|
for( std::vector<std::string>::iterator it = rows.begin(); it != rows.end(); ++it ) {
|
||||||
|
while( it->size() < row.size() )
|
||||||
|
while( it->size() > row.size() )
|
||||||
|
row = " " + row;
|
||||||
|
}
|
||||||
|
rows.push_back( row );
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string label;
|
||||||
|
Colour::Code colour;
|
||||||
|
std::vector<std::string> rows;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
void printTotals( Totals const& totals ) {
|
void printTotals( Totals const& totals ) {
|
||||||
int cols = 1+static_cast<int>( log10( static_cast<float>( (std::max)( totals.testCases.total(), totals.assertions.total() ) ) ) );
|
|
||||||
if( totals.testCases.total() == 0 ) {
|
if( totals.testCases.total() == 0 ) {
|
||||||
stream << Colour( Colour::Warning ) << "No tests ran\n";
|
stream << Colour( Colour::Warning ) << "No tests ran\n";
|
||||||
}
|
}
|
||||||
else if( totals.assertions.total() == 0 ) {
|
else if( totals.assertions.total() > 0 && totals.assertions.allPassed() ) {
|
||||||
stream << "test cases: ";
|
|
||||||
printCounts( totals.testCases, cols );
|
|
||||||
stream << "assertions: ";
|
|
||||||
stream << Colour( Colour::Warning ) << "- none -\n";
|
|
||||||
}
|
|
||||||
else if( totals.assertions.failed + totals.assertions.failedButOk ) {
|
|
||||||
stream << "test cases: ";
|
|
||||||
printCounts( totals.testCases, cols );
|
|
||||||
stream << "assertions: ";
|
|
||||||
printCounts( totals.assertions, cols );
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
stream << Colour( Colour::ResultSuccess ) << "All tests passed";
|
stream << Colour( Colour::ResultSuccess ) << "All tests passed";
|
||||||
stream << " ("
|
stream << " ("
|
||||||
<< pluralise( totals.assertions.passed, "assertion" ) << " in "
|
<< pluralise( totals.assertions.passed, "assertion" ) << " in "
|
||||||
<< pluralise( totals.testCases.passed, "test case" ) << ")"
|
<< pluralise( totals.testCases.passed, "test case" ) << ")"
|
||||||
<< "\n";
|
<< "\n";
|
||||||
}
|
}
|
||||||
}
|
else {
|
||||||
void printCounts( Counts const& counts, int cols ) {
|
|
||||||
stream << Colour( counts.passed > 0 ? Colour::Success : Colour::LightGrey )
|
|
||||||
<< std::setw( cols ) << counts.passed << " passed";
|
|
||||||
|
|
||||||
stream << Colour( Colour::LightGrey ) << " | ";
|
std::vector<SummaryColumn> columns;
|
||||||
|
columns.push_back( SummaryColumn( "", Colour::None )
|
||||||
|
.addRow( totals.testCases.total() )
|
||||||
|
.addRow( totals.assertions.total() ) );
|
||||||
|
columns.push_back( SummaryColumn( "passed", Colour::Success )
|
||||||
|
.addRow( totals.testCases.passed )
|
||||||
|
.addRow( totals.assertions.passed ) );
|
||||||
|
columns.push_back( SummaryColumn( "failed", Colour::ResultError )
|
||||||
|
.addRow( totals.testCases.failed )
|
||||||
|
.addRow( totals.assertions.failed ) );
|
||||||
|
columns.push_back( SummaryColumn( "failed as expected", Colour::ResultExpectedFailure )
|
||||||
|
.addRow( totals.testCases.failedButOk )
|
||||||
|
.addRow( totals.assertions.failedButOk ) );
|
||||||
|
|
||||||
stream << Colour( counts.failed > 0 ? Colour::ResultError : Colour::LightGrey )
|
printSummaryRow( "test cases", columns, 0 );
|
||||||
<< std::setw( cols ) << counts.failed << " failed";
|
printSummaryRow( "assertions", columns, 1 );
|
||||||
if( counts.failedButOk > 0 ) {
|
|
||||||
stream << Colour( Colour::LightGrey ) << " | ";
|
|
||||||
stream << Colour( counts.failedButOk > 0 ? Colour::ResultExpectedFailure : Colour::LightGrey )
|
|
||||||
<< std::setw( cols ) << counts.failedButOk << " failed as expected";
|
|
||||||
}
|
}
|
||||||
stream << Colour( Colour::LightGrey ) << " | "
|
}
|
||||||
<< "total: " << counts.total() << "\n";
|
void printSummaryRow( std::string const& label, std::vector<SummaryColumn> const& cols, std::size_t row ) {
|
||||||
|
for( std::vector<SummaryColumn>::const_iterator it = cols.begin(); it != cols.end(); ++it ) {
|
||||||
|
std::string value = it->rows[row];
|
||||||
|
if( it->label.empty() ) {
|
||||||
|
stream << label << ": ";
|
||||||
|
if( value != "0" )
|
||||||
|
stream << value;
|
||||||
|
else
|
||||||
|
stream << Colour( Colour::Warning ) << "- none -";
|
||||||
|
}
|
||||||
|
else if( value != "0" ) {
|
||||||
|
stream << Colour( Colour::LightGrey ) << " | ";
|
||||||
|
stream << Colour( it->colour )
|
||||||
|
<< value << " " << it->label;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stream << "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
static std::size_t makeRatio( std::size_t number, std::size_t total ) {
|
static std::size_t makeRatio( std::size_t number, std::size_t total ) {
|
||||||
@ -8374,9 +8419,12 @@ namespace Catch {
|
|||||||
while( failedRatio + failedButOkRatio + passedRatio > CATCH_CONFIG_CONSOLE_WIDTH-1 )
|
while( failedRatio + failedButOkRatio + passedRatio > CATCH_CONFIG_CONSOLE_WIDTH-1 )
|
||||||
findMax( failedRatio, failedButOkRatio, passedRatio )--;
|
findMax( failedRatio, failedButOkRatio, passedRatio )--;
|
||||||
|
|
||||||
stream << Colour( Colour::ResultSuccess ) << std::string( passedRatio, '=' );
|
|
||||||
stream << Colour( Colour::Error ) << std::string( failedRatio, '=' );
|
stream << Colour( Colour::Error ) << std::string( failedRatio, '=' );
|
||||||
stream << Colour( Colour::ResultExpectedFailure ) << std::string( failedButOkRatio, '=' );
|
stream << Colour( Colour::ResultExpectedFailure ) << std::string( failedButOkRatio, '=' );
|
||||||
|
if( totals.testCases.allPassed() )
|
||||||
|
stream << Colour( Colour::ResultSuccess ) << std::string( passedRatio, '=' );
|
||||||
|
else
|
||||||
|
stream << Colour( Colour::Success ) << std::string( passedRatio, '=' );
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
stream << Colour( Colour::Warning ) << std::string( CATCH_CONFIG_CONSOLE_WIDTH-1, '=' );
|
stream << Colour( Colour::Warning ) << std::string( CATCH_CONFIG_CONSOLE_WIDTH-1, '=' );
|
||||||
|
Loading…
Reference in New Issue
Block a user