diff options
author | Hai Shi <shihai1992@gmail.com> | 2020-05-28 14:24:39 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-28 14:24:39 (GMT) |
commit | 24bddc1b3b58f6899b2d412e51b37f68536e4fe2 (patch) | |
tree | c9960b0130a3a7f1b33e39371ffcd18037218320 /Lib | |
parent | 84ee7e1573d166fe7a9be676813e12523b62ab24 (diff) | |
download | cpython-24bddc1b3b58f6899b2d412e51b37f68536e4fe2.zip cpython-24bddc1b3b58f6899b2d412e51b37f68536e4fe2.tar.gz cpython-24bddc1b3b58f6899b2d412e51b37f68536e4fe2.tar.bz2 |
bpo-40275: Remove test.support.TESTFN_ENCODING (GH-20482)
Replace test.support.TESTFN_ENCODING with sys.getfilesystemencoding().
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/test/support/__init__.py | 11 | ||||
-rw-r--r-- | Lib/test/test_sax.py | 3 | ||||
-rw-r--r-- | Lib/test/test_unicode_file.py | 5 |
3 files changed, 10 insertions, 9 deletions
diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py index 4b87a0c..bb905bd 100644 --- a/Lib/test/support/__init__.py +++ b/Lib/test/support/__init__.py @@ -785,7 +785,6 @@ if sys.platform == 'darwin': # http://developer.apple.com/mac/library/qa/qa2001/qa1173.html import unicodedata TESTFN_UNICODE = unicodedata.normalize('NFD', TESTFN_UNICODE) -TESTFN_ENCODING = sys.getfilesystemencoding() # TESTFN_UNENCODABLE is a filename (str type) that should *not* be able to be # encoded by the filesystem encoding (in strict mode). It can be None if we @@ -798,23 +797,23 @@ if os.name == 'nt': # probability that the whole name is encodable to MBCS (issue #9819) TESTFN_UNENCODABLE = TESTFN + "-\u5171\u0141\u2661\u0363\uDC80" try: - TESTFN_UNENCODABLE.encode(TESTFN_ENCODING) + TESTFN_UNENCODABLE.encode(sys.getfilesystemencoding()) except UnicodeEncodeError: pass else: print('WARNING: The filename %r CAN be encoded by the filesystem encoding (%s). ' 'Unicode filename tests may not be effective' - % (TESTFN_UNENCODABLE, TESTFN_ENCODING)) + % (TESTFN_UNENCODABLE, sys.getfilesystemencoding())) TESTFN_UNENCODABLE = None # Mac OS X denies unencodable filenames (invalid utf-8) elif sys.platform != 'darwin': try: # ascii and utf-8 cannot encode the byte 0xff - b'\xff'.decode(TESTFN_ENCODING) + b'\xff'.decode(sys.getfilesystemencoding()) except UnicodeDecodeError: # 0xff will be encoded using the surrogate character u+DCFF TESTFN_UNENCODABLE = TESTFN \ - + b'-\xff'.decode(TESTFN_ENCODING, 'surrogateescape') + + b'-\xff'.decode(sys.getfilesystemencoding(), 'surrogateescape') else: # File system encoding (eg. ISO-8859-* encodings) can encode # the byte 0xff. Skip some unicode filename tests. @@ -845,7 +844,7 @@ for name in ( b'\x81\x98', ): try: - name.decode(TESTFN_ENCODING) + name.decode(sys.getfilesystemencoding()) except UnicodeDecodeError: TESTFN_UNDECODABLE = os.fsencode(TESTFN) + name break diff --git a/Lib/test/test_sax.py b/Lib/test/test_sax.py index ce3a422..bc77103 100644 --- a/Lib/test/test_sax.py +++ b/Lib/test/test_sax.py @@ -19,6 +19,7 @@ from io import BytesIO, StringIO import codecs import os.path import shutil +import sys from urllib.error import URLError import urllib.request from test import support @@ -35,7 +36,7 @@ except UnicodeEncodeError: supports_nonascii_filenames = True if not os.path.supports_unicode_filenames: try: - support.TESTFN_UNICODE.encode(support.TESTFN_ENCODING) + support.TESTFN_UNICODE.encode(sys.getfilesystemencoding()) except (UnicodeError, TypeError): # Either the file system encoding is None, or the file name # cannot be encoded in the file system encoding. diff --git a/Lib/test/test_unicode_file.py b/Lib/test/test_unicode_file.py index b16e4c5..ed1f6ce 100644 --- a/Lib/test/test_unicode_file.py +++ b/Lib/test/test_unicode_file.py @@ -2,15 +2,16 @@ # We don't test many operations on files other than # that their names can be used with Unicode characters. import os, glob, time, shutil +import sys import unicodedata import unittest from test.support import (run_unittest, rmtree, change_cwd, - TESTFN_ENCODING, TESTFN_UNICODE, TESTFN_UNENCODABLE, create_empty_file) + TESTFN_UNICODE, TESTFN_UNENCODABLE, create_empty_file) if not os.path.supports_unicode_filenames: try: - TESTFN_UNICODE.encode(TESTFN_ENCODING) + TESTFN_UNICODE.encode(sys.getfilesystemencoding()) except (UnicodeError, TypeError): # Either the file system encoding is None, or the file name # cannot be encoded in the file system encoding. |