Fixed dereferenced null issue

This commit is contained in:
Phil Nash 2014-05-20 18:49:28 +01:00
parent 59d556907d
commit 5daa22dcc3
5 changed files with 16 additions and 19 deletions

View file

@ -22,17 +22,11 @@ namespace Catch {
void operator=( Context const& );
public: // IContext
virtual IResultCapture& getResultCapture() {
if( m_resultCapture )
return *m_resultCapture;
else
throw std::logic_error( "No result capture instance" );
virtual IResultCapture* getResultCapture() {
return m_resultCapture;
}
virtual IRunner& getRunner() {
if( m_runner )
return *m_runner;
else
throw std::logic_error( "No runner instance" );
virtual IRunner* getRunner() {
return m_runner;
}
virtual size_t getGeneratorIndex( std::string const& fileInfo, size_t totalSize ) {
return getGeneratorsForCurrentTest()
@ -63,7 +57,7 @@ namespace Catch {
private:
IGeneratorsForTest* findGeneratorsForCurrentTest() {
std::string testName = getResultCapture().getCurrentTestName();
std::string testName = getResultCapture()->getCurrentTestName();
std::map<std::string, IGeneratorsForTest*>::const_iterator it =
m_generatorsByTestName.find( testName );
@ -75,7 +69,7 @@ namespace Catch {
IGeneratorsForTest& getGeneratorsForCurrentTest() {
IGeneratorsForTest* generators = findGeneratorsForCurrentTest();
if( !generators ) {
std::string testName = getResultCapture().getCurrentTestName();
std::string testName = getResultCapture()->getCurrentTestName();
generators = createGeneratorsForTest();
m_generatorsByTestName.insert( std::make_pair( testName, generators ) );
}