mirror of
https://github.com/python/cpython.git
synced 2025-07-23 03:05:38 +00:00
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.
(cherry picked from commit f9b7457bd7
)
Co-authored-by: Victor Stinner <vstinner@redhat.com>
This commit is contained in:
parent
e224d2865a
commit
2683ded568
3 changed files with 83 additions and 51 deletions
|
@ -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) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue