Brian Skinn <bsk...@alum.mit.edu> added the comment:

Well, the warning content *itself* may not get passed through the displayhook 
at raise-time, in the process of being run through stderr and displayed by the 
REPL.

But, when you capture the warning content with redirect_stderr(sio) and then 
">>> sio.getvalue()", the contents of the capture from stderr, as produced by 
.getvalue(), *will* get passed through the displayhook, and thus be escaped.



In theory, I could have obtained a consistent 'want' by using print() as you've 
done. However, for my particular example (see OP), I wanted to elide the first 
part of the warning message, which is messy, irrelevant to my code example, and 
can change from Python version to Python version. However, as doctest is 
currently implemented, a 'want' can't start with an ellipsis because it 
collides with the regex that detects PS2 prompts 
(https://github.com/python/cpython/blob/4f5a3493b534a95fbb01d593b1ffe320db6b395e/Lib/doctest.py#L583-L586).

See #36714 (https://bugs.python.org/issue36714) for more information and a 
proposed enhancement/fix.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue36695>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to