From ce04115b5bad9e8160810884f56a641343de437c Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Tue, 16 Jan 2018 17:34:34 +0100 Subject: [PATCH] Skip test_readline.test_nonascii() on C locale (GH-5203) 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) --- Lib/test/test_readline.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Lib/test/test_readline.py b/Lib/test/test_readline.py index 9c979652a1d0e9..dd9d3b57fcbcd0 100644 --- a/Lib/test/test_readline.py +++ b/Lib/test/test_readline.py @@ -3,6 +3,7 @@ """ from contextlib import ExitStack from errno import EIO +import locale import os import selectors import subprocess @@ -137,6 +138,13 @@ def test_auto_history_disabled(self): 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: