In telnetlib, control characters are no more 'char' type, but 'bytes' type.
So if you try to issue command:
Write Control Character 26 # CTRL-Z
then it gives the error: TypeError: can't concat str to bytes
Find out this same problem in telnet library while change from Python 2.7 -> 3.x
Is the problem limited to this particular keyword? Ought to be easy to fix in that case. I'll add rhis to 3.1 scope so that we don't forget about it.
Currently, yes. But, this also was our first try to move Python 2.7 -> 3.x.
Found the problem. The code is converting an integer to a byte using chr, but in Python 3 that yields a Unicode strings. Luckily this is easy to fix.
Good thing related to fixing this problem was that it forced me to run Telnet library acceptance tests (they require an actual Telnet server and aren't thus typically included in our acceptance test runs) and I noticed some functionality broken due to automatic argument conversion based on default values (#2932). I want to disable automatic conversion in these cases, but with the current conversion design that's not as easy as it could be. It would be pretty natural to use the @keyword decorator like @keyword(types=None) to disable conversion, but currently that doesn't work. Need to thus update that functionality (#2947) first. Anyway, this issue is done.