1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- [/
- / Copyright (c) 2001 Boost.Test contributors
- /
- / Distributed under the Boost Software License, Version 1.0. (See accompanying
- / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- /]
- [section:checkpoints Checkpoints for accurate failure location]
- In most cases, the __UTF__ can't provide an exact location where system error occurs or uncaught C++ exception
- is thrown from. To be able to pinpoint it as close as possible the __UTF__ keeps track of *checkpoints* - the
- location a test module passed through.
- The __UTF__ keeps track of checkpoints at test case entrance, exit, fixture initialization, and at test tool invocation point.
- Any other checkpoints should be entered by you manually if you need more granularity in case a fatal
- error occurs during the test. The __UTF__ provides two macros for this purpose:
- * [link ref_named_checkpoint `BOOST_TEST_CHECKPOINT`] to specify a ['named] checkpoint and
- * [link ref_unnamed_checkpoint `BOOST_TEST_PASSPOINT`] to specify an ['unnamed] checkpoint.
- The checkpoints are also convenient for checks in loops as they might provide
- more information about the occurrence of a failure (although superseded by
- [links boost_test.test_output.test_tools_support_for_logging.contexts contexts]).
- [/ -------------------------------------------------------------------------------------------------- ]
- [#ref_named_checkpoint][h3 Named checkpoints]
- The macro __BOOST_TEST_CHECKPOINT__ is intended to be used to inject [*named] checkpoint position. The
- macro signature is as follows:
- ``
- __BOOST_TEST_CHECKPOINT__(checkpoint_message);
- ``
- The message formatted at the checkpoint position is saved and reported by the exception logging functions (if any
- occurs). Similarly to the __BOOST_TEST_MESSAGE__ the message can be formatted from any standard
- output stream compliant components.
- [bt_example example22..__BOOST_TEST_CHECKPOINT__ usage..run-fail]
- [/ -------------------------------------------------------------------------------------------------- ]
- [#ref_unnamed_checkpoint][h3 Unnamed checkpoints]
- The macro __BOOST_TEST_PASSPOINT__ is intended to be used to inject an [*unnamed] checkpoint position. The
- macro signature is as follows:
- ``
- __BOOST_TEST_PASSPOINT__();
- ``
- Unlike the macro __BOOST_TEST_CHECKPOINT__ this macro doesn't require any message to be
- supplied with it. It's just a simple "been there" marker that records file name and line number
- code passes through.
- [bt_example example23..__BOOST_TEST_PASSPOINT__ usage..run-fail]
- [endsect] [/checkpoints]
|