]> granicus.if.org Git - python/commitdiff
[3.5] bpo-29571: Use correct locale encoding in test_re (#149) (#154)
authorNick Coghlan <ncoghlan@gmail.com>
Sun, 19 Feb 2017 04:33:50 +0000 (10:03 +0530)
committerGitHub <noreply@github.com>
Sun, 19 Feb 2017 04:33:50 +0000 (10:03 +0530)
``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.

Lib/test/test_re.py
Misc/NEWS

index 9acd5abbfd77763838315cdc2f536fd65b13b616..407f3468e8667193730f6b182b323656d2110846 100644 (file)
@@ -1334,7 +1334,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:
index fe50135c01615c9d4b5a042f94d8401268a5ca8a..c750d5c952e6e958c4723785a0f47028c9636de6 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -87,6 +87,14 @@ Documentation
 
 - Issue #29349: Fix Python 2 syntax in code for building the 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)
+
 
 What's New in Python 3.5.3?
 ===========================