mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2024-12-23 14:52:26 +00:00
Make sure that foolscap.logging.log.setLogDir is called with a str (not unicode) path, v2. Includes test. fixes #1725
This commit is contained in:
parent
842a3a132b
commit
a555336910
@ -348,7 +348,7 @@ class Node(service.MultiService):
|
|||||||
self.tub.setOption("bridge-twisted-logs", True)
|
self.tub.setOption("bridge-twisted-logs", True)
|
||||||
incident_dir = os.path.join(self.basedir, "logs", "incidents")
|
incident_dir = os.path.join(self.basedir, "logs", "incidents")
|
||||||
# this doesn't quite work yet: unit tests fail
|
# this doesn't quite work yet: unit tests fail
|
||||||
foolscap.logging.log.setLogDir(incident_dir)
|
foolscap.logging.log.setLogDir(incident_dir.encode(get_filesystem_encoding()))
|
||||||
|
|
||||||
def log(self, *args, **kwargs):
|
def log(self, *args, **kwargs):
|
||||||
return log.msg(*args, **kwargs)
|
return log.msg(*args, **kwargs)
|
||||||
|
@ -4,6 +4,8 @@ from twisted.trial import unittest
|
|||||||
from twisted.internet import defer
|
from twisted.internet import defer
|
||||||
from twisted.python import log
|
from twisted.python import log
|
||||||
|
|
||||||
|
from mock import patch
|
||||||
|
|
||||||
from foolscap.api import flushEventualQueue
|
from foolscap.api import flushEventualQueue
|
||||||
from twisted.application import service
|
from twisted.application import service
|
||||||
from allmydata.node import Node, formatTimeTahoeStyle
|
from allmydata.node import Node, formatTimeTahoeStyle
|
||||||
@ -116,3 +118,15 @@ class TestCase(testutil.SignalMixin, unittest.TestCase):
|
|||||||
st = os.stat(privdir)
|
st = os.stat(privdir)
|
||||||
bits = stat.S_IMODE(st[stat.ST_MODE])
|
bits = stat.S_IMODE(st[stat.ST_MODE])
|
||||||
self.failUnless(bits & 0001 == 0, bits)
|
self.failUnless(bits & 0001 == 0, bits)
|
||||||
|
|
||||||
|
@patch("foolscap.logging.log.setLogDir")
|
||||||
|
def test_logdir_is_str(self, mock_setLogDir):
|
||||||
|
basedir = "test_node/test_logdir_is_str"
|
||||||
|
fileutil.make_dirs(basedir)
|
||||||
|
|
||||||
|
def call_setLogDir(logdir):
|
||||||
|
self.failUnless(isinstance(logdir, str), logdir)
|
||||||
|
mock_setLogDir.side_effect = call_setLogDir
|
||||||
|
|
||||||
|
TestNode(basedir)
|
||||||
|
self.failUnless(mock_setLogDir.called)
|
||||||
|
Loading…
Reference in New Issue
Block a user