suricata
Testing

Unit testing support functions. More...

Data Structures

struct  UtTest_
 

Macros

#define MAX_SUBSTRINGS   30
 
#define FAIL
 
#define FAIL_IF(expr)
 Fail a test if expression evaluates to false. More...
 
#define FAIL_IF_NOT(expr)
 Fail a test if expression to true. More...
 
#define FAIL_IF_NULL(expr)
 Fail a test if expression evaluates to NULL. More...
 
#define FAIL_IF_NOT_NULL(expr)
 Fail a test if expression evaluates to non-NULL. More...
 
#define PASS
 Pass the test. More...
 
#define PASS_IF(expr)
 Pass the test if expression evaluates to true. More...
 

Typedefs

typedef struct UtTest_ UtTest
 

Functions

void UtRegisterTest (const char *name, int(*TestFn)(void))
 Register unit test. More...
 
void UtListTests (const char *regex_arg)
 List all registered unit tests. More...
 
uint32_t UtRunTests (const char *regex_arg)
 Run all registered unittests. More...
 
void UtInitialize (void)
 Initialize unit test list. More...
 
void UtCleanup (void)
 Cleanup unit test list. More...
 
void UtRunModeRegister (void)
 
int UtRunSelftest (const char *regex_arg)
 Run self tests. More...
 

Variables

int unittests_fatal = 0
 
int unittests_fatal
 

Detailed Description

Unit testing support functions.

Macro Definition Documentation

◆ FAIL

#define FAIL
Value:
do { \
if (unittests_fatal) { \
BUG_ON(1); \
} else { \
return 0; \
} \
} while (0)

\breif Fail a test.

Definition at line 60 of file util-unittest.h.

◆ FAIL_IF

#define FAIL_IF (   expr)
Value:
do { \
if (unittests_fatal) { \
BUG_ON(expr); \
} else if (expr) { \
return 0; \
} \
} while (0)

Fail a test if expression evaluates to false.

Definition at line 71 of file util-unittest.h.

◆ FAIL_IF_NOT

#define FAIL_IF_NOT (   expr)
Value:
do { \
FAIL_IF(!(expr)); \
} while (0)

Fail a test if expression to true.

Definition at line 82 of file util-unittest.h.

◆ FAIL_IF_NOT_NULL

#define FAIL_IF_NOT_NULL (   expr)
Value:
do { \
FAIL_IF(NULL != expr); \
} while (0)

Fail a test if expression evaluates to non-NULL.

Definition at line 96 of file util-unittest.h.

◆ FAIL_IF_NULL

#define FAIL_IF_NULL (   expr)
Value:
do { \
FAIL_IF(NULL == expr); \
} while (0)

Fail a test if expression evaluates to NULL.

Definition at line 89 of file util-unittest.h.

◆ MAX_SUBSTRINGS

#define MAX_SUBSTRINGS   30

Definition at line 154 of file util-unittest.c.

◆ PASS

#define PASS
Value:
do { \
return 1; \
} while (0)

Pass the test.

Only to be used at the end of a function instead instead of "return 1."

Definition at line 105 of file util-unittest.h.

◆ PASS_IF

#define PASS_IF (   expr)
Value:
do { \
FAIL_IF(!(expr)); \
PASS; \
} while (0)

Pass the test if expression evaluates to true.

Only to be used at the end of a function instead of returning the result of an expression.

Definition at line 117 of file util-unittest.h.

Typedef Documentation

◆ UtTest

typedef struct UtTest_ UtTest

Function Documentation

◆ UtCleanup()

void UtCleanup ( void  )

Cleanup unit test list.

Definition at line 265 of file util-unittest.c.

◆ UtInitialize()

void UtInitialize ( void  )

Initialize unit test list.

Definition at line 256 of file util-unittest.c.

Referenced by RunUnittests(), and UtRunSelftest().

Here is the caller graph for this function:

◆ UtListTests()

void UtListTests ( const char *  regex_arg)

List all registered unit tests.

Parameters
regex_argRegular expression to limit listed tests.

Definition at line 160 of file util-unittest.c.

References MAX_SUBSTRINGS.

◆ UtRegisterTest()

void UtRegisterTest ( const char *  name,
int(*)(void)  TestFn 
)

Register unit test.

Parameters
nameUnit test name
TestFnUnit test function

Definition at line 103 of file util-unittest.c.

Referenced by AlertFastLogRegisterTests(), AppLayerHtpFileRegisterTests(), AppLayerProtoDetectUnittestsRegister(), AppLayerUnittestsRegister(), BloomFilterCountingRegisterTests(), BloomFilterRegisterTests(), ByteRegisterTests(), ConfRegisterTests(), ConfYamlRegisterTests(), DCERPCParserRegisterTests(), DCERPCUDPParserRegisterTests(), DecodeAsn1RegisterTests(), DecodeEthernetRegisterTests(), DecodeGRERegisterTests(), DecodeICMPV4RegisterTests(), DecodeICMPV6RegisterTests(), DecodeIPV4RegisterTests(), DecodeIPV6RegisterTests(), DecodeMPLSRegisterTests(), DecodePPPOERegisterTests(), DecodePPPRegisterTests(), DecodeRawRegisterTests(), DecodeTCPRegisterTests(), DecodeUDPV4RegisterTests(), DecodeVLANRegisterTests(), DecodeVXLANRegisterTests(), DefragRegisterTests(), DeStateRegisterTests(), DetectAddressIPv4Tests(), DetectAddressIPv6Tests(), DetectAddressTests(), DetectEngineContentInspectionRegisterTests(), DetectEngineInspectENIPRegisterTests(), DetectEngineInspectModbusRegisterTests(), DetectEngineRegisterTests(), DetectEngineTagRegisterTests(), DetectFiledataRegisterTests(), DetectFlowintRegisterTests(), DetectFlowRegisterTests(), DetectFragOffsetRegisterTests(), DetectHttpClientBodyRegisterTests(), DetectHttpHeaderRegisterTests(), DetectHttpHHRegisterTests(), DetectHttpMethodRegisterTests(), DetectHttpRawHeaderRegisterTests(), DetectHttpServerBodyRegisterTests(), DetectHttpStatCodeRegisterTests(), DetectHttpStatMsgRegisterTests(), DetectIcmpIdRegisterTests(), DetectIcmpSeqRegisterTests(), DetectICMPv6hdrRegisterTests(), DetectICMPv6mtuRegisterTests(), DetectICodeRegisterTests(), DetectIdRegisterTests(), DetectIpv4hdrRegisterTests(), DetectIpv6hdrRegisterTests(), DetectITypeRegisterTests(), DetectL3protoRegisterTests(), DetectModbusRegisterTests(), DetectMsgRegisterTests(), DetectParseRegisterTests(), DetectPortTests(), DetectProtoTests(), DetectReplaceRegisterTests(), DetectRpcRegisterTests(), DetectStreamSizeRegisterTests(), DetectTagRegisterTests(), DetectTcphdrRegisterTests(), DetectTcpmssRegisterTests(), DetectTemplate2RegisterTests(), DetectTemplateRegisterTests(), DetectTtlRegisterTests(), DetectUdphdrRegisterTests(), DetectUrilenRegisterTests(), DetectWindowRegisterTests(), DetectWithinRegisterTests(), DNP3ParserRegisterTests(), EngineEventRegisterTests(), ENIPParserRegisterTests(), FlagsRegisterTests(), FlowBitRegisterTests(), FlowBitsRegisterTests(), FlowMgrRegisterTests(), FlowRegisterTests(), FragBitsRegisterTests(), FTPParserRegisterTests(), GidRegisterTests(), HashListTableRegisterTests(), HashTableRegisterTests(), HostBitRegisterTests(), HostBitsRegisterTests(), HTPFileParserRegisterTests(), HTPParserRegisterTests(), HTPXFFParserRegisterTests(), IPOnlyRegisterTests(), IpOptsRegisterTests(), IPPairBitRegisterTests(), IPRepRegisterTests(), MagicRegisterTests(), MarkRegisterTests(), MemcmpRegisterTests(), MemrchrRegisterTests(), MimeDecRegisterTests(), ModbusParserRegisterTests(), PayloadRegisterTests(), PoolRegisterTests(), PoolThreadRegisterTests(), RegisterFlowStorageTests(), RegisterHostStorageTests(), RegisterIPPairStorageTests(), RFBParserRegisterTests(), RfbSecresultRegisterTests(), SCACBSRegisterTests(), SCACRegisterTests(), SCACTileRegisterTests(), SCAtomicRegisterTests(), SCClassConfRegisterTests(), SCHInfoRegisterTests(), SCLogRegisterTests(), SCPriorityRegisterTests(), SCProfilingRegisterTests(), SCRadixRegisterTests(), SCRConfRegisterTests(), SCReputationRegisterTests(), SCRuleVarsRegisterTests(), SCSigRegisterSignatureOrderingTests(), SCThresholdConfRegisterTests(), SigGroupHeadRegisterTests(), SigParseRegisterTests(), SigRegisterTests(), SMTPParserRegisterTests(), SSHParserRegisterTests(), SSLParserRegisterTests(), StatsRegisterTests(), StorageRegisterTests(), StreamingBufferRegisterTests(), StreamTcpInlineRegisterTests(), StreamTcpListRegisterTests(), StreamTcpReassembleRegisterTests(), StreamTcpRegisterTests(), StreamTcpSackRegisterTests(), StreamTcpUtilRegisterTests(), ThreadMacrosRegisterTests(), ThresholdRegisterTests(), TlsExpiredRegisterTests(), TlsNotAfterRegisterTests(), TlsNotBeforeRegisterTests(), TlsValidRegisterTests(), TmqhFlowRegisterTests(), UTHRegisterTests(), UtilActionRegisterTests(), UtilMiscRegisterTests(), UtilSpmSearchRegistertests(), UtRunSelftest(), and XBitsRegisterTests().

◆ UtRunModeRegister()

void UtRunModeRegister ( void  )

Definition at line 279 of file util-unittest.c.

References RUNMODE_UNITTEST, and RunModeRegisterNewRunMode().

Here is the call graph for this function:

◆ UtRunSelftest()

int UtRunSelftest ( const char *  regex_arg)

Run self tests.

Parameters
regex_argThe regular expression
Return values
0all successful

Definition at line 322 of file util-unittest.c.

References UtInitialize(), and UtRegisterTest().

Referenced by RunUnittests().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ UtRunTests()

uint32_t UtRunTests ( const char *  regex_arg)

Run all registered unittests.

Parameters
regex_argThe regular expression
Return values
0all successful
resultnumber of tests that failed

Definition at line 190 of file util-unittest.c.

References MAX_SUBSTRINGS, StreamTcpInitMemuse(), and StreamTcpReassembleInitMemuse().

Here is the call graph for this function:

Variable Documentation

◆ unittests_fatal [1/2]

int unittests_fatal = 0

Definition at line 52 of file util-unittest.c.

◆ unittests_fatal [2/2]

int unittests_fatal

Definition at line 52 of file util-unittest.c.

unittests_fatal
int unittests_fatal
Definition: util-unittest.c:52