8#ifndef INCLUDED_BSLS_FUZZTEST
9#define INCLUDED_BSLS_FUZZTEST
259#include <bsls_assert.h>
268#if defined(BDE_BUILD_TARGET_EXC)
269#define BSLS_FUZZTEST_EVALUATE_IMP(X) do { \
271 BloombergLP::bsls::FuzzTestPreconditionTracker::initStaticState( \
275 catch (BloombergLP::bsls::FuzzTestPreconditionException& ftpe) { \
276 BloombergLP::bsls::FuzzTestPreconditionTracker::handleException( \
281#define BSLS_FUZZTEST_EVALUATE_RAW_IMP(X) do { \
283 BloombergLP::bsls::FuzzTestPreconditionTracker::initStaticState( \
287 catch (BloombergLP::bsls::FuzzTestPreconditionException& ftpe) { \
292#define BSLS_FUZZTEST_EVALUATE_IMP(X) do { \
295#define BSLS_FUZZTEST_EVALUATE_RAW_IMP(X) do { \
300#ifdef BDE_ACTIVATE_FUZZ_TESTING
302#define BSLS_FUZZTEST_EVALUATE(X) BSLS_FUZZTEST_EVALUATE_IMP(X)
304#define BSLS_FUZZTEST_EVALUATE_RAW(X) BSLS_FUZZTEST_EVALUATE_RAW_IMP(X)
307#define BSLS_FUZZTEST_EVALUATE(X) do { \
311#define BSLS_FUZZTEST_EVALUATE_RAW(X) do { \
333 static const char *s_file_p;
336 s_isInFirstPreconditionBlock;
400 *s_currentFuzzTestHandlerGuard_p;
405 originalAssertionHandler;
408 originalReviewHandler;
476 s_currentFuzzTestHandlerGuard_p =
this;
493 s_currentFuzzTestHandlerGuard_p = NULL;
500 return s_currentFuzzTestHandlerGuard_p;
506 return originalAssertionHandler;
512 return originalReviewHandler;
Definition bsls_assert.h:2139
static Assert::ViolationHandler violationHandler()
static void setViolationHandler(Assert::ViolationHandler function)
void(* ViolationHandler)(const AssertViolation &)
Definition bsls_assert.h:2220
Definition bsls_fuzztest.h:395
Review::ViolationHandler getOriginalReviewHandler()
Return the original review handler.
Definition bsls_fuzztest.h:510
FuzzTestHandlerGuard()
Definition bsls_fuzztest.h:454
~FuzzTestHandlerGuard()
Definition bsls_fuzztest.h:480
static FuzzTestHandlerGuard * instance()
Definition bsls_fuzztest.h:497
Assert::ViolationHandler getOriginalAssertionHandler()
Return the original assertion handler.
Definition bsls_fuzztest.h:504
Definition bsls_fuzztestpreconditionexception.h:115
static void installHandlers(PreconditionHandlerType beginHandler, PreconditionHandlerType endHandler)
static void noOpHandler()
Do nothing.
Definition bsls_review.h:1097
static Review::ViolationHandler violationHandler()
static void setViolationHandler(Review::ViolationHandler function)
void(* ViolationHandler)(const ReviewViolation &)
Definition bsls_review.h:1196
#define BSLS_ASSERT(X)
Definition bsls_assert.h:1976
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
Definition bdlt_iso8601util.h:707
Definition bsls_fuzztest.h:329
static void handleException(const FuzzTestPreconditionException &exception)
static void initStaticState(const char *fileName)
static void handlePreconditionsBegin()
Increment the assertion/review block depth level counter.
static void handlePreconditionsEnd()
static void handleReviewViolation(const ReviewViolation &violation)
static void handleAssertViolation(const AssertViolation &violation)