From: Nick Coghlan Date: Sat, 18 Feb 2017 09:31:22 +0000 (+0530) Subject: bpo-29571: Use correct locale encoding in test_re (#149) X-Git-Tag: v3.7.0a1~1324 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ace5c0fdd9b962e6e886c29dbcea72c53f051dc4;p=python bpo-29571: Use correct locale encoding in test_re (#149) ``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 1d7fb76c38..92d2c1386d 100644 --- a/Lib/test/test_re.py +++ b/Lib/test/test_re.py @@ -1399,7 +1399,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 1422627b90..53f1dc6d7f 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -801,6 +801,11 @@ Tools/Demos 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 #24932: Use proper command line parsing in _testembed - Issue #28950: Disallow -j0 to be combined with -T/-l in regrtest