diff options
| author | Berker Peksag <berker.peksag@gmail.com> | 2015-07-24 14:37:27 (GMT) |
|---|---|---|
| committer | Berker Peksag <berker.peksag@gmail.com> | 2015-07-24 14:37:27 (GMT) |
| commit | 0bb2c217b4df367413409d6c46034709d784c7f3 (patch) | |
| tree | a3f56aa289769a7e45e520bc9ab947b835bd5a5f /Lib/test | |
| parent | e0fcf2d205f1225a2ca8c53cb955073758635b69 (diff) | |
| parent | c3f417dc47b3a9564608c98cd176c530d9ebdf09 (diff) | |
| download | cpython-0bb2c217b4df367413409d6c46034709d784c7f3.zip cpython-0bb2c217b4df367413409d6c46034709d784c7f3.tar.gz cpython-0bb2c217b4df367413409d6c46034709d784c7f3.tar.bz2 | |
Issue #24695: Fix a regression in traceback.print_exception()
If exc_traceback is None we shouldn't print a traceback header
like described in the documentation.
Diffstat (limited to 'Lib/test')
| -rw-r--r-- | Lib/test/test_traceback.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/Lib/test/test_traceback.py b/Lib/test/test_traceback.py index e8c4d74..641a2df 100644 --- a/Lib/test/test_traceback.py +++ b/Lib/test/test_traceback.py @@ -209,6 +209,13 @@ class SyntaxTracebackCases(unittest.TestCase): b'ZeroDivisionError: division by zero'] self.assertEqual(stderr.splitlines(), expected) + def test_print_exception(self): + output = StringIO() + traceback.print_exception( + Exception, Exception("projector"), None, file=output + ) + self.assertEqual(output.getvalue(), "Exception: projector\n") + class TracebackFormatTests(unittest.TestCase): @@ -848,6 +855,12 @@ class TestTracebackException(unittest.TestCase): exc = traceback.TracebackException(Exception, e, tb) self.assertEqual(exc.stack[0].locals, None) + def test_traceback_header(self): + # do not print a traceback header if exc_traceback is None + # see issue #24695 + exc = traceback.TracebackException(Exception, Exception("haven"), None) + self.assertEqual(list(exc.format()), ["Exception: haven\n"]) + class MiscTest(unittest.TestCase): |
