diff --git a/README.md b/README.md
index 290b5327..ef706d53 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@

-## CATCH v0.9 build 31 (integration branch)
+## CATCH v0.9 build 32 (integration branch)
An automated test framework for C, C++ and Objective-C.
This branch may contain code that is experimental or not yet fully tested.
diff --git a/include/internal/catch_impl.hpp b/include/internal/catch_impl.hpp
index f3f214b2..74350048 100644
--- a/include/internal/catch_impl.hpp
+++ b/include/internal/catch_impl.hpp
@@ -29,8 +29,8 @@
#include "catch_version.hpp"
#include "catch_line_wrap.hpp"
#include "catch_message.hpp"
-#include "catch_legacy_reporter_adapter.hpp"
+#include "../reporters/catch_legacy_reporter_adapter.hpp"
#include "../reporters/catch_reporter_basic.hpp"
#include "../reporters/catch_reporter_xml.hpp"
#include "../reporters/catch_reporter_junit.hpp"
diff --git a/include/internal/catch_version.hpp b/include/internal/catch_version.hpp
index cfa1dbc6..7269815a 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( 0, 9, 31, "integration" );
+ Version libraryVersion( 0, 9, 32, "integration" );
}
#endif // TWOBLUECUBES_CATCH_VERSION_HPP_INCLUDED
diff --git a/projects/SelfTest/Baselines/approvedResults.txt b/projects/SelfTest/Baselines/approvedResults.txt
index bb271dd3..aebdee5b 100644
--- a/projects/SelfTest/Baselines/approvedResults.txt
+++ b/projects/SelfTest/Baselines/approvedResults.txt
@@ -1,6 +1,6 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-CatchSelfTest is a CATCH v0.9 b31 (integration) host application.
+CatchSelfTest is a CATCH v0.9 b32 (integration) host application.
Run with -? for options
-------------------------------------------------------------------------------
@@ -5452,7 +5452,7 @@ with message:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-CatchSelfTest is a CATCH v0.9 b31 (integration) host application.
+CatchSelfTest is a CATCH v0.9 b32 (integration) host application.
Run with -? for options
-------------------------------------------------------------------------------
@@ -5994,20 +5994,35 @@ ExceptionTests.cpp:125
+
+MessageTests.cpp:13
+
MessageTests.cpp:14
+
+MessageTests.cpp:23
+
+
+MessageTests.cpp:24
+
MessageTests.cpp:26
+
+MessageTests.cpp:35
+
MessageTests.cpp:37
+
+MessageTests.cpp:39
+
MessageTests.cpp:41
@@ -6032,6 +6047,12 @@ Message from section two
+
+MessageTests.cpp:84
+
+
+MessageTests.cpp:85
+
MessageTests.cpp:86
@@ -6061,21 +6082,39 @@ MiscTests.cpp:99
+
+MiscTests.cpp:110
+
MiscTests.cpp:111
+
+MiscTests.cpp:110
+
MiscTests.cpp:111
+
+MiscTests.cpp:110
+
MiscTests.cpp:111
+
+MiscTests.cpp:110
+
MiscTests.cpp:111
+
+MiscTests.cpp:110
+
MiscTests.cpp:111
+
+MiscTests.cpp:110
+
MiscTests.cpp:111
@@ -6090,6 +6129,12 @@ An error
+
+MiscTests.cpp:135
+
+
+MiscTests.cpp:137
+
MiscTests.cpp:138
@@ -6114,6 +6159,9 @@ MiscTests.cpp:174
+
+MiscTests.cpp:191
+
MiscTests.cpp:192
@@ -8887,6 +8935,9 @@ GeneratorTests.cpp" line="40">
+
+ this is a message
+
this is a warning
@@ -8896,6 +8947,12 @@ GeneratorTests.cpp" line="40">
+
+ this message should be logged
+
+
+ so should this
+
MessageTests.cpp" line="26">
a == 1
@@ -8915,6 +8972,9 @@ MessageTests.cpp" line="33">
2 == 2
+
+ this message should be logged
+
MessageTests.cpp" line="37">
a == 1
@@ -8923,6 +8983,9 @@ MessageTests.cpp" line="37">
2 == 1
+
+ and this, but later
+
MessageTests.cpp" line="41">
a == 0
@@ -9052,6 +9115,12 @@ MessageTests.cpp" line="86">
9 < 10
+
+ current counter 10
+
+
+ i := 10
+
MessageTests.cpp" line="86">
i < 10
@@ -9229,6 +9298,9 @@ MiscTests.cpp" line="99">
+
+ Testing if fib[0] (1) is even
+
MiscTests.cpp" line="111">
( fib[i] % 2 ) == 0
@@ -9237,6 +9309,9 @@ MiscTests.cpp" line="111">
1 == 0
+
+ Testing if fib[1] (1) is even
+
MiscTests.cpp" line="111">
( fib[i] % 2 ) == 0
@@ -9253,6 +9328,9 @@ MiscTests.cpp" line="111">
0 == 0
+
+ Testing if fib[3] (3) is even
+
MiscTests.cpp" line="111">
( fib[i] % 2 ) == 0
@@ -9261,6 +9339,9 @@ MiscTests.cpp" line="111">
1 == 0
+
+ Testing if fib[4] (5) is even
+
MiscTests.cpp" line="111">
( fib[i] % 2 ) == 0
@@ -9277,6 +9358,9 @@ MiscTests.cpp" line="111">
0 == 0
+
+ Testing if fib[6] (13) is even
+
MiscTests.cpp" line="111">
( fib[i] % 2 ) == 0
@@ -9285,6 +9369,9 @@ MiscTests.cpp" line="111">
1 == 0
+
+ Testing if fib[7] (21) is even
+
MiscTests.cpp" line="111">
( fib[i] % 2 ) == 0
@@ -9318,6 +9405,12 @@ MiscTests.cpp" line="130">
+
+ hi
+
+
+ i := 7
+
MiscTests.cpp" line="138">
false
@@ -9414,6 +9507,9 @@ MiscTests.cpp" line="174">
+
+ 3
+
MiscTests.cpp" line="192">
false
@@ -12451,6 +12547,7 @@ GeneratorTests.cpp:40: i->first == i->second-1 succeeded for: 2 == 2
[Finished: './succeeding/generators/2' All tests passed (2 assertions in 1 test case)]
[Running: ./succeeding/message]
+MessageTests.cpp:13: [info: this is a message]
MessageTests.cpp:14: [warning: this is a warning]
No assertions in test case, './succeeding/message'
@@ -12463,12 +12560,16 @@ MessageTests.cpp:18: succeeded
[Finished: './succeeding/succeed' All tests passed (1 assertion in 1 test case)]
[Running: ./failing/message/info/1]
+MessageTests.cpp:23: [info: this message should be logged]
+MessageTests.cpp:24: [info: so should this]
MessageTests.cpp:26: a == 1 failed for: 2 == 1
[Finished: './failing/message/info/1' 1 test case failed (1 assertion failed)]
[Running: ./mixed/message/info/2]
MessageTests.cpp:33: a == 2 succeeded for: 2 == 2
+MessageTests.cpp:35: [info: this message should be logged]
MessageTests.cpp:37: a == 1 failed for: 2 == 1
+MessageTests.cpp:39: [info: and this, but later]
MessageTests.cpp:41: a == 0 failed for: 2 == 0
MessageTests.cpp:45: a == 2 succeeded for: 2 == 2
[Finished: './mixed/message/info/2' 1 test case failed (2 of 4 assertions failed)]
@@ -12516,6 +12617,8 @@ MessageTests.cpp:86: i < 10 succeeded for: 6 < 10
MessageTests.cpp:86: i < 10 succeeded for: 7 < 10
MessageTests.cpp:86: i < 10 succeeded for: 8 < 10
MessageTests.cpp:86: i < 10 succeeded for: 9 < 10
+MessageTests.cpp:84: [info: current counter 10]
+MessageTests.cpp:85: [info: i := 10]
MessageTests.cpp:86: i < 10 failed for: 10 < 10
[Finished: './mixed/message/scoped' 1 test case failed (1 of 11 assertions failed)]
@@ -12619,13 +12722,19 @@ MiscTests.cpp:99: b > a failed for: 0 > 1
[Finished: './mixed/Misc/Sections/loops' 1 test case failed (1 assertion failed)]
[Running: ./mixed/Misc/loops]
+MiscTests.cpp:110: [info: Testing if fib[0] (1) is even]
MiscTests.cpp:111: ( fib[i] % 2 ) == 0 failed for: 1 == 0
+MiscTests.cpp:110: [info: Testing if fib[1] (1) is even]
MiscTests.cpp:111: ( fib[i] % 2 ) == 0 failed for: 1 == 0
MiscTests.cpp:111: ( fib[i] % 2 ) == 0 succeeded for: 0 == 0
+MiscTests.cpp:110: [info: Testing if fib[3] (3) is even]
MiscTests.cpp:111: ( fib[i] % 2 ) == 0 failed for: 1 == 0
+MiscTests.cpp:110: [info: Testing if fib[4] (5) is even]
MiscTests.cpp:111: ( fib[i] % 2 ) == 0 failed for: 1 == 0
MiscTests.cpp:111: ( fib[i] % 2 ) == 0 succeeded for: 0 == 0
+MiscTests.cpp:110: [info: Testing if fib[6] (13) is even]
MiscTests.cpp:111: ( fib[i] % 2 ) == 0 failed for: 1 == 0
+MiscTests.cpp:110: [info: Testing if fib[7] (21) is even]
MiscTests.cpp:111: ( fib[i] % 2 ) == 0 failed for: 1 == 0
[Finished: './mixed/Misc/loops' 1 test case failed (6 of 8 assertions failed)]
Some information
@@ -12643,6 +12752,8 @@ MiscTests.cpp:130: makeString( true ) == static_cast(__null) succeeded fo
[Finished: './succeeding/Misc/null strings' All tests passed (2 assertions in 1 test case)]
[Running: ./failing/info]
+MiscTests.cpp:135: [info: hi]
+MiscTests.cpp:137: [info: i := 7]
MiscTests.cpp:138: false failed
[Finished: './failing/info' 1 test case failed (1 assertion failed)]
@@ -12682,6 +12793,7 @@ No assertions in section, 'encoded chars'
[Finished: './misc/xmlentitycheck' 1 test case failed (All 2 assertions failed)]
[Running: ./manual/onechar]
+MiscTests.cpp:191: [info: 3]
MiscTests.cpp:192: false failed
[Finished: './manual/onechar' 1 test case failed (1 assertion failed)]
diff --git a/single_include/catch.hpp b/single_include/catch.hpp
index 801fded1..1cb07a6e 100644
--- a/single_include/catch.hpp
+++ b/single_include/catch.hpp
@@ -1,6 +1,6 @@
/*
- * CATCH v0.9 build 31 (integration branch)
- * Generated: 2013-04-05 20:56:17.492865
+ * CATCH v0.9 build 32 (integration branch)
+ * Generated: 2013-04-08 11:50:07.907187
* ----------------------------------------------------------
* This file has been merged from multiple headers. Please don't edit it directly
* Copyright (c) 2012 Two Blue Cubes Ltd. All rights reserved.
@@ -2404,69 +2404,6 @@ namespace Catch
virtual void Result( const AssertionResult& result ) = 0;
};
- class LegacyReporterAdapter : public SharedImpl
- {
- public:
- LegacyReporterAdapter( Ptr const& legacyReporter, ReporterConfig const& config )
- : m_legacyReporter( legacyReporter ),
- m_config( config )
- {}
- virtual ~LegacyReporterAdapter();
-
- virtual ReporterPreferences getPreferences() const {
- ReporterPreferences prefs;
- prefs.shouldRedirectStdOut = m_legacyReporter->shouldRedirectStdout();
- return prefs;
- }
-
- virtual void noMatchingTestCases( std::string const& ) {}
- virtual void testRunStarting( TestRunInfo const& ) {
- m_legacyReporter->StartTesting();
- }
- virtual void testGroupStarting( GroupInfo const& groupInfo ) {
- m_legacyReporter->StartGroup( groupInfo.name );
- }
- virtual void testCaseStarting( TestCaseInfo const& testInfo ) {
- m_legacyReporter->StartTestCase( testInfo );
- }
- virtual void sectionStarting( SectionInfo const& sectionInfo ) {
- m_legacyReporter->StartSection( sectionInfo.name, sectionInfo.description );
- }
- virtual void assertionStarting( AssertionInfo const& ) {
- // Not on legacy interface
- }
-
- virtual void assertionEnded( AssertionStats const& assertionStats ) {
- m_legacyReporter->Result( assertionStats.assertionResult );
- }
- virtual void sectionEnded( SectionStats const& sectionStats ) {
- if( sectionStats.missingAssertions )
- m_legacyReporter->NoAssertionsInSection( sectionStats.sectionInfo.name );
- m_legacyReporter->EndSection( sectionStats.sectionInfo.name, sectionStats.assertions );
- }
- virtual void testCaseEnded( TestCaseStats const& testCaseStats ) {
- if( testCaseStats.missingAssertions )
- m_legacyReporter->NoAssertionsInTestCase( testCaseStats.testInfo.name );
- m_legacyReporter->EndTestCase
- ( testCaseStats.testInfo,
- testCaseStats.totals,
- testCaseStats.stdOut,
- testCaseStats.stdErr );
- }
- virtual void testGroupEnded( TestGroupStats const& testGroupStats ) {
- if( testGroupStats.aborting )
- m_legacyReporter->Aborted();
- m_legacyReporter->EndGroup( testGroupStats.groupInfo.name, testGroupStats.totals );
- }
- virtual void testRunEnded( TestRunStats const& testRunStats ) {
- m_legacyReporter->EndTesting( testRunStats.totals );
- }
-
- private:
- Ptr m_legacyReporter;
- ReporterConfig m_config;
- };
-
struct IReporterFactory {
virtual ~IReporterFactory();
virtual IStreamingReporter* create( ReporterConfig const& config ) const = 0;
@@ -6081,7 +6018,7 @@ namespace Catch {
namespace Catch {
// These numbers are maintained by a script
- Version libraryVersion( 0, 9, 31, "integration" );
+ Version libraryVersion( 0, 9, 32, "integration" );
}
// #included from: catch_line_wrap.hpp
@@ -6237,6 +6174,110 @@ namespace Catch {
} // end namespace Catch
+// #included from: ../reporters/catch_legacy_reporter_adapter.hpp
+#define TWOBLUECUBES_CATCH_LEGACY_REPORTER_ADAPTER_HPP_INCLUDED
+
+// #included from: catch_legacy_reporter_adapter.h
+#define TWOBLUECUBES_CATCH_LEGACY_REPORTER_ADAPTER_H_INCLUDED
+
+namespace Catch
+{
+ class LegacyReporterAdapter : public SharedImpl
+ {
+ public:
+ LegacyReporterAdapter( Ptr const& legacyReporter, ReporterConfig const& config );
+ virtual ~LegacyReporterAdapter();
+
+ virtual ReporterPreferences getPreferences() const;
+ virtual void noMatchingTestCases( std::string const& );
+ virtual void testRunStarting( TestRunInfo const& );
+ virtual void testGroupStarting( GroupInfo const& groupInfo );
+ virtual void testCaseStarting( TestCaseInfo const& testInfo );
+ virtual void sectionStarting( SectionInfo const& sectionInfo );
+ virtual void assertionStarting( AssertionInfo const& );
+ virtual void assertionEnded( AssertionStats const& assertionStats );
+ virtual void sectionEnded( SectionStats const& sectionStats );
+ virtual void testCaseEnded( TestCaseStats const& testCaseStats );
+ virtual void testGroupEnded( TestGroupStats const& testGroupStats );
+ virtual void testRunEnded( TestRunStats const& testRunStats );
+
+ private:
+ Ptr m_legacyReporter;
+ ReporterConfig m_config;
+ };
+}
+
+namespace Catch
+{
+ LegacyReporterAdapter::LegacyReporterAdapter( Ptr const& legacyReporter, ReporterConfig const& config )
+ : m_legacyReporter( legacyReporter ),
+ m_config( config )
+ {}
+ LegacyReporterAdapter::~LegacyReporterAdapter() {}
+
+ ReporterPreferences LegacyReporterAdapter::getPreferences() const {
+ ReporterPreferences prefs;
+ prefs.shouldRedirectStdOut = m_legacyReporter->shouldRedirectStdout();
+ return prefs;
+ }
+
+ void LegacyReporterAdapter::noMatchingTestCases( std::string const& ) {}
+ void LegacyReporterAdapter::testRunStarting( TestRunInfo const& ) {
+ m_legacyReporter->StartTesting();
+ }
+ void LegacyReporterAdapter::testGroupStarting( GroupInfo const& groupInfo ) {
+ m_legacyReporter->StartGroup( groupInfo.name );
+ }
+ void LegacyReporterAdapter::testCaseStarting( TestCaseInfo const& testInfo ) {
+ m_legacyReporter->StartTestCase( testInfo );
+ }
+ void LegacyReporterAdapter::sectionStarting( SectionInfo const& sectionInfo ) {
+ m_legacyReporter->StartSection( sectionInfo.name, sectionInfo.description );
+ }
+ void LegacyReporterAdapter::assertionStarting( AssertionInfo const& ) {
+ // Not on legacy interface
+ }
+
+ void LegacyReporterAdapter::assertionEnded( AssertionStats const& assertionStats ) {
+ if( assertionStats.assertionResult.getResultType() != ResultWas::Ok ) {
+ for( std::vector::const_iterator it = assertionStats.infoMessages.begin(), itEnd = assertionStats.infoMessages.end();
+ it != itEnd;
+ ++it ) {
+ if( it->type == ResultWas::Info ) {
+ ExpressionResultBuilder expressionBuilder( it->type );
+ expressionBuilder << it->message;
+ AssertionInfo info( it->macroName, it->lineInfo, "", ResultDisposition::Normal );
+ AssertionResult result = expressionBuilder.buildResult( info );
+ m_legacyReporter->Result( result );
+ }
+ }
+ }
+ m_legacyReporter->Result( assertionStats.assertionResult );
+ }
+ void LegacyReporterAdapter::sectionEnded( SectionStats const& sectionStats ) {
+ if( sectionStats.missingAssertions )
+ m_legacyReporter->NoAssertionsInSection( sectionStats.sectionInfo.name );
+ m_legacyReporter->EndSection( sectionStats.sectionInfo.name, sectionStats.assertions );
+ }
+ void LegacyReporterAdapter::testCaseEnded( TestCaseStats const& testCaseStats ) {
+ if( testCaseStats.missingAssertions )
+ m_legacyReporter->NoAssertionsInTestCase( testCaseStats.testInfo.name );
+ m_legacyReporter->EndTestCase
+ ( testCaseStats.testInfo,
+ testCaseStats.totals,
+ testCaseStats.stdOut,
+ testCaseStats.stdErr );
+ }
+ void LegacyReporterAdapter::testGroupEnded( TestGroupStats const& testGroupStats ) {
+ if( testGroupStats.aborting )
+ m_legacyReporter->Aborted();
+ m_legacyReporter->EndGroup( testGroupStats.groupInfo.name, testGroupStats.totals );
+ }
+ void LegacyReporterAdapter::testRunEnded( TestRunStats const& testRunStats ) {
+ m_legacyReporter->EndTesting( testRunStats.totals );
+ }
+}
+
// #included from: ../reporters/catch_reporter_basic.hpp
#define TWOBLUECUBES_CATCH_REPORTER_BASIC_HPP_INCLUDED
@@ -7622,7 +7663,6 @@ namespace Catch {
IReporterFactory::~IReporterFactory() {}
IReporterRegistry::~IReporterRegistry() {}
IStreamingReporter::~IStreamingReporter() {}
- LegacyReporterAdapter::~LegacyReporterAdapter() {}
AssertionStats::~AssertionStats() {}
SectionStats::~SectionStats() {}
TestCaseStats::~TestCaseStats() {}