issue #436: decode debug log lines on Python 3.
This commit is contained in:
parent
8380baf41b
commit
a8c056c27b
|
@ -100,7 +100,8 @@ def filter_debug(stream, it):
|
||||||
if b('\n') not in buf:
|
if b('\n') not in buf:
|
||||||
break
|
break
|
||||||
line, _, buf = buf.partition(b('\n'))
|
line, _, buf = buf.partition(b('\n'))
|
||||||
LOG.debug('%r: %s', stream, line.rstrip())
|
LOG.debug('%r: %s', stream,
|
||||||
|
mitogen.core.to_text(line.rstrip()))
|
||||||
state = 'start_of_line'
|
state = 'start_of_line'
|
||||||
elif state == 'in_plain':
|
elif state == 'in_plain':
|
||||||
line, nl, buf = buf.partition(b('\n'))
|
line, nl, buf = buf.partition(b('\n'))
|
||||||
|
|
|
@ -44,6 +44,21 @@ class ConstructorTest(testlib.RouterMixin, testlib.TestCase):
|
||||||
class SshTest(testlib.DockerMixin, testlib.TestCase):
|
class SshTest(testlib.DockerMixin, testlib.TestCase):
|
||||||
stream_class = mitogen.ssh.Stream
|
stream_class = mitogen.ssh.Stream
|
||||||
|
|
||||||
|
def test_debug_decoding(self):
|
||||||
|
# ensure filter_debug_logs() decodes the logged string.
|
||||||
|
capture = testlib.LogCapturer()
|
||||||
|
capture.start()
|
||||||
|
try:
|
||||||
|
context = self.docker_ssh(
|
||||||
|
username='mitogen__has_sudo',
|
||||||
|
password='has_sudo_password',
|
||||||
|
ssh_debug_level=3,
|
||||||
|
)
|
||||||
|
finally:
|
||||||
|
s = capture.stop()
|
||||||
|
|
||||||
|
self.assertTrue("'): debug1: Reading configuration data" in s)
|
||||||
|
|
||||||
def test_stream_name(self):
|
def test_stream_name(self):
|
||||||
context = self.docker_ssh(
|
context = self.docker_ssh(
|
||||||
username='mitogen__has_sudo',
|
username='mitogen__has_sudo',
|
||||||
|
|
Loading…
Reference in New Issue