From: Daniel Olatunji Date: Mon, 30 Oct 2023 01:13:17 +0000 (+0000) Subject: detect/bytejump: convert unittests to FAIL/PASS X-Git-Tag: suricata-7.0.3~93 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d4e4bdac905d70ed36cb778eecf5b2178e8aba22;p=thirdparty%2Fsuricata.git detect/bytejump: convert unittests to FAIL/PASS Issue: #6328 --- diff --git a/src/detect-bytejump.c b/src/detect-bytejump.c index 1c851b7192..b0b0347746 100644 --- a/src/detect-bytejump.c +++ b/src/detect-bytejump.c @@ -632,15 +632,12 @@ static int g_dce_stub_data_buffer_id = 0; */ static int DetectBytejumpTestParse01(void) { - int result = 0; DetectBytejumpData *data = NULL; data = DetectBytejumpParse(NULL, "4,0", NULL, NULL); - if (data != NULL) { - DetectBytejumpFree(NULL, data); - result = 1; - } + FAIL_IF_NULL(data); - return result; + DetectBytejumpFree(NULL, data); + PASS; } /** @@ -648,23 +645,18 @@ static int DetectBytejumpTestParse01(void) */ static int DetectBytejumpTestParse02(void) { - int result = 0; DetectBytejumpData *data = NULL; data = DetectBytejumpParse(NULL, "4, 0", NULL, NULL); - if (data != NULL) { - if ( (data->nbytes == 4) - && (data->offset == 0) - && (data->multiplier == 1) - && (data->post_offset == 0) - && (data->flags == 0) - && (data->base == DETECT_BYTEJUMP_BASE_UNSET)) - { - result = 1; - } - DetectBytejumpFree(NULL, data); - } + FAIL_IF_NULL(data); + FAIL_IF_NOT(data->nbytes == 4); + FAIL_IF_NOT(data->offset == 0); + FAIL_IF_NOT(data->multiplier == 1); + FAIL_IF_NOT(data->post_offset == 0); + FAIL_IF_NOT(data->flags == 0); + FAIL_IF_NOT(data->base == DETECT_BYTEJUMP_BASE_UNSET); - return result; + DetectBytejumpFree(NULL, data); + PASS; } /** @@ -672,30 +664,23 @@ static int DetectBytejumpTestParse02(void) */ static int DetectBytejumpTestParse03(void) { - int result = 0; DetectBytejumpData *data = NULL; data = DetectBytejumpParse(NULL, " 4,0 , relative , little, string, " "dec, align, from_beginning", NULL, NULL); - if (data != NULL) { - if ( (data->nbytes == 4) - && (data->offset == 0) - && (data->multiplier == 1) - && (data->post_offset == 0) - && (data->flags == ( DETECT_BYTEJUMP_RELATIVE - |DETECT_BYTEJUMP_LITTLE - |DETECT_BYTEJUMP_STRING - |DETECT_BYTEJUMP_ALIGN - |DETECT_BYTEJUMP_BEGIN)) - && (data->base == DETECT_BYTEJUMP_BASE_DEC)) - { - result = 1; - } - DetectBytejumpFree(NULL, data); - } + FAIL_IF_NULL(data); + FAIL_IF_NOT(data->nbytes == 4); + FAIL_IF_NOT(data->offset == 0); + FAIL_IF_NOT(data->multiplier == 1); + FAIL_IF_NOT(data->post_offset == 0); + FAIL_IF_NOT(data->flags == + (DETECT_BYTEJUMP_RELATIVE | DETECT_BYTEJUMP_LITTLE | DETECT_BYTEJUMP_STRING | + DETECT_BYTEJUMP_ALIGN | DETECT_BYTEJUMP_BEGIN)); + FAIL_IF_NOT(data->base == DETECT_BYTEJUMP_BASE_DEC); - return result; + DetectBytejumpFree(NULL, data); + PASS; } /** @@ -706,31 +691,24 @@ static int DetectBytejumpTestParse03(void) */ static int DetectBytejumpTestParse04(void) { - int result = 0; DetectBytejumpData *data = NULL; data = DetectBytejumpParse(NULL, " 4,0 , relative , little, string, " "dec, align, from_beginning , " "multiplier 2 , post_offset -16 ", NULL, NULL); - if (data != NULL) { - if ( (data->nbytes == 4) - && (data->offset == 0) - && (data->multiplier == 2) - && (data->post_offset == -16) - && (data->flags == ( DETECT_BYTEJUMP_RELATIVE - |DETECT_BYTEJUMP_LITTLE - |DETECT_BYTEJUMP_ALIGN - |DETECT_BYTEJUMP_STRING - |DETECT_BYTEJUMP_BEGIN)) - && (data->base == DETECT_BYTEJUMP_BASE_DEC)) - { - result = 1; - } - DetectBytejumpFree(NULL, data); - } + FAIL_IF_NULL(data); + FAIL_IF_NOT(data->nbytes == 4); + FAIL_IF_NOT(data->offset == 0); + FAIL_IF_NOT(data->multiplier == 2); + FAIL_IF_NOT(data->post_offset == -16); + FAIL_IF_NOT(data->flags == + (DETECT_BYTEJUMP_RELATIVE | DETECT_BYTEJUMP_LITTLE | DETECT_BYTEJUMP_ALIGN | + DETECT_BYTEJUMP_STRING | DETECT_BYTEJUMP_BEGIN)); + FAIL_IF_NOT(data->base == DETECT_BYTEJUMP_BASE_DEC); - return result; + DetectBytejumpFree(NULL, data); + PASS; } /** @@ -738,17 +716,14 @@ static int DetectBytejumpTestParse04(void) */ static int DetectBytejumpTestParse05(void) { - int result = 0; DetectBytejumpData *data = NULL; data = DetectBytejumpParse(NULL, " 4,0 , relative , little, dec, " "align, from_beginning", NULL, NULL); - if (data == NULL) { - result = 1; - } + FAIL_IF_NOT_NULL(data); - return result; + PASS; } /** @@ -756,14 +731,11 @@ static int DetectBytejumpTestParse05(void) */ static int DetectBytejumpTestParse06(void) { - int result = 0; DetectBytejumpData *data = NULL; data = DetectBytejumpParse(NULL, "9, 0", NULL, NULL); - if (data == NULL) { - result = 1; - } + FAIL_IF_NOT_NULL(data); - return result; + PASS; } /** @@ -771,14 +743,11 @@ static int DetectBytejumpTestParse06(void) */ static int DetectBytejumpTestParse07(void) { - int result = 0; DetectBytejumpData *data = NULL; data = DetectBytejumpParse(NULL, "24, 0, string, dec", NULL, NULL); - if (data == NULL) { - result = 1; - } + FAIL_IF_NOT_NULL(data); - return result; + PASS; } /** @@ -786,14 +755,11 @@ static int DetectBytejumpTestParse07(void) */ static int DetectBytejumpTestParse08(void) { - int result = 0; DetectBytejumpData *data = NULL; data = DetectBytejumpParse(NULL, "4, 0xffffffffffffffff", NULL, NULL); - if (data == NULL) { - result = 1; - } + FAIL_IF_NOT_NULL(data); - return result; + PASS; } /** @@ -856,11 +822,11 @@ static int DetectBytejumpTestParse10(void) FAIL_IF_NOT(sm->type == DETECT_BYTEJUMP); DetectBytejumpData *bd = (DetectBytejumpData *)sm->ctx; - if (!(bd->flags & DETECT_BYTEJUMP_DCE) && !(bd->flags & DETECT_BYTEJUMP_RELATIVE) && - (bd->flags & DETECT_BYTEJUMP_STRING) && (bd->flags & DETECT_BYTEJUMP_BIG) && - (bd->flags & DETECT_BYTEJUMP_LITTLE)) { - goto end; - } + FAIL_IF_NOT(bd->flags & DETECT_BYTEJUMP_DCE); + FAIL_IF_NOT(bd->flags & DETECT_BYTEJUMP_RELATIVE); + FAIL_IF(bd->flags & DETECT_BYTEJUMP_STRING); + FAIL_IF(bd->flags & DETECT_BYTEJUMP_BIG); + FAIL_IF(bd->flags & DETECT_BYTEJUMP_LITTLE); s = DetectEngineAppendSig(de_ctx, "alert tcp any any -> any any " "(msg:\"Testing bytejump_body\"; " @@ -879,11 +845,11 @@ static int DetectBytejumpTestParse10(void) FAIL_IF_NOT(sm->type == DETECT_BYTEJUMP); bd = (DetectBytejumpData *)sm->ctx; - if (!(bd->flags & DETECT_BYTEJUMP_DCE) && !(bd->flags & DETECT_BYTEJUMP_RELATIVE) && - (bd->flags & DETECT_BYTEJUMP_STRING) && (bd->flags & DETECT_BYTEJUMP_BIG) && - (bd->flags & DETECT_BYTEJUMP_LITTLE)) { - goto end; - } + FAIL_IF_NOT(bd->flags & DETECT_BYTEJUMP_DCE); + FAIL_IF_NOT(bd->flags & DETECT_BYTEJUMP_RELATIVE); + FAIL_IF(bd->flags & DETECT_BYTEJUMP_STRING); + FAIL_IF(bd->flags & DETECT_BYTEJUMP_BIG); + FAIL_IF(bd->flags & DETECT_BYTEJUMP_LITTLE); s = DetectEngineAppendSig(de_ctx, "alert tcp any any -> any any " "(msg:\"Testing bytejump_body\"; " @@ -902,13 +868,12 @@ static int DetectBytejumpTestParse10(void) FAIL_IF_NOT(sm->type == DETECT_BYTEJUMP); bd = (DetectBytejumpData *)sm->ctx; - if ((bd->flags & DETECT_BYTEJUMP_DCE) && !(bd->flags & DETECT_BYTEJUMP_RELATIVE) && - (bd->flags & DETECT_BYTEJUMP_STRING) && (bd->flags & DETECT_BYTEJUMP_BIG) && - (bd->flags & DETECT_BYTEJUMP_LITTLE)) { - goto end; - } + FAIL_IF(bd->flags & DETECT_BYTEJUMP_DCE); + FAIL_IF_NOT(bd->flags & DETECT_BYTEJUMP_RELATIVE); + FAIL_IF(bd->flags & DETECT_BYTEJUMP_STRING); + FAIL_IF(bd->flags & DETECT_BYTEJUMP_BIG); + FAIL_IF(bd->flags & DETECT_BYTEJUMP_LITTLE); -end: DetectEngineCtxFree(de_ctx); PASS; } @@ -919,12 +884,10 @@ end: static int DetectBytejumpTestParse11(void) { DetectEngineCtx *de_ctx = NULL; - int result = 1; Signature *s = NULL; de_ctx = DetectEngineCtxInit(); - if (de_ctx == NULL) - goto end; + FAIL_IF_NULL(de_ctx); de_ctx->flags |= DE_QUIET; s = SigInit(de_ctx, "alert tcp any any -> any any " @@ -933,10 +896,7 @@ static int DetectBytejumpTestParse11(void) "dce_stub_data; " "content:\"one\"; byte_jump:4,0,align,multiplier 2, " "post_offset -16,string,dce; sid:1;)"); - if (s != NULL) { - result = 0; - goto end; - } + FAIL_IF_NOT_NULL(s); s = SigInit(de_ctx, "alert tcp any any -> any any " "(msg:\"Testing bytejump_body\"; " @@ -944,10 +904,7 @@ static int DetectBytejumpTestParse11(void) "dce_sub_data; " "content:\"one\"; byte_jump:4,0,align,multiplier 2, " "post_offset -16,big,dce; sid:1;)"); - if (s != NULL) { - result = 0; - goto end; - } + FAIL_IF_NOT_NULL(s); s = SigInit(de_ctx, "alert tcp any any -> any any " "(msg:\"Testing bytejump_body\"; " @@ -955,10 +912,7 @@ static int DetectBytejumpTestParse11(void) "dce_stub_data; " "content:\"one\"; byte_jump:4,0,align,multiplier 2, " "post_offset -16,little,dce; sid:1;)"); - if (s != NULL) { - result = 0; - goto end; - } + FAIL_IF_NOT_NULL(s); s = SigInit(de_ctx, "alert tcp any any -> any any " "(msg:\"Testing bytejump_body\"; " @@ -966,10 +920,7 @@ static int DetectBytejumpTestParse11(void) "dce_stub_data; " "content:\"one\"; byte_jump:4,0,align,multiplier 2, " "post_offset -16,string,hex,dce; sid:1;)"); - if (s != NULL) { - result = 0; - goto end; - } + FAIL_IF_NOT_NULL(s); s = SigInit(de_ctx, "alert tcp any any -> any any " "(msg:\"Testing bytejump_body\"; " @@ -977,10 +928,7 @@ static int DetectBytejumpTestParse11(void) "dce_stub_data; " "content:\"one\"; byte_jump:4,0,align,multiplier 2, " "post_offset -16,string,dec,dce; sid:1;)"); - if (s != NULL) { - result = 0; - goto end; - } + FAIL_IF_NOT_NULL(s); s = SigInit(de_ctx, "alert tcp any any -> any any " "(msg:\"Testing bytejump_body\"; " @@ -988,10 +936,7 @@ static int DetectBytejumpTestParse11(void) "dce_stub_data; " "content:\"one\"; byte_jump:4,0,align,multiplier 2, " "post_offset -16,string,oct,dce; sid:1;)"); - if (s != NULL) { - result = 0; - goto end; - } + FAIL_IF_NOT_NULL(s); s = SigInit(de_ctx, "alert tcp any any -> any any " "(msg:\"Testing bytejump_body\"; " @@ -999,17 +944,12 @@ static int DetectBytejumpTestParse11(void) "dce_stub_data; " "content:\"one\"; byte_jump:4,0,align,multiplier 2, " "post_offset -16,from_beginning,dce; sid:1;)"); - if (s != NULL) { - result = 0; - goto end; - } + FAIL_IF_NOT_NULL(s); - end: SigGroupCleanup(de_ctx); SigCleanSignatures(de_ctx); DetectEngineCtxFree(de_ctx); - - return result; + PASS; } /** @@ -1073,7 +1013,6 @@ static int DetectBytejumpTestParse14(void) */ static int DetectByteJumpTestPacket01 (void) { - int result = 0; uint8_t *buf = (uint8_t *)"GET /AllWorkAndNoPlayMakesWillADullBoy HTTP/1.0" "User-Agent: Wget/1.11.4" "Accept: */*" @@ -1084,18 +1023,16 @@ static int DetectByteJumpTestPacket01 (void) Packet *p; p = UTHBuildPacket((uint8_t *)buf, buflen, IPPROTO_TCP); - if (p == NULL) - goto end; + FAIL_IF_NULL(p); char sig[] = "alert tcp any any -> any any (msg:\"pcre + byte_test + " "relative\"; pcre:\"/AllWorkAndNoPlayMakesWillADullBoy/\"; byte_jump:1,6," "relative,string,dec; content:\"0\"; sid:134; rev:1;)"; - result = UTHPacketMatchSig(p, sig); + FAIL_IF_NOT(UTHPacketMatchSig(p, sig)); UTHFreePacket(p); -end: - return result; + PASS; } /** @@ -1105,7 +1042,6 @@ end: */ static int DetectByteJumpTestPacket02 (void) { - int result = 0; uint8_t buf[] = { 0x00, 0x00, 0x00, 0x77, 0xff, 0x53, 0x4d, 0x42, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x18, 0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1117,23 +1053,20 @@ static int DetectByteJumpTestPacket02 (void) Packet *p; p = UTHBuildPacket((uint8_t *)buf, buflen, IPPROTO_TCP); - if (p == NULL) - goto end; + FAIL_IF_NULL(p); char sig[] = "alert tcp any any -> any any (msg:\"byte_jump with byte_jump" " + relative\"; byte_jump:1,13; byte_jump:4,0,relative; " "content:\"|48 00 00|\"; within:3; sid:144; rev:1;)"; - result = UTHPacketMatchSig(p, sig); + FAIL_IF_NOT(UTHPacketMatchSig(p, sig)); UTHFreePacket(p); -end: - return result; + PASS; } static int DetectByteJumpTestPacket03(void) { - int result = 0; uint8_t *buf = NULL; uint16_t buflen = 0; buf = SCMalloc(4); @@ -1147,20 +1080,18 @@ static int DetectByteJumpTestPacket03(void) Packet *p; p = UTHBuildPacket((uint8_t *)buf, buflen, IPPROTO_TCP); - if (p == NULL) - goto end; + FAIL_IF_NULL(p); char sig[] = "alert tcp any any -> any any (msg:\"byte_jump\"; " "byte_jump:1,214748364; sid:1; rev:1;)"; - result = !UTHPacketMatchSig(p, sig); + FAIL_IF(UTHPacketMatchSig(p, sig)); UTHFreePacket(p); + FAIL_IF_NULL(buf); -end: - if (buf != NULL) - SCFree(buf); - return result; + SCFree(buf); + PASS; } /** @@ -1168,22 +1099,19 @@ end: */ static int DetectByteJumpTestPacket04 (void) { - int result = 0; uint8_t *buf = (uint8_t *)"XYZ04abcdABCD"; uint16_t buflen = strlen((char *)buf); Packet *p; p = UTHBuildPacket((uint8_t *)buf, buflen, IPPROTO_TCP); - if (p == NULL) - goto end; + FAIL_IF_NULL(p); char sig[] = "alert tcp any any -> any any (content:\"XYZ\"; byte_jump:2,0,relative,string,dec; content:\"ABCD\"; distance:0; within:4; sid:1; rev:1;)"; - result = UTHPacketMatchSig(p, sig); + FAIL_IF_NOT(UTHPacketMatchSig(p, sig)); UTHFreePacket(p); -end: - return result; + PASS; } /** @@ -1191,22 +1119,19 @@ end: */ static int DetectByteJumpTestPacket05 (void) { - int result = 0; uint8_t *buf = (uint8_t *)"XYZ04abcdABCD"; uint16_t buflen = strlen((char *)buf); Packet *p; p = UTHBuildPacket((uint8_t *)buf, buflen, IPPROTO_TCP); - if (p == NULL) - goto end; + FAIL_IF_NULL(p); char sig[] = "alert tcp any any -> any any (content:\"XYZ\"; byte_jump:2,0,relative,string,dec; content:\"cdABCD\"; within:6; sid:1; rev:1;)"; - result = UTHPacketMatchSig(p, sig) ? 0 : 1; + FAIL_IF_NOT(UTHPacketMatchSig(p, sig) ? 0 : 1); UTHFreePacket(p); -end: - return result; + PASS; } /** @@ -1214,22 +1139,19 @@ end: */ static int DetectByteJumpTestPacket06 (void) { - int result = 0; uint8_t *buf = (uint8_t *)"XX04abcdABCD"; uint16_t buflen = strlen((char *)buf); Packet *p; p = UTHBuildPacket((uint8_t *)buf, buflen, IPPROTO_TCP); - if (p == NULL) - goto end; + FAIL_IF_NULL(p); char sig[] = "alert tcp any any -> any any (content:\"XX\"; byte_jump:2,0,relative,string,dec,from_beginning; content:\"ABCD\"; distance:4; within:4; sid:1; rev:1;)"; - result = UTHPacketMatchSig(p, sig); + FAIL_IF_NOT(UTHPacketMatchSig(p, sig)); UTHFreePacket(p); -end: - return result; + PASS; } /** @@ -1237,22 +1159,19 @@ end: */ static int DetectByteJumpTestPacket07 (void) { - int result = 0; uint8_t *buf = (uint8_t *)"XX04abcdABCD"; uint16_t buflen = strlen((char *)buf); Packet *p; p = UTHBuildPacket((uint8_t *)buf, buflen, IPPROTO_TCP); - if (p == NULL) - goto end; + FAIL_IF_NULL(p); char sig[] = "alert tcp any any -> any any (content:\"XX\"; byte_jump:2,0,relative,string,dec,from_beginning; content:\"abcdABCD\"; distance:0; within:8; sid:1; rev:1;)"; - result = UTHPacketMatchSig(p, sig) ? 1 : 0; + FAIL_IF_NOT(UTHPacketMatchSig(p, sig) ? 1 : 0); UTHFreePacket(p); -end: - return result; + PASS; } /**