Add unittest registration to the threading modules api.

remotes/origin/master-1.0.x
Victor Julien 17 years ago
parent cd19ee8bf2
commit 6c1f2071be

@ -44,6 +44,7 @@ void TmModuleAlertFastlogRegister (void) {
tmm_modules[TMM_ALERTFASTLOG].Init = AlertFastlogThreadInit; tmm_modules[TMM_ALERTFASTLOG].Init = AlertFastlogThreadInit;
tmm_modules[TMM_ALERTFASTLOG].Func = AlertFastlog; tmm_modules[TMM_ALERTFASTLOG].Func = AlertFastlog;
tmm_modules[TMM_ALERTFASTLOG].Deinit = AlertFastlogThreadDeinit; tmm_modules[TMM_ALERTFASTLOG].Deinit = AlertFastlogThreadDeinit;
tmm_modules[TMM_ALERTFASTLOG].RegisterTests = NULL;
} }
void TmModuleAlertFastlogIPv4Register (void) { void TmModuleAlertFastlogIPv4Register (void) {
@ -51,6 +52,7 @@ void TmModuleAlertFastlogIPv4Register (void) {
tmm_modules[TMM_ALERTFASTLOG4].Init = AlertFastlogThreadInit; tmm_modules[TMM_ALERTFASTLOG4].Init = AlertFastlogThreadInit;
tmm_modules[TMM_ALERTFASTLOG4].Func = AlertFastlogIPv4; tmm_modules[TMM_ALERTFASTLOG4].Func = AlertFastlogIPv4;
tmm_modules[TMM_ALERTFASTLOG4].Deinit = AlertFastlogThreadDeinit; tmm_modules[TMM_ALERTFASTLOG4].Deinit = AlertFastlogThreadDeinit;
tmm_modules[TMM_ALERTFASTLOG4].RegisterTests = NULL;
} }
void TmModuleAlertFastlogIPv6Register (void) { void TmModuleAlertFastlogIPv6Register (void) {
@ -58,6 +60,7 @@ void TmModuleAlertFastlogIPv6Register (void) {
tmm_modules[TMM_ALERTFASTLOG6].Init = AlertFastlogThreadInit; tmm_modules[TMM_ALERTFASTLOG6].Init = AlertFastlogThreadInit;
tmm_modules[TMM_ALERTFASTLOG6].Func = AlertFastlogIPv6; tmm_modules[TMM_ALERTFASTLOG6].Func = AlertFastlogIPv6;
tmm_modules[TMM_ALERTFASTLOG6].Deinit = AlertFastlogThreadDeinit; tmm_modules[TMM_ALERTFASTLOG6].Deinit = AlertFastlogThreadDeinit;
tmm_modules[TMM_ALERTFASTLOG6].RegisterTests = NULL;
} }
typedef struct _AlertFastlogThread { typedef struct _AlertFastlogThread {

@ -42,6 +42,7 @@ void TmModuleAlertUnifiedAlertRegister (void) {
tmm_modules[TMM_ALERTUNIFIEDALERT].Init = AlertUnifiedAlertThreadInit; tmm_modules[TMM_ALERTUNIFIEDALERT].Init = AlertUnifiedAlertThreadInit;
tmm_modules[TMM_ALERTUNIFIEDALERT].Func = AlertUnifiedAlert; tmm_modules[TMM_ALERTUNIFIEDALERT].Func = AlertUnifiedAlert;
tmm_modules[TMM_ALERTUNIFIEDALERT].Deinit = AlertUnifiedAlertThreadDeinit; tmm_modules[TMM_ALERTUNIFIEDALERT].Deinit = AlertUnifiedAlertThreadDeinit;
tmm_modules[TMM_ALERTUNIFIEDALERT].RegisterTests = NULL;
} }
typedef struct _AlertUnifiedAlertThread { typedef struct _AlertUnifiedAlertThread {

@ -42,6 +42,7 @@ void TmModuleAlertUnifiedLogRegister (void) {
tmm_modules[TMM_ALERTUNIFIEDLOG].Init = AlertUnifiedLogThreadInit; tmm_modules[TMM_ALERTUNIFIEDLOG].Init = AlertUnifiedLogThreadInit;
tmm_modules[TMM_ALERTUNIFIEDLOG].Func = AlertUnifiedLog; tmm_modules[TMM_ALERTUNIFIEDLOG].Func = AlertUnifiedLog;
tmm_modules[TMM_ALERTUNIFIEDLOG].Deinit = AlertUnifiedLogThreadDeinit; tmm_modules[TMM_ALERTUNIFIEDLOG].Deinit = AlertUnifiedLogThreadDeinit;
tmm_modules[TMM_ALERTUNIFIEDLOG].RegisterTests = NULL;
} }
typedef struct _AlertUnifiedLogThread { typedef struct _AlertUnifiedLogThread {

@ -75,6 +75,7 @@ void TmModuleDetectRegister (void) {
tmm_modules[TMM_DETECT].Init = DetectThreadInit; tmm_modules[TMM_DETECT].Init = DetectThreadInit;
tmm_modules[TMM_DETECT].Func = Detect; tmm_modules[TMM_DETECT].Func = Detect;
tmm_modules[TMM_DETECT].Deinit = DetectThreadDeinit; tmm_modules[TMM_DETECT].Deinit = DetectThreadDeinit;
tmm_modules[TMM_DETECT].RegisterTests = NULL;
} }
Signature *sig_tree_proto[256]; Signature *sig_tree_proto[256];

@ -28,6 +28,7 @@ void TmModuleReceiveNFQRegister (void) {
tmm_modules[TMM_RECEIVENFQ].Init = NULL; tmm_modules[TMM_RECEIVENFQ].Init = NULL;
tmm_modules[TMM_RECEIVENFQ].Func = ReceiveNFQ; tmm_modules[TMM_RECEIVENFQ].Func = ReceiveNFQ;
tmm_modules[TMM_RECEIVENFQ].Deinit = NULL; tmm_modules[TMM_RECEIVENFQ].Deinit = NULL;
tmm_modules[TMM_RECEIVENFQ].RegisterTests = NULL;
} }
void TmModuleVerdictNFQRegister (void) { void TmModuleVerdictNFQRegister (void) {
@ -35,6 +36,7 @@ void TmModuleVerdictNFQRegister (void) {
tmm_modules[TMM_VERDICTNFQ].Init = NULL; tmm_modules[TMM_VERDICTNFQ].Init = NULL;
tmm_modules[TMM_VERDICTNFQ].Func = VerdictNFQ; tmm_modules[TMM_VERDICTNFQ].Func = VerdictNFQ;
tmm_modules[TMM_VERDICTNFQ].Deinit = NULL; tmm_modules[TMM_VERDICTNFQ].Deinit = NULL;
tmm_modules[TMM_VERDICTNFQ].RegisterTests = NULL;
} }
void TmModuleDecodeNFQRegister (void) { void TmModuleDecodeNFQRegister (void) {
@ -42,6 +44,7 @@ void TmModuleDecodeNFQRegister (void) {
tmm_modules[TMM_DECODENFQ].Init = NULL; tmm_modules[TMM_DECODENFQ].Init = NULL;
tmm_modules[TMM_DECODENFQ].Func = DecodeNFQ; tmm_modules[TMM_DECODENFQ].Func = DecodeNFQ;
tmm_modules[TMM_DECODENFQ].Deinit = NULL; tmm_modules[TMM_DECODENFQ].Deinit = NULL;
tmm_modules[TMM_DECODENFQ].RegisterTests = NULL;
} }
void NFQSetupPkt (Packet *p, void *data) void NFQSetupPkt (Packet *p, void *data)

@ -32,3 +32,19 @@ TmModule *TmModuleGetByName(char *name) {
return NULL; return NULL;
} }
void TmModuleRegisterTests(void) {
TmModule *t;
u_int16_t i;
for (i = 0; i < TMM_SIZE; i++) {
t = &tmm_modules[i];
if (t->RegisterTests == NULL) {
printf("Warning: threading module %s has no unittest "
"registration function.\n", t->name);
} else {
t->RegisterTests();
}
}
}

@ -6,6 +6,7 @@ typedef struct _TmModule {
int (*Init)(ThreadVars *, void **); int (*Init)(ThreadVars *, void **);
int (*Func)(ThreadVars *, Packet *, void *); int (*Func)(ThreadVars *, Packet *, void *);
int (*Deinit)(ThreadVars *, void *); int (*Deinit)(ThreadVars *, void *);
void (*RegisterTests)(void);
} TmModule; } TmModule;
enum { enum {
@ -27,6 +28,7 @@ TmModule tmm_modules[TMM_SIZE];
TmModule *TmModuleGetByName(char *name); TmModule *TmModuleGetByName(char *name);
int TmModuleRegister(char *name, int (*module_func)(ThreadVars *, Packet *, void *)); int TmModuleRegister(char *name, int (*module_func)(ThreadVars *, Packet *, void *));
void TmModuleDebugList(void); void TmModuleDebugList(void);
void TmModuleRegisterTests(void);
#endif /* __TM_MODULES_H__ */ #endif /* __TM_MODULES_H__ */

@ -289,9 +289,21 @@ int main(int argc, char **argv)
BinSearchInit(); BinSearchInit();
CIDRInit(); CIDRInit();
TmModuleReceiveNFQRegister();
TmModuleVerdictNFQRegister();
TmModuleDecodeNFQRegister();
TmModuleDetectRegister();
TmModuleAlertFastlogRegister();
TmModuleAlertFastlogIPv4Register();
TmModuleAlertFastlogIPv6Register();
TmModuleAlertUnifiedLogRegister();
TmModuleAlertUnifiedAlertRegister();
TmModuleDebugList();
/* test and initialize the unittesting subsystem */ /* test and initialize the unittesting subsystem */
UtRunSelftest(); /* inits and cleans up again */ UtRunSelftest(); /* inits and cleans up again */
UtInitialize(); UtInitialize();
TmModuleRegisterTests();
MpmRegisterTests(); MpmRegisterTests();
SigTableRegisterTests(); SigTableRegisterTests();
SigRegisterTests(); SigRegisterTests();
@ -301,17 +313,6 @@ int main(int argc, char **argv)
//LoadConfig(); //LoadConfig();
//exit(1); //exit(1);
TmModuleReceiveNFQRegister();
TmModuleVerdictNFQRegister();
TmModuleDecodeNFQRegister();
TmModuleDetectRegister();
TmModuleAlertFastlogRegister();
TmModuleAlertFastlogIPv4Register();
TmModuleAlertFastlogIPv6Register();
TmModuleAlertUnifiedLogRegister();
TmModuleAlertUnifiedAlertRegister();
TmModuleDebugList();
/* initialize packet queues */ /* initialize packet queues */
memset(&packet_q,0,sizeof(packet_q)); memset(&packet_q,0,sizeof(packet_q));
memset(&trans_q, 0,sizeof(trans_q)); memset(&trans_q, 0,sizeof(trans_q));

Loading…
Cancel
Save