Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of boost. Click here for the latest Boost documentation.
PrevUpHomeNext

Class compiler_log_formatter

boost::unit_test::output::compiler_log_formatter — Log formatter for the Human Readable Format (HRF) log format.

Synopsis

// In header: <boost/test/output/compiler_log_formatter.hpp>


class compiler_log_formatter :
  public boost::unit_test::unit_test_log_formatter
{
public:
  // construct/copy/destruct
  compiler_log_formatter();

  // 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_value(std::ostream &, lazy_ostream const &);
  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 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;

  // protected member functions
  virtual void print_prefix(std::ostream &, const_string, std::size_t);
};

Description

compiler_log_formatter public construct/copy/destruct

  1. compiler_log_formatter();

compiler_log_formatter public member functions

  1. virtual void log_start(std::ostream & os, counter_t test_cases_amount);
    Invoked at the beginning of test module execution.

    See Also:

    log_finish

    Parameters:

    os

    output stream to write a messages to

    test_cases_amount

    total test case amount to be run

  2. virtual void log_finish(std::ostream & os);
    Invoked at the end of test module execution.

    See Also:

    log_start

    Parameters:

    os

    output stream to write a messages into

  3. virtual void log_build_info(std::ostream & os, bool log_build_info);
    Invoked when Unit Test Framework build information is requested.

    Parameters:

    log_build_info

    indicates if build info should be logged or not

    os

    output stream to write a messages into

  4. 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:

    os

    output stream to write a messages into

    tu

    test unit being started

  5. 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:

    elapsed

    time in microseconds spend executing this test unit

    os

    output stream to write a messages into

    tu

    test unit being finished

  6. virtual void 
    test_unit_skipped(std::ostream & os, test_unit const & tu, const_string);
    Invoked if test unit skipped for any reason.

    Parameters:

    os

    output stream to write a messages into

    tu

    skipped test unit

  7. 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:

    ex

    information about the caught exception

    lcd

    information about the last checkpoint before the exception was triggered

    os

    output stream to write a messages into

  8. 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:

    os

    output stream to write a messages into

  9. 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] 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:

    led

    log entry attributes

    let

    log entry type log_entry_finish

    os

    output stream to write a messages into

  10. 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:

    os

    output stream to write a messages into.

    value

    log entry string value

  11. 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:

    os

    output stream to write a messages into

    value

    log entry "lazy" value

  12. 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:

    os

    output stream to write a messages into

  13. 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:

    l

    entry log_level, to be used to fine tune the message

    os

    output stream to write a messages into

  14. 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:

    l

    entry log_level, to be used to fine tune the message

    os

    output stream to write a messages into

    value

    context "scope" description

  15. 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:

    l

    entry log_level, to be used to fine tune the message

    os

    output stream to write a messages into

  16. virtual void test_unit_skipped(std::ostream &, test_unit const &);
    Deprecated version of this interface.

    <xrefsect><xreftitle>Deprecated</xreftitle><xrefdescription></xrefdescription></xrefsect>

  17. virtual void test_unit_aborted(std::ostream &, test_unit const &);
    Invoked when a test unit is aborted.
  18. virtual void test_unit_timed_out(std::ostream &, test_unit const &);
    Invoked when a test unit times-out.
  19. 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 . 

  20. virtual log_level get_log_level() const;
    Returns the log level of the logger/formatter.

    Since Boost 1.62 . 

  21. 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 . 

compiler_log_formatter protected member functions

  1. virtual void print_prefix(std::ostream &, const_string file, std::size_t line);

PrevUpHomeNext