...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::unit_test::output::xml_log_formatter
// In header: <boost/test/output/xml_log_formatter.hpp> class xml_log_formatter : public boost::unit_test::unit_test_log_formatter { public: // public member functions virtual void log_start(std::ostream &, counter_t); virtual void log_finish(std::ostream &); virtual void log_build_info(std::ostream &, bool); virtual void test_unit_start(std::ostream &, test_unit const &); virtual void test_unit_finish(std::ostream &, test_unit const &, unsigned long); virtual void test_unit_skipped(std::ostream &, test_unit const &, const_string); virtual void log_exception_start(std::ostream &, log_checkpoint_data const &, execution_exception const &); virtual void log_exception_finish(std::ostream &); virtual void log_entry_start(std::ostream &, log_entry_data const &, log_entry_types); virtual void log_entry_value(std::ostream &, const_string); virtual void log_entry_finish(std::ostream &); virtual void entry_context_start(std::ostream &, log_level); virtual void log_entry_context(std::ostream &, log_level, const_string); virtual void entry_context_finish(std::ostream &, log_level); virtual void log_entry_value(std::ostream &, const_string); virtual void log_entry_value(std::ostream &, lazy_ostream const &); virtual void test_unit_skipped(std::ostream &, test_unit const &); virtual void test_unit_aborted(std::ostream &, test_unit const &); virtual void test_unit_timed_out(std::ostream &, test_unit const &); virtual void set_log_level(log_level); virtual log_level get_log_level() const; virtual std::string get_default_stream_description() const; };
xml_log_formatter
public member functionsvirtual void log_start(std::ostream & os, counter_t test_cases_amount);Invoked at the beginning of test module execution.
See Also: log_finish
Parameters: |
|
virtual void log_finish(std::ostream & os);Invoked at the end of test module execution.
See Also: log_start
Parameters: |
|
virtual void log_build_info(std::ostream & os, bool log_build_info);Invoked when Unit Test Framework build information is requested.
Parameters: |
|
virtual void test_unit_start(std::ostream & os, test_unit const & tu);Invoked when test unit starts (either test suite or test case)
See Also: test_unit_finish
Parameters: |
|
virtual void test_unit_finish(std::ostream & os, test_unit const & tu, unsigned long elapsed);Invoked when test unit finishes.
See Also: test_unit_start
Parameters: |
|
virtual void test_unit_skipped(std::ostream & os, test_unit const & tu, const_string);Invoked if test unit skipped for any reason.
Parameters: |
|
virtual void log_exception_start(std::ostream & os, log_checkpoint_data const & lcd, execution_exception const & ex);Invoked when Unit Test Framework detects uncaught exception.
The framwork calls this function when an uncaught exception it detected. This call is followed by context information:
one call to entry_context_start
,
as many calls to log_entry_context
as there are context entries
one call to entry_context_finish
The logging of the exception information is finilized by a call to log_exception_finish
.
See Also: log_exception_finish
Parameters: |
|
virtual void log_exception_finish(std::ostream & os);Invoked when Unit Test Framework detects uncaught exception.
Call to this function finishes uncaught exception report.
See Also: log_exception_start
Parameters: |
|
virtual void log_entry_start(std::ostream & os, log_entry_data const & led, log_entry_types let);Invoked by Unit Test Framework to start new log entry.
Call to this function starts new log entry. It is followed by series of log_entry_value calls and finally call to log_entry_finish. A log entry may consist of one or more values being reported. Some of these values will be plain strings, while others can be complicated expressions in a form of "lazy" expression template lazy_ostream.
See Also: log_entry_value, log_entry_finish
Note | |
---|---|
call to this function may happen before any call to test_unit_start or all calls to test_unit_finish as the framework might log errors raised during global initialization/shutdown. |
Parameters: |
|
virtual void log_entry_value(std::ostream & os, const_string value);Invoked by Unit Test Framework to report a log entry content.
This is one of two overloaded methods to report log entry content. This one is used to report plain string value.
See Also: log_entry_start, log_entry_finish
Parameters: |
|
virtual void log_entry_finish(std::ostream & os);Invoked by Unit Test Framework to finish a log entry report.
See Also: log_entry_start, log_entry_start
Parameters: |
|
virtual void entry_context_start(std::ostream & os, log_level l);Invoked by Unit Test Framework to start log entry context report.
Unit Test Framework logs for failed assertions and uncaught exceptions context if one was defined by a test module. Context consists of multiple "scopes" identified by description messages assigned by the test module using BOOST_TEST_INFO/BOOST_TEST_CONTEXT statements.
See Also: log_entry_context, entry_context_finish
Parameters: |
|
virtual void log_entry_context(std::ostream & os, log_level l, const_string value);Invoked by Unit Test Framework to report log entry context "scope" description.
Each "scope" description is reported by separate call to log_entry_context.
See Also: log_entry_start, entry_context_finish
Parameters: |
|
virtual void entry_context_finish(std::ostream & os, log_level l);Invoked by Unit Test Framework to finish log entry context report.
See Also: log_entry_start, entry_context_context
Parameters: |
|
virtual void log_entry_value(std::ostream & os, const_string value);Invoked by Unit Test Framework to report a log entry content.
This is one of two overloaded methods to report log entry content. This one is used to report plain string value.
See Also: log_entry_start, log_entry_finish
Parameters: |
|
virtual void log_entry_value(std::ostream & os, lazy_ostream const & value);Invoked by Unit Test Framework to report a log entry content.
This is one of two overloaded methods to report log entry content. This one is used to report some complicated expression passed as an expression template lazy_ostream. In most cases default implementation provided by the framework should work as is (it just converts the lazy expression into a string.
See Also: log_entry_start, log_entry_finish
Parameters: |
|
virtual void test_unit_skipped(std::ostream &, test_unit const &);Deprecated version of this interface.
<xrefsect><xreftitle>Deprecated</xreftitle><xrefdescription></xrefdescription></xrefsect>
virtual void test_unit_aborted(std::ostream &, test_unit const &);Invoked when a test unit is aborted.
virtual void test_unit_timed_out(std::ostream &, test_unit const &);Invoked when a test unit times-out.
virtual void set_log_level(log_level new_log_level);Sets the log level of the logger/formatter.
Some loggers need to manage the log level by their own. This member function let the implementation decide of that.
Since Boost 1.62.
virtual log_level get_log_level() const;Returns the log level of the logger/formatter.
Since Boost 1.62.
virtual std::string get_default_stream_description() const;Returns a default stream for this logger.
The returned string describes the stream as if it was passed from the command line "--log_sink"
parameter. With that regards, stdout and stderr have special meaning indicating the standard output or error stream respectively.
Since Boost 1.62.