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.
"""
if self.debuglevel > 0:
- print('Telnet(%s,%d):' % (self.host, self.port), end=' ')
+ print('Telnet(%s,%s):' % (self.host, self.port), end=' ')
if args:
print(msg % args)
else:
expected = "send b'xxx'\n"
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):
support.run_unittest(GeneralTests, ReadTests, WriteTests, OptionTests)
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
that contain non-ascii values.