mirror of
https://github.com/python/cpython.git
synced 2025-07-24 11:44:31 +00:00
Issue #16455: On FreeBSD and Solaris, if the locale is C, the
ASCII/surrogateescape codec is now used, instead of the locale encoding, to decode the command line arguments. This change fixes inconsistencies with os.fsencode() and os.fsdecode() because these operating systems announces an ASCII locale encoding, whereas the ISO-8859-1 encoding is used in practice.
This commit is contained in:
parent
ca9f8b21c8
commit
d45c7f8d74
5 changed files with 242 additions and 41 deletions
|
@ -367,11 +367,10 @@ class CmdLineTest(unittest.TestCase):
|
|||
# Mac OS X denies the creation of a file with an invalid UTF-8 name.
|
||||
# Windows allows to create a name with an arbitrary bytes name, but
|
||||
# Python cannot a undecodable bytes argument to a subprocess.
|
||||
#if (support.TESTFN_UNDECODABLE
|
||||
#and sys.platform not in ('win32', 'darwin')):
|
||||
# name = os.fsdecode(support.TESTFN_UNDECODABLE)
|
||||
#elif support.TESTFN_NONASCII:
|
||||
if support.TESTFN_NONASCII:
|
||||
if (support.TESTFN_UNDECODABLE
|
||||
and sys.platform not in ('win32', 'darwin')):
|
||||
name = os.fsdecode(support.TESTFN_UNDECODABLE)
|
||||
elif support.TESTFN_NONASCII:
|
||||
name = support.TESTFN_NONASCII
|
||||
else:
|
||||
self.skipTest("need support.TESTFN_NONASCII")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue