diff --git a/fail2ban-testcases b/fail2ban-testcases index ea95e9c5..cc616c0e 100755 --- a/fail2ban-testcases +++ b/fail2ban-testcases @@ -125,6 +125,7 @@ tests.addTest(unittest.makeSuite(filtertestcase.LogFile)) tests.addTest(unittest.makeSuite(filtertestcase.LogFileMonitor)) tests.addTest(unittest.makeSuite(filtertestcase.GetFailures)) tests.addTest(unittest.makeSuite(filtertestcase.DNSUtilsTests)) +tests.addTest(unittest.makeSuite(filtertestcase.JailTests)) # DateDetector tests.addTest(unittest.makeSuite(datedetectortestcase.DateDetectorTest)) diff --git a/server/jail.py b/server/jail.py index 4ab83db4..dee64e7f 100644 --- a/server/jail.py +++ b/server/jail.py @@ -33,7 +33,9 @@ logSys = logging.getLogger("fail2ban.jail") class Jail: #Known backends. Each backend should have corresponding __initBackend method - _BACKENDS = ('pyinotify', 'gamin', 'polling') + # yoh: stored in a list instead of a tuple since only + # list had .index until 2.6 + _BACKENDS = ['pyinotify', 'gamin', 'polling'] def __init__(self, name, backend = "auto"): self.__name = name diff --git a/testcases/filtertestcase.py b/testcases/filtertestcase.py index eade537f..c10fa78d 100644 --- a/testcases/filtertestcase.py +++ b/testcases/filtertestcase.py @@ -28,6 +28,7 @@ import sys import time import tempfile +from server.jail import Jail from server.filterpoll import FilterPoll from server.filter import FileFilter, DNSUtils from server.failmanager import FailManager @@ -626,3 +627,10 @@ class DNSUtilsTests(unittest.TestCase): self.assertEqual(res, ['192.0.43.10']) else: self.assertEqual(res, []) + +class JailTests(unittest.TestCase): + + def testSetBackend_gh83(self): + # smoke test + jail = Jail('test', backend='polling') # Must not fail to initiate +