Home | History | Annotate | Download | only in internal
      1 /*
      2  *  Created by Martin on 19/07/2017.
      3  *
      4  *  Distributed under the Boost Software License, Version 1.0. (See accompanying
      5  *  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
      6  */
      7 
      8 #include "catch_interfaces_reporter.h"
      9 #include "../reporters/catch_reporter_listening.h"
     10 
     11 namespace Catch {
     12 
     13     ReporterConfig::ReporterConfig( IConfigPtr const& _fullConfig )
     14     :   m_stream( &_fullConfig->stream() ), m_fullConfig( _fullConfig ) {}
     15 
     16     ReporterConfig::ReporterConfig( IConfigPtr const& _fullConfig, std::ostream& _stream )
     17     :   m_stream( &_stream ), m_fullConfig( _fullConfig ) {}
     18 
     19     std::ostream& ReporterConfig::stream() const { return *m_stream; }
     20     IConfigPtr ReporterConfig::fullConfig() const { return m_fullConfig; }
     21 
     22 
     23     TestRunInfo::TestRunInfo( std::string const& _name ) : name( _name ) {}
     24 
     25     GroupInfo::GroupInfo(  std::string const& _name,
     26                            std::size_t _groupIndex,
     27                            std::size_t _groupsCount )
     28     :   name( _name ),
     29         groupIndex( _groupIndex ),
     30         groupsCounts( _groupsCount )
     31     {}
     32 
     33      AssertionStats::AssertionStats( AssertionResult const& _assertionResult,
     34                                      std::vector<MessageInfo> const& _infoMessages,
     35                                      Totals const& _totals )
     36     :   assertionResult( _assertionResult ),
     37         infoMessages( _infoMessages ),
     38         totals( _totals )
     39     {
     40         assertionResult.m_resultData.lazyExpression.m_transientExpression = _assertionResult.m_resultData.lazyExpression.m_transientExpression;
     41 
     42         if( assertionResult.hasMessage() ) {
     43             // Copy message into messages list.
     44             // !TBD This should have been done earlier, somewhere
     45             MessageBuilder builder( assertionResult.getTestMacroName(), assertionResult.getSourceInfo(), assertionResult.getResultType() );
     46             builder << assertionResult.getMessage();
     47             builder.m_info.message = builder.m_stream.str();
     48 
     49             infoMessages.push_back( builder.m_info );
     50         }
     51     }
     52 
     53      AssertionStats::~AssertionStats() = default;
     54 
     55     SectionStats::SectionStats(  SectionInfo const& _sectionInfo,
     56                                  Counts const& _assertions,
     57                                  double _durationInSeconds,
     58                                  bool _missingAssertions )
     59     :   sectionInfo( _sectionInfo ),
     60         assertions( _assertions ),
     61         durationInSeconds( _durationInSeconds ),
     62         missingAssertions( _missingAssertions )
     63     {}
     64 
     65     SectionStats::~SectionStats() = default;
     66 
     67 
     68     TestCaseStats::TestCaseStats(  TestCaseInfo const& _testInfo,
     69                                    Totals const& _totals,
     70                                    std::string const& _stdOut,
     71                                    std::string const& _stdErr,
     72                                    bool _aborting )
     73     : testInfo( _testInfo ),
     74         totals( _totals ),
     75         stdOut( _stdOut ),
     76         stdErr( _stdErr ),
     77         aborting( _aborting )
     78     {}
     79 
     80     TestCaseStats::~TestCaseStats() = default;
     81 
     82 
     83     TestGroupStats::TestGroupStats( GroupInfo const& _groupInfo,
     84                                     Totals const& _totals,
     85                                     bool _aborting )
     86     :   groupInfo( _groupInfo ),
     87         totals( _totals ),
     88         aborting( _aborting )
     89     {}
     90 
     91     TestGroupStats::TestGroupStats( GroupInfo const& _groupInfo )
     92     :   groupInfo( _groupInfo ),
     93         aborting( false )
     94     {}
     95 
     96     TestGroupStats::~TestGroupStats() = default;
     97 
     98     TestRunStats::TestRunStats(   TestRunInfo const& _runInfo,
     99                     Totals const& _totals,
    100                     bool _aborting )
    101     :   runInfo( _runInfo ),
    102         totals( _totals ),
    103         aborting( _aborting )
    104     {}
    105 
    106     TestRunStats::~TestRunStats() = default;
    107 
    108     void IStreamingReporter::fatalErrorEncountered( StringRef ) {}
    109     bool IStreamingReporter::isMulti() const { return false; }
    110 
    111     IReporterFactory::~IReporterFactory() = default;
    112     IReporterRegistry::~IReporterRegistry() = default;
    113 
    114 } // end namespace Catch
    115