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")]
|
stream_info = 2*[_stream.format("surrogateescape")]
|
||||||
# stderr should always use backslashreplace
|
# stderr should always use backslashreplace
|
||||||
stream_info.append(_stream.format("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:
|
if coercion_expected:
|
||||||
expected_lc_ctype = CLI_COERCION_TARGET.lower()
|
expected_lc_ctype = CLI_COERCION_TARGET
|
||||||
else:
|
else:
|
||||||
expected_lc_ctype = env_vars.get("LC_CTYPE", "not set").lower()
|
expected_lc_ctype = env_vars.get("LC_CTYPE", "not set")
|
||||||
expected_lc_all = env_vars.get("LC_ALL", "not set").lower()
|
expected_lc_all = env_vars.get("LC_ALL", "not set")
|
||||||
env_info = expected_lang, expected_lc_ctype, expected_lc_all
|
env_info = expected_lang, expected_lc_ctype, expected_lc_all
|
||||||
return dict(cls(fs_encoding, *stream_info, *env_info)._asdict())
|
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
|
@classmethod
|
||||||
def get_child_details(cls, env_vars):
|
def get_child_details(cls, env_vars):
|
||||||
"""Retrieves fsencoding and standard stream details from a child process
|
"""Retrieves fsencoding and standard stream details from a child process
|
||||||
|
@ -157,8 +144,7 @@ class EncodingDetails(_EncodingDetails):
|
||||||
if not result.rc == 0:
|
if not result.rc == 0:
|
||||||
result.fail(py_cmd)
|
result.fail(py_cmd)
|
||||||
# All subprocess outputs in this test case should be pure ASCII
|
# All subprocess outputs in this test case should be pure ASCII
|
||||||
adjusted_output = cls._handle_output_variations(result.out)
|
stdout_lines = result.out.decode("ascii").splitlines()
|
||||||
stdout_lines = adjusted_output.decode("ascii").splitlines()
|
|
||||||
child_encoding_details = dict(cls(*stdout_lines)._asdict())
|
child_encoding_details = dict(cls(*stdout_lines)._asdict())
|
||||||
stderr_lines = result.err.decode("ascii").rstrip().splitlines()
|
stderr_lines = result.err.decode("ascii").rstrip().splitlines()
|
||||||
return child_encoding_details, stderr_lines
|
return child_encoding_details, stderr_lines
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Remove no longer necessary code from c locale coercion tests
|
Loading…
Reference in New Issue