[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.
This commit is contained in:
Nick Coghlan 2017-02-19 10:03:35 +05:30 committed by GitHub
parent d372cda5cd
commit 0683d6889b
2 changed files with 6 additions and 1 deletions

View file

@ -1402,7 +1402,7 @@ class ReTests(unittest.TestCase):
def test_locale_flag(self): def test_locale_flag(self):
import locale import locale
_, enc = locale.getlocale(locale.LC_CTYPE) enc = locale.getpreferredencoding(False)
# Search non-ASCII letter # Search non-ASCII letter
for i in range(128, 256): for i in range(128, 256):
try: try:

View file

@ -202,6 +202,11 @@ Documentation
Tests 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 - Issue #28950: Disallow -j0 to be combined with -T/-l in regrtest
command line arguments. command line arguments.