From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Tue, 16 Jan 2018 17:27:29 +0000 (-0800) Subject: Skip test_readline.test_nonascii() on C locale (GH-5203) (#5204) X-Git-Tag: v3.6.5rc1~153 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c2740e8a263e76427a8102a89f4b491a3089b2a1;p=python Skip test_readline.test_nonascii() on C locale (GH-5203) (#5204) bpo-29240: On FreeBSD, if the LC_CTYPE locale is "C" or "POSIX", writing and reading non-ASCII bytes into/from a TTY works, but readline or ncurses ignores non-ASCII bytes on read. (cherry picked from commit c495e799ed376af91ae2ddf6c4bcc592490fe294) --- diff --git a/Lib/test/test_readline.py b/Lib/test/test_readline.py index 9c979652a1..dd9d3b57fc 100644 --- a/Lib/test/test_readline.py +++ b/Lib/test/test_readline.py @@ -3,6 +3,7 @@ Very minimal unittests for parts of the readline module. """ from contextlib import ExitStack from errno import EIO +import locale import os import selectors import subprocess @@ -137,6 +138,13 @@ print("History length:", readline.get_current_history_length()) self.assertIn(b"History length: 0\r\n", output) def test_nonascii(self): + loc = locale.setlocale(locale.LC_CTYPE, None) + if loc in ('C', 'POSIX'): + # bpo-29240: On FreeBSD, if the LC_CTYPE locale is C or POSIX, + # writing and reading non-ASCII bytes into/from a TTY works, but + # readline or ncurses ignores non-ASCII bytes on read. + self.skipTest(f"the LC_CTYPE locale is {loc!r}") + try: readline.add_history("\xEB\xEF") except UnicodeEncodeError as err: