From: Victor Stinner Date: Wed, 28 May 2025 15:43:52 +0000 (+0200) Subject: gh-133711: Fix test_readline.test_nonascii() for UTF-8 Mode (#134841) X-Git-Tag: v3.15.0a1~1471 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4635115c3f1495fa20e553937df37861fffa7054;p=thirdparty%2FPython%2Fcpython.git gh-133711: Fix test_readline.test_nonascii() for UTF-8 Mode (#134841) Skip the test if the Python UTF-8 Mode is enabled and the LC_CTYPE encoding is not UTF-8. --- diff --git a/Lib/test/test_readline.py b/Lib/test/test_readline.py index b9d082b3597f..45192fe50827 100644 --- a/Lib/test/test_readline.py +++ b/Lib/test/test_readline.py @@ -1,6 +1,7 @@ """ Very minimal unittests for parts of the readline module. """ +import codecs import locale import os import sys @@ -231,6 +232,13 @@ print("History length:", readline.get_current_history_length()) # 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}") + if sys.flags.utf8_mode: + encoding = locale.getencoding() + encoding = codecs.lookup(encoding).name # normalize the name + if encoding != "utf-8": + # gh-133711: The Python UTF-8 Mode ignores the LC_CTYPE locale + # and always use the UTF-8 encoding. + self.skipTest(f"the LC_CTYPE encoding is {encoding!r}") try: readline.add_history("\xEB\xEF")