Added nothrow command line option

Causes _THROWS family of macros to no evaluate expression
This commit is contained in:
Phil Nash
2012-06-05 20:50:47 +01:00
parent e20b252b5a
commit 46a3476731
9 changed files with 107 additions and 32 deletions

View File

@@ -9,6 +9,7 @@
#define TWOBLUECUBES_CATCH_CONTEXT_H_INCLUDED
#include "catch_interfaces_reporter.h"
#include "catch_interfaces_config.h"
#include <memory>
#include <vector>
@@ -36,12 +37,14 @@ namespace Catch {
virtual IExceptionTranslatorRegistry& getExceptionTranslatorRegistry() = 0;
virtual size_t getGeneratorIndex( const std::string& fileInfo, size_t totalSize ) = 0;
virtual bool advanceGeneratorsForCurrentTest() = 0;
virtual const IConfig* getConfig() const = 0;
};
struct IMutableContext : IContext
{
virtual void setResultCapture( IResultCapture* resultCapture ) = 0;
virtual void setRunner( IRunner* runner ) = 0;
virtual void setConfig( const IConfig* config ) = 0;
};
IContext& getCurrentContext();
@@ -60,11 +63,13 @@ namespace Catch {
virtual ITestCaseRegistry& getTestCaseRegistry();
virtual IExceptionTranslatorRegistry& getExceptionTranslatorRegistry();
virtual size_t getGeneratorIndex( const std::string& fileInfo, size_t totalSize );
virtual bool advanceGeneratorsForCurrentTest();
virtual bool advanceGeneratorsForCurrentTest();
virtual const IConfig* getConfig() const;
public: // IMutableContext
virtual void setResultCapture( IResultCapture* resultCapture );
virtual void setRunner( IRunner* runner );
virtual void setConfig( const IConfig* config );
public: // Statics
static std::streambuf* createStreamBuf( const std::string& streamName );
@@ -82,6 +87,7 @@ namespace Catch {
std::auto_ptr<IExceptionTranslatorRegistry> m_exceptionTranslatorRegistry;
IRunner* m_runner;
IResultCapture* m_resultCapture;
const IConfig* m_config;
std::map<std::string, GeneratorsForTest*> m_generatorsByTestName;
};
}