summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_c_locale_coercion.py
Commit message (Collapse)AuthorAgeFilesLines
* bpo-30836: fix test_c_locale_coercion on AIX (GH-2713)Nick Coghlan2017-07-151-1/+8
| | | | | | | | AIX uses iso8859-1 in the C locale, not ASCII AIX doesn't currently provide any of the locale coercion locales, but we leave locale coercion enabled in case one gets added in the future.
* bpo-30647: Check nl_langinfo(CODESET) in locale coercion (GH-2374)Nick Coghlan2017-06-291-7/+18
| | | | | | | | | | | | | - On some versions of FreeBSD, setting the "UTF-8" locale succeeds, but a subsequent "nl_langinfo(CODESET)" fails - adding a check for this in the coercion logic means that coercion will happen on systems where this check succeeds, and will be skipped otherwise - that way CPython should automatically adapt to changes in platform behaviour, rather than needing a new release to enable coercion at build time - this also allows UTF-8 to be re-enabled as a coercion target, restoring the locale coercion behaviour on Mac OS X
* bpo-30565: Add PYTHONCOERCECLOCALE=warn runtime flag (GH-2260)Nick Coghlan2017-06-181-78/+130
| | | | | | | | | | | | - removes PY_WARN_ON_C_LOCALE build time flag - locale coercion and compatibility warnings are now always compiled in, but are off by default - adds PYTHONCOERCECLOCALE=warn runtime option to aid in debugging potentially locale related compatibility problems Due to not-yet-resolved test failures on *BSD systems (including Mac OS X), this also temporarily disables UTF-8 as a locale coercion target, and skips testing the interpreter's behavior in the POSIX locale.
* bpo-28180: Standard stream & FS encoding differ on Mac OS X (GH-2208)Nick Coghlan2017-06-151-21/+37
| | | | | | | | | In the C locale on Mac OS X, the default filesystem encoding used for operating system interfaces is UTF-8, but the default encoding used on the standard streams is still ASCII. Setting the POSIX locale also behaves differently from setting other locales on Mac OS X, so skip that in the test suite for now.
* bpo-28180: assume UTF-8 for Mac OS X PEP 538 tests (GH-2130)Nick Coghlan2017-06-131-5/+24
|
* bpo-30635: Fix refleak in test_c_locale_coercion (#2126)Victor Stinner2017-06-131-21/+25
| | | | | | | | | When checking for reference leaks, test_c_locale_coercion is run multiple times and so _LocaleCoercionTargetsTestCase.setUpClass() is called multiple times. setUpClass() appends new value at each call, so it looks like a reference leak. Moving the setup from setUpClass() to setUpModule() avoids this, eliminating the false alarm.
* bpo-28180: Implementation for PEP 538 (#659)Nick Coghlan2017-06-111-0/+262
- new PYTHONCOERCECLOCALE config setting - coerces legacy C locale to C.UTF-8, C.utf8 or UTF-8 by default - always uses C.UTF-8 on Android - uses `surrogateescape` on stdin and stdout in the coercion target locales - configure option to disable locale coercion at build time - configure option to disable C locale warning at build time