mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2024-12-19 13:07:56 +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)
|
||||
incident_dir = os.path.join(self.basedir, "logs", "incidents")
|
||||
# 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):
|
||||
return log.msg(*args, **kwargs)
|
||||
|
@ -4,6 +4,8 @@ from twisted.trial import unittest
|
||||
from twisted.internet import defer
|
||||
from twisted.python import log
|
||||
|
||||
from mock import patch
|
||||
|
||||
from foolscap.api import flushEventualQueue
|
||||
from twisted.application import service
|
||||
from allmydata.node import Node, formatTimeTahoeStyle
|
||||
@ -116,3 +118,15 @@ class TestCase(testutil.SignalMixin, unittest.TestCase):
|
||||
st = os.stat(privdir)
|
||||
bits = stat.S_IMODE(st[stat.ST_MODE])
|
||||
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