samhain: Adapt test output to Automake format for ptest compatibility

Convert CuTest output to follow Automake-compatible format
(PASS:/FAIL:) so that ptest-runner can correctly parse and
report test results.

root@qemux86-64:~# ptest-runner samhain-standalone -t 3600
START: ptest-runner
2025-07-06T09:38
BEGIN: /usr/lib64/samhain-standalone/ptest
PASS: Test_quote_string_ok
PASS: Test_unquote_string_ok
PASS: Test_csv_escape_ok
PASS: Test_tiger
PASS: Test_tiger_file
PASS: Test_tiger_file_with_length
PASS: Test_sh_tools_safe_name_01
PASS: Test_sh_tools_safe_name_02
PASS: Test_sh_tools_safe_name_03
PASS: Test_sh_tools_safe_name_04
PASS: Test_sh_tools_safe_name_05
PASS: Test_sh_tools_safe_name_06
PASS: Test_sh_tools_safe_name_07
PASS: Test_is_numeric_01
PASS: Test_dnmalloc
PASS: Test_sh_unix_lookup_page
PASS: Test_sl_strlcpy
PASS: Test_sl_strlcat
PASS: Test_sh_util_acl_compact
PASS: Test_sh_util_strdup_ok
PASS: Test_sh_util_strconcat_ok
PASS: Test_sh_util_base64_enc_ok
PASS: Test_sh_util_dirname_ok
PASS: Test_sh_util_basename_ok
PASS: Test_sh_util_utf8_ok
PASS: Test_sh_util_obscure_ok
PASS: Test_sl_stale
PASS: Test_sl_snprintf
PASS: Test_sl_ts_strncmp
PASS: Test_sl_strcasecmp
PASS: Test_zAVLTree
PASS: Test_sha256
PASS: Test_entropy
PASS: Test_fifo
PASS: Test_file_lists
PASS: Test_file_dequote
PASS: Test_uuid
PASS: Test_ignore_ok
PASS: Test_inotify
PASS: Test_ipvx
PASS: Test_login
PASS: Test_login
PASS: Test_portcheck_lists
PASS: Test_processcheck_watchlist_ok
PASS: Test_processcheck_listhandle_ok
PASS: Test_restrict
PASS: Test_cmdlist
PASS: Test_srp
PASS: Test_string

DURATION: 0
END: /usr/lib64/samhain-standalone/ptest
2025-07-06T09:38
STOP: ptest-runner
TOTAL: 1 FAIL: 0
root@qemux86-64:~#

Signed-off-by: Haixiao Yan <haixiao.yan.cn@windriver.com>
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
This commit is contained in:
Haixiao Yan
2025-07-07 10:46:09 +08:00
committed by Scott Murray
parent ca34a66f82
commit 06bd60600e
2 changed files with 103 additions and 0 deletions

View File

@@ -0,0 +1,102 @@
From 065813e5ec274942c4e8803d813ae863fb17313f Mon Sep 17 00:00:00 2001
From: Haixiao Yan <haixiao.yan.cn@windriver.com>
Date: Sun, 6 Jul 2025 14:34:08 +0800
Subject: [PATCH] Format test output to match Automake standards
Upstream-Status: Pending
Signed-off-by: Haixiao Yan <haixiao.yan.cn@windriver.com>
---
src/CuTest.c | 63 +++++++++++++++--------------------------------
src/make-tests.sh | 1 -
2 files changed, 20 insertions(+), 44 deletions(-)
diff --git a/src/CuTest.c b/src/CuTest.c
index c1884daedbd8..44007fdb97ff 100644
--- a/src/CuTest.c
+++ b/src/CuTest.c
@@ -302,49 +302,26 @@ void CuSuiteRun(CuSuite* testSuite)
}
}
-void CuSuiteSummary(CuSuite* testSuite, CuString* summary)
-{
- int i;
- for (i = 0 ; i < testSuite->count ; ++i)
- {
- CuTest* testCase = testSuite->list[i];
- CuStringAppend(summary, testCase->failed ? "F" : ".");
- }
- CuStringAppend(summary, "\n\n");
-}
-
void CuSuiteDetails(CuSuite* testSuite, CuString* details)
{
- int i;
- int failCount = 0;
-
- if (testSuite->failCount == 0)
- {
- int passCount = testSuite->count - testSuite->failCount;
- const char* testWord = passCount == 1 ? "test" : "tests";
- CuStringAppendFormat(details, "OK (%d %s)\n", passCount, testWord);
- }
- else
- {
- if (testSuite->failCount == 1)
- CuStringAppend(details, "There was 1 failure:\n");
- else
- CuStringAppendFormat(details, "There were %d failures:\n", testSuite->failCount);
-
- for (i = 0 ; i < testSuite->count ; ++i)
- {
- CuTest* testCase = testSuite->list[i];
- if (testCase->failed)
- {
- failCount++;
- CuStringAppendFormat(details, "%d) %s: %s\n",
- failCount, testCase->name, testCase->message);
- }
- }
- CuStringAppend(details, "\n!!!FAILURES!!!\n");
-
- CuStringAppendFormat(details, "Runs: %d ", testSuite->count);
- CuStringAppendFormat(details, "Passes: %d ", testSuite->count - testSuite->failCount);
- CuStringAppendFormat(details, "Fails: %d\n", testSuite->failCount);
- }
+ int i;
+
+ for (i = 0; i < testSuite->count; ++i)
+ {
+ CuTest* testCase = testSuite->list[i];
+ if (testCase->failed)
+ {
+ CuStringAppendFormat(details, "FAIL: %s\n", testCase->name);
+ }
+ else
+ {
+ CuStringAppendFormat(details, "PASS: %s\n", testCase->name);
+ }
+ }
+
+ CuStringAppend(details, "\n");
+ CuStringAppendFormat(details, "# TOTAL: %d\n", testSuite->count);
+ CuStringAppendFormat(details, "# PASS: %d\n", testSuite->count - testSuite->failCount);
+ CuStringAppendFormat(details, "# FAIL: %d\n", testSuite->failCount);
}
+
diff --git a/src/make-tests.sh b/src/make-tests.sh
index b6cf814e7030..01399ca75775 100755
--- a/src/make-tests.sh
+++ b/src/make-tests.sh
@@ -45,7 +45,6 @@ cat $FILES | grep '^void Test' |
echo \
'
CuSuiteRun(suite);
- CuSuiteSummary(suite, output);
CuSuiteDetails(suite, output);
if (suite->failCount > 0)
fprintf(stderr, "%s%c", output->buffer, 0x0A);
--
2.34.1

View File

@@ -19,6 +19,7 @@ SRC_URI = "https://la-samhna.de/archive/samhain_signed-${PV}.tar.gz \
file://0008-Add-LDFLAGS-variable-for-compiling-samhain_setpwd.patch \
file://0009-fix-build-with-new-version-attr.patch \
file://0010-Fix-initializer-element-is-not-constant.patch \
file://0001-Format-test-output-to-match-Automake-standards.patch \
"
SRC_URI[sha256sum] = "0b5d3534fd60ecf45dfd79bd415e81f7a56eba7f1755771735e204f334033578"