diff options
| author | Phil Nash | 2015-08-03 07:40:52 +0100 |
|---|---|---|
| committer | Phil Nash | 2015-08-03 07:40:52 +0100 |
| commit | 8b1b7cd66e8bc92e4056d201d8e1d88ce480a2cc (patch) | |
| tree | 1c68a8283120ecc6a4d96d147270de0232bdbe84 | |
| parent | 34fa25ed2f50c1a6d235ab6fc684cc14cda6c834 (diff) | |
| download | catch3-1.2.1-develop.11.tar.gz | |
dev build 11v1.2.1-develop.11
| -rw-r--r-- | README.md | 2 | ||||
| -rw-r--r-- | include/internal/catch_version.hpp | 2 | ||||
| -rw-r--r-- | single_include/catch.hpp | 137 |
3 files changed, 64 insertions, 77 deletions
@@ -1,6 +1,6 @@  -*v1.2.1-develop.10* +*v1.2.1-develop.11* Build status (on Travis CI) [](https://travis-ci.org/philsquared/Catch) diff --git a/include/internal/catch_version.hpp b/include/internal/catch_version.hpp index f4272a88..ca18ef0d 100644 --- a/include/internal/catch_version.hpp +++ b/include/internal/catch_version.hpp @@ -37,7 +37,7 @@ namespace Catch { return os; } - Version libraryVersion( 1, 2, 1, "develop", 10 ); + Version libraryVersion( 1, 2, 1, "develop", 11 ); } diff --git a/single_include/catch.hpp b/single_include/catch.hpp index ccfdde11..ac4bb515 100644 --- a/single_include/catch.hpp +++ b/single_include/catch.hpp @@ -1,6 +1,6 @@ /* - * Catch v1.2.1-develop.10 - * Generated: 2015-07-24 08:13:33.830879 + * Catch v1.2.1-develop.11 + * Generated: 2015-08-03 07:40:22.369337 * ---------------------------------------------------------- * This file has been merged from multiple headers. Please don't edit it directly * Copyright (c) 2012 Two Blue Cubes Ltd. All rights reserved. @@ -131,10 +131,13 @@ // GCC #ifdef __GNUC__ -#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6 && defined(__GXX_EXPERIMENTAL_CXX0X__) ) +#if __GNUC__ == 4 && __GNUC_MINOR__ >= 6 && defined(__GXX_EXPERIMENTAL_CXX0X__) # define CATCH_INTERNAL_CONFIG_CPP11_NULLPTR #endif +// - otherwise more recent versions define __cplusplus >= 201103L +// and will get picked up below + #endif // __GNUC__ //////////////////////////////////////////////////////////////////////////////// @@ -451,8 +454,7 @@ namespace Catch { return *this; } void swap( Ptr& other ) { std::swap( m_p, other.m_p ); } - T* get() { return m_p; } - const T* get() const{ return m_p; } + T* get() const{ return m_p; } T& operator*() const { return *m_p; } T* operator->() const { return m_p; } bool operator !() const { return m_p == CATCH_NULL; } @@ -5645,89 +5647,76 @@ namespace Catch { namespace Catch { - class Runner { + Ptr<IStreamingReporter> makeReporter( Ptr<Config> const& config ) { + std::string reporterName = config->getReporterName().empty() + ? "console" + : config->getReporterName(); - public: - Runner( Ptr<Config> const& config ) - : m_config( config ) - { - openStream(); - makeReporter(); + Ptr<IStreamingReporter> reporter = getRegistryHub().getReporterRegistry().create( reporterName, config.get() ); + if( !reporter ) { + std::ostringstream oss; + oss << "No reporter registered with name: '" << reporterName << "'"; + throw std::domain_error( oss.str() ); } + return reporter; + } - Totals runTests() { - - RunContext context( m_config.get(), m_reporter ); + void openStreamInto( Ptr<Config> const& config, std::ofstream& ofs ) { + // Open output file, if specified + if( !config->getFilename().empty() ) { + ofs.open( config->getFilename().c_str() ); + if( ofs.fail() ) { + std::ostringstream oss; + oss << "Unable to open file: '" << config->getFilename() << "'"; + throw std::domain_error( oss.str() ); + } + config->setStreamBuf( ofs.rdbuf() ); + } + } - Totals totals; + Totals runTests( Ptr<Config> const& config ) { - context.testGroupStarting( "all tests", 1, 1 ); // deprecated? + std::ofstream ofs; + openStreamInto( config, ofs ); + Ptr<IStreamingReporter> reporter = makeReporter( config ); - TestSpec testSpec = m_config->testSpec(); - if( !testSpec.hasFilters() ) - testSpec = TestSpecParser( ITagAliasRegistry::get() ).parse( "~[.]" ).testSpec(); // All not hidden tests + RunContext context( config.get(), reporter ); - std::vector<TestCase> testCases; - getRegistryHub().getTestCaseRegistry().getFilteredTests( testSpec, *m_config, testCases ); + Totals totals; - int testsRunForGroup = 0; - for( std::vector<TestCase>::const_iterator it = testCases.begin(), itEnd = testCases.end(); - it != itEnd; - ++it ) { - testsRunForGroup++; - if( m_testsAlreadyRun.find( *it ) == m_testsAlreadyRun.end() ) { + context.testGroupStarting( config->name(), 1, 1 ); - if( context.aborting() ) - break; + TestSpec testSpec = config->testSpec(); + if( !testSpec.hasFilters() ) + testSpec = TestSpecParser( ITagAliasRegistry::get() ).parse( "~[.]" ).testSpec(); // All not hidden tests - totals += context.runTest( *it ); - m_testsAlreadyRun.insert( *it ); - } - } - std::vector<TestCase> skippedTestCases; - getRegistryHub().getTestCaseRegistry().getFilteredTests( testSpec, *m_config, skippedTestCases, true ); + std::vector<TestCase> testCases; + getRegistryHub().getTestCaseRegistry().getFilteredTests( testSpec, *config, testCases ); - for( std::vector<TestCase>::const_iterator it = skippedTestCases.begin(), itEnd = skippedTestCases.end(); - it != itEnd; - ++it ) - m_reporter->skipTest( *it ); + std::set<TestCase> testsAlreadyRun; + for( std::vector<TestCase>::const_iterator it = testCases.begin(), itEnd = testCases.end(); + it != itEnd; + ++it ) { + if( testsAlreadyRun.find( *it ) == testsAlreadyRun.end() ) { - context.testGroupEnded( "all tests", totals, 1, 1 ); - return totals; - } + if( context.aborting() ) + break; - private: - void openStream() { - // Open output file, if specified - if( !m_config->getFilename().empty() ) { - m_ofs.open( m_config->getFilename().c_str() ); - if( m_ofs.fail() ) { - std::ostringstream oss; - oss << "Unable to open file: '" << m_config->getFilename() << "'"; - throw std::domain_error( oss.str() ); - } - m_config->setStreamBuf( m_ofs.rdbuf() ); + totals += context.runTest( *it ); + testsAlreadyRun.insert( *it ); } } - void makeReporter() { - std::string reporterName = m_config->getReporterName().empty() - ? "console" - : m_config->getReporterName(); + std::vector<TestCase> skippedTestCases; + getRegistryHub().getTestCaseRegistry().getFilteredTests( testSpec, *config, skippedTestCases, true ); - m_reporter = getRegistryHub().getReporterRegistry().create( reporterName, m_config.get() ); - if( !m_reporter ) { - std::ostringstream oss; - oss << "No reporter registered with name: '" << reporterName << "'"; - throw std::domain_error( oss.str() ); - } - } + for( std::vector<TestCase>::const_iterator it = skippedTestCases.begin(), itEnd = skippedTestCases.end(); + it != itEnd; + ++it ) + reporter->skipTest( *it ); - private: - Ptr<Config> m_config; - std::ofstream m_ofs; - Ptr<IStreamingReporter> m_reporter; - std::set<TestCase> m_testsAlreadyRun; - }; + context.testGroupEnded( config->name(), totals, 1, 1 ); + return totals; + } void applyFilenamesAsTags() { std::vector<TestCase> const& tests = getRegistryHub().getTestCaseRegistry().getAllTests(); @@ -5824,13 +5813,11 @@ namespace Catch { seedRng( *m_config ); - Runner runner( m_config ); - // Handle list request if( Option<std::size_t> listed = list( config() ) ) return static_cast<int>( *listed ); - return static_cast<int>( runner.runTests().assertions.failed ); + return static_cast<int>( runTests( m_config ).assertions.failed ); } catch( std::exception& ex ) { Catch::cerr() << ex.what() << std::endl; @@ -6942,7 +6929,7 @@ namespace Catch { return os; } - Version libraryVersion( 1, 2, 1, "develop", 10 ); + Version libraryVersion( 1, 2, 1, "develop", 11 ); } |