bpo-33809: add the TracebackException.print() method (GH-24231)

This commit is contained in:
Irit Katriel 2021-05-22 17:39:33 +01:00 committed by GitHub
parent 9e746e3298
commit 220dd80a26
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 34 additions and 4 deletions

View file

@ -1378,6 +1378,23 @@ class TestTracebackException(unittest.TestCase):
exc = traceback.TracebackException(Exception, Exception("haven"), None)
self.assertEqual(list(exc.format()), ["Exception: haven\n"])
def test_print(self):
def f():
x = 12
try:
x/0
except Exception:
return sys.exc_info()
exc = traceback.TracebackException(*f(), capture_locals=True)
output = StringIO()
exc.print(file=output)
self.assertEqual(
output.getvalue().split('\n')[-4:],
[' x/0',
' x = 12',
'ZeroDivisionError: division by zero',
''])
class MiscTest(unittest.TestCase):