summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornative-api <ivan_pozdeev@mail.ru>2018-12-06 12:43:37 +0300
committerSerhiy Storchaka <storchaka@gmail.com>2018-12-06 11:43:37 +0200
commit29a4cbff92862207eb9df9a970b3636b8b06ff5d (patch)
treeb34cbacca9cd8073a5c5418eadef8fda5a831614
parent46aa472a8f2dd9e47ba6fbe3cc416ec7c62f11f4 (diff)
downloadcpython-git-29a4cbff92862207eb9df9a970b3636b8b06ff5d.tar.gz
[2.7] bpo-33709: test_ntpath and test_posixpath fail in Windows with ACP!=1252. (GH-7278) (GH-7279)
-rw-r--r--Lib/test/support/__init__.py8
-rw-r--r--Lib/test/test_posixpath.py6
2 files changed, 8 insertions, 6 deletions
diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py
index 23b7065174..aaf028632a 100644
--- a/Lib/test/support/__init__.py
+++ b/Lib/test/support/__init__.py
@@ -657,8 +657,12 @@ if have_unicode:
unichr(0x20AC),
):
try:
- character.encode(sys.getfilesystemencoding())\
- .decode(sys.getfilesystemencoding())
+ # In Windows, 'mbcs' is used, and encode() returns '?'
+ # for characters missing in the ANSI codepage
+ if character.encode(sys.getfilesystemencoding())\
+ .decode(sys.getfilesystemencoding())\
+ != character:
+ raise UnicodeError
except UnicodeError:
pass
else:
diff --git a/Lib/test/test_posixpath.py b/Lib/test/test_posixpath.py
index 0663a21ff0..18ea2e42ea 100644
--- a/Lib/test/test_posixpath.py
+++ b/Lib/test/test_posixpath.py
@@ -496,12 +496,10 @@ class PosixPathTest(unittest.TestCase):
finally:
os.getcwd = real_getcwd
- @test_support.requires_unicode
+ @unittest.skipUnless(test_support.FS_NONASCII, 'need test_support.FS_NONASCII')
def test_expandvars_nonascii_word(self):
encoding = sys.getfilesystemencoding()
- # Non-ASCII word characters
- letters = test_support.u(r'\xe6\u0130\u0141\u03c6\u041a\u05d0\u062a\u0e01')
- uwnonascii = letters.encode(encoding, 'ignore').decode(encoding)[:3]
+ uwnonascii = test_support.FS_NONASCII
swnonascii = uwnonascii.encode(encoding)
if not swnonascii:
self.skipTest('Needs non-ASCII word characters')