Quick Links: |
#include <bsls_fuzztest.h>
Static Public Member Functions | |
static void | handleException (const FuzzTestPreconditionException &exception) |
static void | handlePreconditionViolation (const AssertViolation &violation) |
static void | handlePreconditionsBegin () |
static void | handlePreconditionsEnd () |
static void | initStaticState (const char *fileName) |
This utility class is used by the preprocessor macros to appropriately handle precondition violations that occur in different levels and components.
static void bsls::FuzzTestPreconditionTracker::handleException | ( | const FuzzTestPreconditionException & | exception | ) | [static] |
Invoke the assertion handler returned by FuzzTestHandlerGuard::getOriginalAssertionHandler
if the assertion violation wrapped by the specified exception
was encountered in a component different from one supplied to initStaticState
, and do nothing otherwise.
static void bsls::FuzzTestPreconditionTracker::handlePreconditionViolation | ( | const AssertViolation & | violation | ) | [static] |
Throw a FuzzTestPreconditionException
constructed from the specified violation
if the assertion violation occurred after the first invocation of handlePreconditionsBegin
but before the first invocation of handlePreconditionsEnd
, and invoke the assertion handler returned by FuzzTestHandlerGuard::getOriginalAssertionHandler
otherwise.
static void bsls::FuzzTestPreconditionTracker::handlePreconditionsBegin | ( | ) | [static] |
Increment the assertion block depth level counter.
static void bsls::FuzzTestPreconditionTracker::handlePreconditionsEnd | ( | ) | [static] |
Decrement the assertion block depth level counter and record that the first precondition block has ended if the depth level changed to 0. The behavior is undefined unless the depth level is positive.
static void bsls::FuzzTestPreconditionTracker::initStaticState | ( | const char * | fileName | ) | [static] |
Store the specified fileName
from the caller that invokes the top-level function under test (via BSLS_FUZZTEST_EVALUATE(X)
), and set the state to reflect that any precondition begin macro encountered will be the first.