Author: Philip Jenvey <pjen...@underboss.org> Branch: py3.5 Changeset: r89601:2fb902af2c9c Date: 2017-01-15 20:55 -0800 http://bitbucket.org/pypy/pypy/changeset/2fb902af2c9c/
Log: fix PYTHONIOENCODING="" diff --git a/pypy/interpreter/app_main.py b/pypy/interpreter/app_main.py --- a/pypy/interpreter/app_main.py +++ b/pypy/interpreter/app_main.py @@ -291,10 +291,10 @@ try: if encoding and ':' in encoding: encoding, errors = encoding.split(':', 1) - encoding = encoding or None errors = errors or None else: errors = None + encoding = encoding or None if not (encoding or errors): # stdin/out default to surrogateescape in C locale import _locale diff --git a/pypy/interpreter/test/test_app_main.py b/pypy/interpreter/test/test_app_main.py --- a/pypy/interpreter/test/test_app_main.py +++ b/pypy/interpreter/test/test_app_main.py @@ -1004,11 +1004,17 @@ assert data == expected def test_pythonioencoding_c_locale(self): - p = getscript_in_dir("import sys; print(sys.stdout.errors, end='')") - env = os.environ.copy() - env["LC_ALL"] = "C" - data = self.run(p, env=env) - assert data == "surrogateescape" + for encoding, expected in [ + (None, "surrogateescape"), + ("", "surrogateescape") + ]: + p = getscript_in_dir("import sys; print(sys.stdout.errors, end='')") + env = os.environ.copy() + env["LC_ALL"] = "C" + if encoding is not None: + env["PYTHONIOENCODING"] = encoding + data = self.run(p, env=env) + assert data == "surrogateescape" def test_sys_exit_pythonioencoding(self): if sys.version_info < (2, 7): _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit