#10695: use %s not %d so that a string 'port' does not cause a debug traceback
Passing the port as a string value works fine in regular mode, but if you turned debug on it would throw an error trying to print the port number, which is surprising and confusing.
This commit is contained in:
parent
8edd99d085
commit
32ef70c827
|
@ -236,7 +236,7 @@ class Telnet:
|
||||||
|
|
||||||
"""
|
"""
|
||||||
if self.debuglevel > 0:
|
if self.debuglevel > 0:
|
||||||
print('Telnet(%s,%d):' % (self.host, self.port), end=' ')
|
print('Telnet(%s,%s):' % (self.host, self.port), end=' ')
|
||||||
if args:
|
if args:
|
||||||
print(msg % args)
|
print(msg % args)
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -342,6 +342,16 @@ class OptionTests(TestCase):
|
||||||
expected = "send b'xxx'\n"
|
expected = "send b'xxx'\n"
|
||||||
self.assertIn(expected, telnet._messages)
|
self.assertIn(expected, telnet._messages)
|
||||||
|
|
||||||
|
def test_debug_accepts_str_port(self):
|
||||||
|
# Issue 10695
|
||||||
|
with test_socket([]):
|
||||||
|
telnet = TelnetAlike('dummy', '0')
|
||||||
|
telnet._messages = ''
|
||||||
|
telnet.set_debuglevel(1)
|
||||||
|
telnet.msg('test')
|
||||||
|
self.assertRegex(telnet._messages, r'0.*test')
|
||||||
|
|
||||||
|
|
||||||
def test_main(verbose=None):
|
def test_main(verbose=None):
|
||||||
support.run_unittest(GeneralTests, ReadTests, WriteTests, OptionTests)
|
support.run_unittest(GeneralTests, ReadTests, WriteTests, OptionTests)
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,9 @@ What's New in Python 3.2 Beta 2?
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #10695: passing the port as a string value to telnetlib no longer
|
||||||
|
causes debug mode to fail.
|
||||||
|
|
||||||
- Issue #1078919: add_header now automatically RFC2231 encodes parameters
|
- Issue #1078919: add_header now automatically RFC2231 encodes parameters
|
||||||
that contain non-ascii values.
|
that contain non-ascii values.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue