[Python-checkins] bpo-40275: Remove test.support.TESTFN_ENCODING (GH-20482)
Hai Shi
webhook-mailer at python.org
Thu May 28 10:24:44 EDT 2020
https://github.com/python/cpython/commit/24bddc1b3b58f6899b2d412e51b37f68536e4fe2
commit: 24bddc1b3b58f6899b2d412e51b37f68536e4fe2
branch: master
author: Hai Shi <shihai1992 at gmail.com>
committer: GitHub <noreply at github.com>
date: 2020-05-28T16:24:39+02:00
summary:
bpo-40275: Remove test.support.TESTFN_ENCODING (GH-20482)
Replace test.support.TESTFN_ENCODING with sys.getfilesystemencoding().
files:
M Doc/library/test.rst
M Lib/test/support/__init__.py
M Lib/test/test_sax.py
M Lib/test/test_unicode_file.py
diff --git a/Doc/library/test.rst b/Doc/library/test.rst
index 7bee6e8031a05..7580fb5e9b174 100644
--- a/Doc/library/test.rst
+++ b/Doc/library/test.rst
@@ -263,11 +263,6 @@ The :mod:`test.support` module defines the following constants:
Set to a non-ASCII name for a temporary file.
-.. data:: TESTFN_ENCODING
-
- Set to :func:`sys.getfilesystemencoding`.
-
-
.. data:: TESTFN_UNENCODABLE
Set to a filename (str type) that should not be able to be encoded by file
diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py
index 4b87a0c574c1b..bb905bd895de8 100644
--- a/Lib/test/support/__init__.py
+++ b/Lib/test/support/__init__.py
@@ -785,7 +785,6 @@ def requires_lzma(reason='requires lzma'):
# 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 @@ def requires_lzma(reason='requires lzma'):
# 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 @@ def requires_lzma(reason='requires lzma'):
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 ce3a422b502a0..bc77103641b6f 100644
--- a/Lib/test/test_sax.py
+++ b/Lib/test/test_sax.py
@@ -19,6 +19,7 @@
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 @@
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 b16e4c5b3bd61..ed1f6cecc7856 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.
More information about the Python-checkins
mailing list