mirror of
https://github.com/python/cpython.git
synced 2024-12-01 05:45:40 +08:00
bpo-37335, test_c_locale_coercion: Remove unnecessary code (GH-14447)
Python initialization now ensures that sys stream encoding names are always normalized by codecs.lookup(encoding).name. Simplify test_c_locale_coercion: it doesn't have to normalize encoding names anymore.
This commit is contained in:
parent
d4efd917ac
commit
61bf97e916
@ -116,28 +116,15 @@ class EncodingDetails(_EncodingDetails):
|
||||
stream_info = 2*[_stream.format("surrogateescape")]
|
||||
# stderr should always use backslashreplace
|
||||
stream_info.append(_stream.format("backslashreplace"))
|
||||
expected_lang = env_vars.get("LANG", "not set").lower()
|
||||
expected_lang = env_vars.get("LANG", "not set")
|
||||
if coercion_expected:
|
||||
expected_lc_ctype = CLI_COERCION_TARGET.lower()
|
||||
expected_lc_ctype = CLI_COERCION_TARGET
|
||||
else:
|
||||
expected_lc_ctype = env_vars.get("LC_CTYPE", "not set").lower()
|
||||
expected_lc_all = env_vars.get("LC_ALL", "not set").lower()
|
||||
expected_lc_ctype = env_vars.get("LC_CTYPE", "not set")
|
||||
expected_lc_all = env_vars.get("LC_ALL", "not set")
|
||||
env_info = expected_lang, expected_lc_ctype, expected_lc_all
|
||||
return dict(cls(fs_encoding, *stream_info, *env_info)._asdict())
|
||||
|
||||
@staticmethod
|
||||
def _handle_output_variations(data):
|
||||
"""Adjust the output to handle platform specific idiosyncrasies
|
||||
|
||||
* Some platforms report ASCII as ANSI_X3.4-1968
|
||||
* Some platforms report ASCII as US-ASCII
|
||||
* Some platforms report UTF-8 instead of utf-8
|
||||
"""
|
||||
data = data.replace(b"ANSI_X3.4-1968", b"ascii")
|
||||
data = data.replace(b"US-ASCII", b"ascii")
|
||||
data = data.lower()
|
||||
return data
|
||||
|
||||
@classmethod
|
||||
def get_child_details(cls, env_vars):
|
||||
"""Retrieves fsencoding and standard stream details from a child process
|
||||
@ -157,8 +144,7 @@ class EncodingDetails(_EncodingDetails):
|
||||
if not result.rc == 0:
|
||||
result.fail(py_cmd)
|
||||
# All subprocess outputs in this test case should be pure ASCII
|
||||
adjusted_output = cls._handle_output_variations(result.out)
|
||||
stdout_lines = adjusted_output.decode("ascii").splitlines()
|
||||
stdout_lines = result.out.decode("ascii").splitlines()
|
||||
child_encoding_details = dict(cls(*stdout_lines)._asdict())
|
||||
stderr_lines = result.err.decode("ascii").rstrip().splitlines()
|
||||
return child_encoding_details, stderr_lines
|
||||
|
@ -0,0 +1 @@
|
||||
Remove no longer necessary code from c locale coercion tests
|
Loading…
Reference in New Issue
Block a user