From: Jakub KulĂ­k Date: Tue, 2 Jul 2019 10:48:28 +0000 (+0200) Subject: bpo-37335, test_c_locale_coercion: Remove unnecessary code (GH-14447) X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=61bf97e91620e020939d57a36918ab22579920ff;p=python 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. --- diff --git a/Lib/test/test_c_locale_coercion.py b/Lib/test/test_c_locale_coercion.py index 8149e2b98b..fb599b0fcb 100644 --- a/Lib/test/test_c_locale_coercion.py +++ b/Lib/test/test_c_locale_coercion.py @@ -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 diff --git a/Misc/NEWS.d/next/Tests/2019-06-28-16-37-52.bpo-37335.o5S2hY.rst b/Misc/NEWS.d/next/Tests/2019-06-28-16-37-52.bpo-37335.o5S2hY.rst new file mode 100644 index 0000000000..cb884d9265 --- /dev/null +++ b/Misc/NEWS.d/next/Tests/2019-06-28-16-37-52.bpo-37335.o5S2hY.rst @@ -0,0 +1 @@ +Remove no longer necessary code from c locale coercion tests