]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
detect/base64_data: Convert unittests to FAIL/PASS API
authorJhonny Sousa <jjhonnyj@gmail.com>
Mon, 20 Oct 2025 12:25:15 +0000 (09:25 -0300)
committerVictor Julien <vjulien@oisf.net>
Fri, 31 Oct 2025 16:46:37 +0000 (16:46 +0000)
Ticket: #6320

src/detect-base64-data.c

index 770061350a865b7026608bddfcfc863650c3b4f8..0a72ad8697393a91e2070caa4bceabf00d1600aa 100644 (file)
@@ -67,47 +67,22 @@ static int g_file_data_buffer_id = 0;
 
 static int DetectBase64DataSetupTest01(void)
 {
-    DetectEngineCtx *de_ctx = NULL;
-    SigMatch *sm;
-    int retval = 0;
-
-    de_ctx = DetectEngineCtxInit();
-    if (de_ctx == NULL) {
-        goto end;
-    }
+    DetectEngineCtx *de_ctx = DetectEngineCtxInit();
+    FAIL_IF_NULL(de_ctx);
 
     de_ctx->flags |= DE_QUIET;
-    de_ctx->sig_list = SigInit(de_ctx,
-        "alert smtp any any -> any any (msg:\"DetectBase64DataSetupTest\"; "
-        "base64_decode; base64_data; content:\"content\"; sid:1; rev:1;)");
-    if (de_ctx->sig_list == NULL) {
-        printf("SigInit failed: ");
-        goto end;
-    }
-
-    sm = de_ctx->sig_list->init_data->smlists[DETECT_SM_LIST_PMATCH];
-    if (sm == NULL) {
-        printf("DETECT_SM_LIST_PMATCH should not be NULL: ");
-        goto end;
-    }
-    if (sm->type != DETECT_BASE64_DECODE) {
-        printf("sm->type should be DETECT_BASE64_DECODE: ");
-        goto end;
-    }
-
-    if (de_ctx->sig_list->init_data->smlists[DETECT_SM_LIST_BASE64_DATA] == NULL) {
-        printf("DETECT_SM_LIST_BASE64_DATA should not be NULL: ");
-       goto end;
-    }
-
-    retval = 1;
-end:
-    if (de_ctx != NULL) {
-        SigGroupCleanup(de_ctx);
-        SigCleanSignatures(de_ctx);
-        DetectEngineCtxFree(de_ctx);
-    }
-    return retval;
+    Signature *s = DetectEngineAppendSig(de_ctx,
+            "alert smtp any any -> any any (msg:\"DetectBase64DataSetupTest\"; "
+            "base64_decode; base64_data; content:\"content\"; sid:1; rev:1;)");
+    FAIL_IF_NULL(s);
+
+    SigMatch *sm = s->init_data->smlists[DETECT_SM_LIST_PMATCH];
+    FAIL_IF_NULL(sm);
+    FAIL_IF_NOT(sm->type == DETECT_BASE64_DECODE);
+    FAIL_IF_NULL(s->init_data->smlists[DETECT_SM_LIST_BASE64_DATA]);
+
+    DetectEngineCtxFree(de_ctx);
+    PASS;
 }
 
 /**
@@ -116,30 +91,18 @@ end:
  */
 static int DetectBase64DataSetupTest04(void)
 {
-    DetectEngineCtx *de_ctx = NULL;
-    int retval = 0;
-
-    de_ctx = DetectEngineCtxInit();
-    if (de_ctx == NULL) {
-        goto end;
-    }
+    DetectEngineCtx *de_ctx = DetectEngineCtxInit();
+    FAIL_IF_NULL(de_ctx);
 
     de_ctx->flags |= DE_QUIET;
-    de_ctx->sig_list = SigInit(de_ctx,
-        "alert tcp any any -> any any (msg:\"some b64thing\"; flow:established,from_server; file_data; content:\"sometext\"; fast_pattern; base64_decode:relative; base64_data; content:\"foobar\"; nocase; tag:session,120,seconds; sid:1111111; rev:1;)");
-    if (de_ctx->sig_list == NULL) {
-        printf("SigInit failed: ");
-        goto end;
-    }
-
-    retval = 1;
-end:
-    if (de_ctx != NULL) {
-        SigGroupCleanup(de_ctx);
-        SigCleanSignatures(de_ctx);
-        DetectEngineCtxFree(de_ctx);
-    }
-    return retval;
+    Signature *s = DetectEngineAppendSig(de_ctx,
+            "alert tcp any any -> any any (msg:\"some b64thing\"; flow:established,from_server; "
+            "file_data; content:\"sometext\"; fast_pattern; base64_decode:relative; base64_data; "
+            "content:\"foobar\"; nocase; tag:session,120,seconds; sid:1111111; rev:1;)");
+    FAIL_IF_NULL(s);
+
+    DetectEngineCtxFree(de_ctx);
+    PASS;
 }
 
 static void DetectBase64DataRegisterTests(void)
@@ -149,4 +112,4 @@ static void DetectBase64DataRegisterTests(void)
     UtRegisterTest("DetectBase64DataSetupTest01", DetectBase64DataSetupTest01);
     UtRegisterTest("DetectBase64DataSetupTest04", DetectBase64DataSetupTest04);
 }
-#endif /* UNITTESTS */
+#endif /* UNITTESTS */
\ No newline at end of file