From: Nick Coghlan Date: Sun, 19 Feb 2017 04:33:35 +0000 (+0530) Subject: [3.6] bpo-29571: Use correct locale encoding in test_re (#149) (#153) X-Git-Tag: v3.6.1rc1~74 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0683d6889bd4430599d22e12e201b8e9c45be5a2;p=python [3.6] bpo-29571: Use correct locale encoding in test_re (#149) (#153) ``local.getlocale(locale.LC_CTYPE)`` and ``locale.getpreferredencoding(False)`` may give different answers in some cases (such as the ``en_IN`` locale). ``re.LOCALE`` uses the latter, so update the test case to match. --- diff --git a/Lib/test/test_re.py b/Lib/test/test_re.py index b945cf094e..a506b98be4 100644 --- a/Lib/test/test_re.py +++ b/Lib/test/test_re.py @@ -1402,7 +1402,7 @@ class ReTests(unittest.TestCase): def test_locale_flag(self): import locale - _, enc = locale.getlocale(locale.LC_CTYPE) + enc = locale.getpreferredencoding(False) # Search non-ASCII letter for i in range(128, 256): try: diff --git a/Misc/NEWS b/Misc/NEWS index 5f682e5d8f..b631fde8e5 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -202,6 +202,11 @@ Documentation Tests ----- +- Issue #29571: to match the behaviour of the ``re.LOCALE`` flag, + test_re.test_locale_flag now uses ``locale.getpreferredencoding(False)`` to + determine the candidate encoding for the test regex (allowing it to correctly + skip the test when the default locale encoding is a multi-byte encoding) + - Issue #28950: Disallow -j0 to be combined with -T/-l in regrtest command line arguments.