BF: do not expect setting logtarget to SYSLOG to work on non-Linuxes

I have no BSD buildbots available for *BSDs etc, so can't speak for all, but
http://nipy.bic.berkeley.edu/builders/fail2ban-py2.6-osx-10.6_master/builds/151/steps/shell_1/logs/stdio
suggests that logically fails on OSX
pull/998/head
Yaroslav Halchenko 2015-03-21 22:30:58 -04:00
parent 56aacf872c
commit 4a83741397
1 changed files with 12 additions and 4 deletions

View File

@ -30,6 +30,7 @@ import tempfile
import os import os
import locale import locale
import sys import sys
import platform
from ..server.failregex import Regex, FailRegex, RegexException from ..server.failregex import Regex, FailRegex, RegexException
from ..server.server import Server from ..server.server import Server
@ -70,7 +71,7 @@ class TransmitterBase(unittest.TestCase):
"""Call after every test case.""" """Call after every test case."""
self.server.quit() self.server.quit()
def setGetTest(self, cmd, inValue, outValue=None, jail=None): def setGetTest(self, cmd, inValue, outValue=None, outCode=0, jail=None):
setCmd = ["set", cmd, inValue] setCmd = ["set", cmd, inValue]
getCmd = ["get", cmd] getCmd = ["get", cmd]
if jail is not None: if jail is not None:
@ -79,8 +80,10 @@ class TransmitterBase(unittest.TestCase):
if outValue is None: if outValue is None:
outValue = inValue outValue = inValue
self.assertEqual(self.transm.proceed(setCmd), (0, outValue)) self.assertEqual(self.transm.proceed(setCmd), (outCode, outValue))
self.assertEqual(self.transm.proceed(getCmd), (0, outValue)) if not outCode:
# if we expected to get it set without problem, check new value
self.assertEqual(self.transm.proceed(getCmd), (0, outValue))
def setGetTestNOK(self, cmd, inValue, jail=None): def setGetTestNOK(self, cmd, inValue, jail=None):
setCmd = ["set", cmd, inValue] setCmd = ["set", cmd, inValue]
@ -787,7 +790,12 @@ class TransmitterLogging(TransmitterBase):
self.setGetTestNOK("logtarget", "SYSLOG") self.setGetTestNOK("logtarget", "SYSLOG")
# set back for other tests # set back for other tests
self.setGetTest("syslogsocket", "/dev/log") self.setGetTest("syslogsocket", "/dev/log")
self.setGetTest("logtarget", "SYSLOG") self.setGetTest("logtarget", "SYSLOG",
**{True: {}, # should work on Linux
False: dict( # expect to fail otherwise
outCode=1,
outValue=Exception('Failed to change log target'))}
[platform.system() in ('Linux',)])
def testLogLevel(self): def testLogLevel(self):
self.setGetTest("loglevel", "HEAVYDEBUG") self.setGetTest("loglevel", "HEAVYDEBUG")