deferred_reporter_base Class
Base class for a deferred reporter that collects messages into a string. More...
Declaration
Included Headers
Derived Classes
| class | deferred_reporter |
|
Deferred reporter class for a specific expression. More... | |
Public Constructors Index
| deferred_reporter_base (bool value, const reflection::source_location &location, subtest &subtest) | |
|
Constructs a deferred reporter base. More... | |
| deferred_reporter_base (const deferred_reporter_base &)=delete | |
|
Deleted copy constructor to prevent copying. More... | |
| deferred_reporter_base (deferred_reporter_base &&)=delete | |
|
Deleted move constructor to prevent moving. More... | |
Public Destructor Index
| ~deferred_reporter_base () | |
|
Destructor for the deferred reporter base. More... | |
Public Operators Index
template <class T> | |
| auto & | operator<< (const T &msg) |
|
Appends a message to the reporter. More... | |
| deferred_reporter_base & | operator= (const deferred_reporter_base &)=delete |
|
Deleted copy assignment operator to prevent copying. More... | |
| deferred_reporter_base & | operator= (deferred_reporter_base &&)=delete |
|
Deleted move assignment operator to prevent moving. More... | |
Public Member Functions Index
| bool | value () const |
|
Retrieves the result value. More... | |
Protected Member Attributes Index
| bool | abort_ = false |
|
Indicates whether the reporting should abort further processing. More... | |
| std::string | deferred_output_ {} |
|
String to collect the expectation message passed via operator<<(). More... | |
| bool | has_expression_ = false |
|
Indicates whether the reporter has an associated expression. More... | |
| const reflection::source_location | location_ {} |
|
Stores the source location associated with the report. More... | |
| subtest & | subtest_ |
|
Reference to the test case invoking this report. More... | |
| bool | value_ {} |
|
Stores the result value of the report. More... | |
Description
Base class for a deferred reporter that collects messages into a string.
The deferred_reporter_base class serves as the foundational component for deferred reporting within the framework. It is responsible for collecting expectation messages, typically passed via the operator<<(), into a string for later reporting.
This class maintains the result value, abort status, and the source location associated with the report. It is intended exclusively for internal use and is implemented in the include/micro-os-plus/micro-test-plus folder to ensure a structured and modular codebase.
Definition at line 100 of file deferred-reporter.h.
Public Constructors
deferred_reporter_base()
|
Constructs a deferred reporter base.
- Parameters
-
value The result value associated with the report.
location The source location relevant to the report.
subtest The subtest that owns this deferred report.
Stores the evaluated Boolean value, the location identifying the source line of the assertion, and a reference to the owning subtest. The subtest's check index counter is incremented immediately so that the first check is reported as check #1.
Declaration at line 110 of file deferred-reporter.h, definition at line 75 of file deferred-reporter.cpp.
References location_, subtest_, value and value_.
Referenced by micro_os_plus::micro_test_plus::detail::deferred_reporter::deferred_reporter, deferred_reporter_base, deferred_reporter_base, operator= and operator=.
deferred_reporter_base()
| delete |
Deleted copy constructor to prevent copying.
Definition at line 117 of file deferred-reporter.h.
Reference deferred_reporter_base.
deferred_reporter_base()
| delete |
Deleted move constructor to prevent moving.
Definition at line 122 of file deferred-reporter.h.
Reference deferred_reporter_base.
Public Destructor
~deferred_reporter_base()
|
Destructor for the deferred reporter base.
The destructor finalises the deferred reporting process for a test expression. If the evaluated expression is true, the reporter records a successful outcome along with any accumulated message. If the expression is false, the reporter records a failure, including the abort status, message, and source location for comprehensive reporting.
This mechanism ensures that all relevant information about the test outcome is captured and reported accurately when the deferred reporter goes out of scope.
The destructor ensures that if an abort condition is set and the test expression has failed, the test output is flushed and the process is terminated. This mechanism guarantees immediate feedback and halts further execution upon critical test failures, aiding in rapid identification and resolution of issues during test runs.
Declaration at line 141 of file deferred-reporter.h, definition at line 103 of file deferred-reporter.cpp.
References abort_, deferred_output_, has_expression_, location_, subtest_ and value_.
Public Operators
operator<<()
|
Appends a message to the reporter.
- Template Parameters
-
T The type of the message to append.
- Parameters
-
msg The message to append.
- Returns
Reference to the current reporter instance.
This operator overload enables the deferred reporter to accumulate expectation messages by appending the provided value to the internal message string.
If the argument is a char, it is appended directly as a character. If the argument is of another arithmetic type, it is converted to a string using a fixed-size buffer and std::to_chars to avoid dynamic memory allocation. For all other types, the value is appended directly.
Declaration at line 153 of file deferred-reporter.h, definition at line 108 of file deferred-reporter-inlines.h.
Reference deferred_output_.
operator=()
| delete |
Deleted copy assignment operator to prevent copying.
Definition at line 128 of file deferred-reporter.h.
Reference deferred_reporter_base.
operator=()
| delete |
Deleted move assignment operator to prevent moving.
Definition at line 135 of file deferred-reporter.h.
Reference deferred_reporter_base.
Public Member Functions
value()
| inline nodiscard |
Retrieves the result value.
- Parameters
None.
- Return Values
-
true The reported condition was met.
false The reported condition was not met.
Returns the result value stored in value_.
Declaration at line 165 of file deferred-reporter.h, definition at line 87 of file deferred-reporter-inlines.h.
Reference value_.
Referenced by deferred_reporter_base.
Protected Member Attributes
abort_
| protected |
Indicates whether the reporting should abort further processing.
Definition at line 177 of file deferred-reporter.h.
Referenced by micro_os_plus::micro_test_plus::detail::deferred_reporter::deferred_reporter and ~deferred_reporter_base.
deferred_output_
| protected |
String to collect the expectation message passed via operator<<().
Definition at line 193 of file deferred-reporter.h.
Referenced by ~deferred_reporter_base and operator<<.
has_expression_
| protected |
Indicates whether the reporter has an associated expression.
Definition at line 182 of file deferred-reporter.h.
Referenced by micro_os_plus::micro_test_plus::detail::deferred_reporter::deferred_reporter and ~deferred_reporter_base.
location_
| protected |
Stores the source location associated with the report.
Definition at line 187 of file deferred-reporter.h.
Referenced by deferred_reporter_base and ~deferred_reporter_base.
subtest_
| protected |
Reference to the test case invoking this report.
Definition at line 198 of file deferred-reporter.h.
Referenced by deferred_reporter_base and ~deferred_reporter_base.
value_
| protected |
Stores the result value of the report.
Definition at line 171 of file deferred-reporter.h.
Referenced by deferred_reporter_base, ~deferred_reporter_base and value.
The documentation for this class was generated from the following files:
Generated via doxygen2docusaurus 2.2.0 by Doxygen 1.17.0.