virtual ResultAction::Value acceptResult ( bool result ) { return acceptResult( result ? ResultWas::Ok : ResultWas::ExpressionFailed ); }
void runCurrentTest ( std::string& redirectedCout, std::string& redirectedCerr ) { try { m_runningTest->reset(); StreamRedirect coutRedir( std::cout, redirectedCout ); StreamRedirect cerrRedir( std::cerr, redirectedCerr ); m_runningTest->getTestCaseInfo().invoke(); m_runningTest->ranToCompletion(); } catch( TestFailureException& ) { // This just means the test was aborted due to failure } catch( std::exception& ex ) { acceptMessage( ex.what() ); acceptResult( ResultWas::ThrewException ); } catch( std::string& msg ) { acceptMessage( msg ); acceptResult( ResultWas::ThrewException ); } catch( const char* msg ) { acceptMessage( msg ); acceptResult( ResultWas::ThrewException ); } catch(...) { acceptMessage( Catch::Hub::getExceptionTranslatorRegistry().translateActiveException() ); acceptResult( ResultWas::ThrewException ); } m_info.clear(); }
void runCurrentTest( std::string& redirectedCout, std::string& redirectedCerr ) { try { m_runningTest->reset(); if( m_reporter->shouldRedirectStdout() ) { StreamRedirect coutRedir( std::cout, redirectedCout ); StreamRedirect cerrRedir( std::cerr, redirectedCerr ); m_runningTest->getTestCaseInfo().invoke(); } else { m_runningTest->getTestCaseInfo().invoke(); } m_runningTest->ranToCompletion(); } catch( TestFailureException& ) { // This just means the test was aborted due to failure } catch(...) { acceptMessage( getCurrentContext().getExceptionTranslatorRegistry().translateActiveException() ); acceptResult( ResultWas::ThrewException ); } m_info.clear(); }