Martin Panter added the comment:
I don’t think this affects Python 2. The failing tests were added in revision
421c8e291221, Issue 13342, for 3.2+ only. They invole input() doing text
decoding. AFAIK Python 2’s equivalent, raw_input(), does not do text decoding.
I suspect we can’t really change how Readline handles text encoding errors,
which seems to be what Nadeem was trying to do. I suggest to just fix the tests
without changing Readline.
As far as I know there is no way to un-register the Readline module once it has
been loaded. A quick and dirty workaround might be to skip the test(s) if the
Readline has been loaded ("readline" in sys.modules). But a better fix would
probably be to run the test in a subprocess, where we can start a new
interpreter from scratch and control whether Readline is loaded.
Looking closer at the tests, they mention invoking Gnu Readline. But the
associated bug fix is in the wrapper code around PyOS_Readline(), which may
call Gnu Readline if it is loaded, or may call a simpler internal routine
otherwise. So ideally the tests should be repeated with Readline unloaded and
loaded.
Also, the comment for test_input_tty_non_ascii() implies it is testing UTF-8
encoding. But the data is not valid UTF-8 so it ends up testing the error
handling. I think that test should use valid UTF-8 input.
----------
components: +Tests -Extension Modules
nosy: +martin.panter
versions: +Python 3.5, Python 3.6 -Python 2.7, Python 3.2, Python 3.3, Python
3.4
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue13886>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com