commit:     592ea98a632c53260a6358ce42280cd3076c3d34
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri May 14 12:51:59 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri May 14 17:22:22 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=592ea98a

net-analyzer/fail2ban: run tests

Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-analyzer/fail2ban/fail2ban-0.11.2.ebuild       | 12 ++++--
 .../files/fail2ban-0.11.2-fix-tests-for-2021.patch | 50 ++++++++++++++++++++++
 2 files changed, 58 insertions(+), 4 deletions(-)

diff --git a/net-analyzer/fail2ban/fail2ban-0.11.2.ebuild 
b/net-analyzer/fail2ban/fail2ban-0.11.2.ebuild
index 8f57fd666aa..1c47a71b51d 100644
--- a/net-analyzer/fail2ban/fail2ban-0.11.2.ebuild
+++ b/net-analyzer/fail2ban/fail2ban-0.11.2.ebuild
@@ -16,8 +16,6 @@ LICENSE="GPL-2"
 SLOT="0"
 KEYWORDS="~alpha amd64 arm ~arm64 hppa ppc ppc64 sparc x86"
 IUSE="selinux systemd"
-# Needs some work to enable them right now
-RESTRICT="test"
 
 RDEPEND="
        virtual/logger
@@ -34,9 +32,11 @@ RDEPEND="
 
 DOCS=( ChangeLog DEVELOP README.md THANKS TODO doc/run-rootless.txt )
 
-python_prepare_all() {
-       default
+PATCHES=(
+       "${FILESDIR}"/${P}-fix-tests-for-2021.patch
+)
 
+python_prepare_all() {
        # Replace /var/run with /run, but not in the top source directory
        find . -mindepth 2 -type f -exec \
                sed -i -e 's|/var\(/run/fail2ban\)|\1|g' {} + || die
@@ -51,6 +51,10 @@ python_compile() {
        distutils-r1_python_compile
 }
 
+python_test() {
+       bin/fail2ban-testcases -n -g --verbosity=4 || die "Tests failed with 
${EPYTHON}"
+}
+
 python_install_all() {
        distutils-r1_python_install_all
 

diff --git 
a/net-analyzer/fail2ban/files/fail2ban-0.11.2-fix-tests-for-2021.patch 
b/net-analyzer/fail2ban/files/fail2ban-0.11.2-fix-tests-for-2021.patch
new file mode 100644
index 00000000000..36193b18193
--- /dev/null
+++ b/net-analyzer/fail2ban/files/fail2ban-0.11.2-fix-tests-for-2021.patch
@@ -0,0 +1,50 @@
+https://github.com/fail2ban/fail2ban/issues/2904
+
+From 747d4683221b5584f9663695fb48145689b42ceb Mon Sep 17 00:00:00 2001
+From: sebres <i...@sebres.de>
+Date: Mon, 4 Jan 2021 02:42:38 +0100
+Subject: [PATCH] fixes century selector of %ExY and %Exy in datepattern for
+ tests, considering interval from 2005 (alternate now) to now; + better
+ grouping algorithm for resulting century RE
+
+---
+ fail2ban/server/strptime.py | 24 ++++++++++++++++++++++--
+ 1 file changed, 22 insertions(+), 2 deletions(-)
+
+diff --git a/fail2ban/server/strptime.py b/fail2ban/server/strptime.py
+index 1464a96d1f..39fc795865 100644
+--- a/fail2ban/server/strptime.py
++++ b/fail2ban/server/strptime.py
+@@ -36,10 +36,30 @@ def _getYearCentRE(cent=(0,3), distance=3, 
now=(MyTime.now(), MyTime.alternateNo
+       Thereby respect possible run in the test-cases (alternate date used 
there)
+       """
+       cent = lambda year, f=cent[0], t=cent[1]: str(year)[f:t]
++      def grp(exprset):
++              c = None
++              if len(exprset) > 1:
++                      for i in exprset:
++                              if c is None or i[0:-1] == c:
++                                      c = i[0:-1]
++                              else:
++                                      c = None
++                                      break
++                      if not c:
++                              for i in exprset:
++                                      if c is None or i[0] == c:
++                                              c = i[0]
++                                      else:
++                                              c = None
++                                              break
++                      if c:
++                              return "%s%s" % (c, grp([i[len(c):] for i in 
exprset]))
++              return ("(?:%s)" % "|".join(exprset) if len(exprset[0]) > 1 
else "[%s]" % "".join(exprset)) \
++                      if len(exprset) > 1 else "".join(exprset)
+       exprset = set( cent(now[0].year + i) for i in (-1, distance) )
+       if len(now) and now[1]:
+-              exprset |= set( cent(now[1].year + i) for i in (-1, distance) )
+-      return "(?:%s)" % "|".join(exprset) if len(exprset) > 1 else 
"".join(exprset)
++              exprset |= set( cent(now[1].year + i) for i in xrange(-1, 
now[0].year-now[1].year+1, distance) )
++      return grp(sorted(list(exprset)))
+ 
+ timeRE = TimeRE()
+ 

Reply via email to