Example #1
0
 virtual ResultAction::Value acceptResult
 (
     bool result
 )
 {
     return acceptResult( result ? ResultWas::Ok : ResultWas::ExpressionFailed );
 }
Example #2
0
 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();
 }
Example #3
0
 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();
 }