fail2ban: Adapt test output to Automake format for ptest compatibility

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

root@intel-x86-64:~# ptest-runner python3-fail2ban -t 300
START: ptest-runner
2025-09-22T07:57
BEGIN: /usr/lib64/python3-fail2ban/ptest
Fail2ban 1.1.1.dev1 test suite. Python 3.12.11 (main, Jun  3 2025, 15:41:47) [GCC 13.4.0]. Please wait...
I: Skipping smtp tests: No module named 'smtpd'
I: Skipping SSL smtp tests: No module named 'aiosmtpd'
PASS: fail2ban.tests.servertestcase.Transmitter.testAction
PASS: fail2ban.tests.servertestcase.Transmitter.testAddJail
PASS: fail2ban.tests.servertestcase.Transmitter.testDatabase
PASS: fail2ban.tests.servertestcase.Transmitter.testDatePattern
PASS: fail2ban.tests.servertestcase.Transmitter.testGetNOK
PASS: fail2ban.tests.servertestcase.Transmitter.testJailAttemptIP
PASS: fail2ban.tests.servertestcase.Transmitter.testJailBanIP
...
PASS: fail2ban.tests.servertestcase.TransmitterLogging.testBanTimeIncr
PASS: fail2ban.tests.servertestcase.TransmitterLogging.testFlushLogs
PASS: fail2ban.tests.servertestcase.TransmitterLogging.testLogLevel
PASS: fail2ban.tests.servertestcase.TransmitterLogging.testLogTarget
PASS: fail2ban.tests.servertestcase.TransmitterLogging.testLogTargetSYSLOG
PASS: fail2ban.tests.servertestcase.TransmitterLogging.testSyslogSocket
PASS: fail2ban.tests.servertestcase.TransmitterLogging.testSyslogSocketNOK

============================================================================
Testsuite summary
DURATION: 48
END: /usr/lib64/python3-fail2ban/ptest
2025-09-22T07:58
STOP: ptest-runner
TOTAL: 1 FAIL: 0

Signed-off-by: Haixiao Yan <haixiao.yan.cn@windriver.com>
This commit is contained in:
Haixiao Yan
2025-10-21 13:43:22 +08:00
committed by Scott Murray
parent 3045ef984a
commit 98c7c1c9a5
2 changed files with 51 additions and 1 deletions
@@ -0,0 +1,43 @@
From 7b42974b5bf20d9db8e788e9d6817004556d660d Mon Sep 17 00:00:00 2001
From: Haixiao Yan <haixiao.yan.cn@windriver.com>
Date: Fri, 19 Sep 2025 15:03:56 +0800
Subject: [PATCH] fail2ban: use putao.unittest.TestRunner for ptest output
Switch the test runner from unittest's default TextTestRunner to
putao.unittest.TestRunner (provided by unittest-automake-output) so
that results are reported in Automake-compatible PASS/FAIL format.
This enables ptest-runner to correctly parse and summarize individual
test results.
Upstream-Status: Pending
Signed-off-by: Haixiao Yan <haixiao.yan.cn@windriver.com>
---
bin/fail2ban-testcases | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/bin/fail2ban-testcases b/bin/fail2ban-testcases
index 48aae4b5ffdc..20db4a01a3d6 100755
--- a/bin/fail2ban-testcases
+++ b/bin/fail2ban-testcases
@@ -28,7 +28,7 @@ import logging
import os
import sys
import time
-import unittest
+import putao.unittest
# Check if local fail2ban module exists, and use if it exists by
# modifying the path. This is done so that tests can be used in dev
@@ -63,7 +63,7 @@ tests = gatherTests(regexps, opts)
#
# Run the tests
#
-testRunner = unittest.TextTestRunner(verbosity=verbosity)
+testRunner = putao.unittest.TestRunner()
tests_results = testRunner.run(tests)
--
2.34.1