bpo-37467: Fix PyErr_Display() for bytes filename (GH-14504)
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.
This commit is contained in:
@@ -797,7 +797,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) {
|
||||
|
||||
Reference in New Issue
Block a user