From 8cbffc4d96d1da0fbc38da6f34f2da30c5ffd601 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Mon, 1 Jul 2019 17:41:38 +0200 Subject: bpo-37467: Fix PyErr_Display() for bytes filename (GH-14504) (GH-14515) Fix sys.excepthook() and PyErr_Display() if a filename is a bytes string. For example, for a SyntaxError exception where the filename attribute is a bytes string. Cleanup also test_sys: * Sort imports. * Rename numruns global var to INTERN_NUMRUNS. * Add DisplayHookTest and ExceptHookTest test case classes. * Don't save/restore sys.stdout and sys.displayhook using setUp()/tearDown(): do it in each test method. * Test error case (call hook with no argument) after the success case. (cherry picked from commit f9b7457bd7f438263e0d2dd1f70589ad56a2585e) --- Python/pythonrun.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Python/pythonrun.c') diff --git a/Python/pythonrun.c b/Python/pythonrun.c index c4ec5ac66c..4c974cef39 100644 --- a/Python/pythonrun.c +++ b/Python/pythonrun.c @@ -750,7 +750,7 @@ print_exception(PyObject *f, PyObject *value) Py_DECREF(value); value = message; - line = PyUnicode_FromFormat(" File \"%U\", line %d\n", + line = PyUnicode_FromFormat(" File \"%S\", line %d\n", filename, lineno); Py_DECREF(filename); if (line != NULL) { -- cgit v1.2.1