Wire Sysio Wire Sysion 1.0.0
Loading...
Searching...
No Matches
catch_interfaces_capture.h
Go to the documentation of this file.
1/*
2 * Created by Phil on 07/01/2011.
3 * Copyright 2011 Two Blue Cubes Ltd. All rights reserved.
4 *
5 * Distributed under the Boost Software License, Version 1.0. (See accompanying
6 * file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7 */
8#ifndef TWOBLUECUBES_CATCH_INTERFACES_CAPTURE_H_INCLUDED
9#define TWOBLUECUBES_CATCH_INTERFACES_CAPTURE_H_INCLUDED
10
11#include <string>
12
13#include "catch_stringref.h"
14#include "catch_result_type.h"
15
16namespace Catch {
17
18 class AssertionResult;
19 struct AssertionInfo;
20 struct SectionInfo;
21 struct SectionEndInfo;
22 struct MessageInfo;
23 struct MessageBuilder;
24 struct Counts;
25 struct BenchmarkInfo;
26 struct BenchmarkStats;
27 struct AssertionReaction;
28 struct SourceLineInfo;
29
30 struct ITransientExpression;
31 struct IGeneratorTracker;
32
33 struct IResultCapture {
34
35 virtual ~IResultCapture();
36
37 virtual bool sectionStarted( SectionInfo const& sectionInfo,
38 Counts& assertions ) = 0;
39 virtual void sectionEnded( SectionEndInfo const& endInfo ) = 0;
40 virtual void sectionEndedEarly( SectionEndInfo const& endInfo ) = 0;
41
42 virtual auto acquireGeneratorTracker( SourceLineInfo const& lineInfo ) -> IGeneratorTracker& = 0;
43
44 virtual void benchmarkStarting( BenchmarkInfo const& info ) = 0;
45 virtual void benchmarkEnded( BenchmarkStats const& stats ) = 0;
46
47 virtual void pushScopedMessage( MessageInfo const& message ) = 0;
48 virtual void popScopedMessage( MessageInfo const& message ) = 0;
49
50 virtual void emplaceUnscopedMessage( MessageBuilder const& builder ) = 0;
51
52 virtual void handleFatalErrorCondition( StringRef message ) = 0;
53
54 virtual void handleExpr
55 ( AssertionInfo const& info,
56 ITransientExpression const& expr,
57 AssertionReaction& reaction ) = 0;
58 virtual void handleMessage
59 ( AssertionInfo const& info,
60 ResultWas::OfType resultType,
61 StringRef const& message,
62 AssertionReaction& reaction ) = 0;
64 ( AssertionInfo const& info,
65 AssertionReaction& reaction ) = 0;
67 ( AssertionInfo const& info,
68 std::string const& message,
69 AssertionReaction& reaction ) = 0;
70 virtual void handleIncomplete
71 ( AssertionInfo const& info ) = 0;
72 virtual void handleNonExpr
73 ( AssertionInfo const &info,
74 ResultWas::OfType resultType,
75 AssertionReaction &reaction ) = 0;
76
77
78
79 virtual bool lastAssertionPassed() = 0;
80 virtual void assertionPassed() = 0;
81
82 // Deprecated, do not use:
83 virtual std::string getCurrentTestName() const = 0;
84 virtual const AssertionResult* getLastResult() const = 0;
85 virtual void exceptionEarlyReported() = 0;
86 };
87
89}
90
91#endif // TWOBLUECUBES_CATCH_INTERFACES_CAPTURE_H_INCLUDED
IResultCapture & getResultCapture()
virtual void handleMessage(AssertionInfo const &info, ResultWas::OfType resultType, StringRef const &message, AssertionReaction &reaction)=0
virtual void benchmarkStarting(BenchmarkInfo const &info)=0
virtual const AssertionResult * getLastResult() const =0
virtual void popScopedMessage(MessageInfo const &message)=0
virtual void handleFatalErrorCondition(StringRef message)=0
virtual void emplaceUnscopedMessage(MessageBuilder const &builder)=0
virtual void sectionEnded(SectionEndInfo const &endInfo)=0
virtual void handleExpr(AssertionInfo const &info, ITransientExpression const &expr, AssertionReaction &reaction)=0
virtual bool sectionStarted(SectionInfo const &sectionInfo, Counts &assertions)=0
virtual void handleUnexpectedExceptionNotThrown(AssertionInfo const &info, AssertionReaction &reaction)=0
virtual void benchmarkEnded(BenchmarkStats const &stats)=0
virtual void handleIncomplete(AssertionInfo const &info)=0
virtual void pushScopedMessage(MessageInfo const &message)=0
virtual bool lastAssertionPassed()=0
virtual void assertionPassed()=0
virtual auto acquireGeneratorTracker(SourceLineInfo const &lineInfo) -> IGeneratorTracker &=0
virtual void handleNonExpr(AssertionInfo const &info, ResultWas::OfType resultType, AssertionReaction &reaction)=0
virtual void exceptionEarlyReported()=0
virtual std::string getCurrentTestName() const =0
virtual void handleUnexpectedInflightException(AssertionInfo const &info, std::string const &message, AssertionReaction &reaction)=0
virtual void sectionEndedEarly(SectionEndInfo const &endInfo)=0