mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
gh-109179: Fix traceback display for SyntaxErrors with notes (#109197)
(cherry picked from commit ecd21a629a
)
This commit is contained in:
parent
0e2d67457b
commit
1e8696133c
3 changed files with 30 additions and 30 deletions
|
@ -1546,27 +1546,28 @@ class BaseExceptionReportingTests:
|
|||
err_msg = '<note str() failed>'
|
||||
self.assertEqual(self.get_report(e), vanilla + err_msg + '\nFinal Note\n')
|
||||
|
||||
def test_exception_with_note_with_multiple_notes(self):
|
||||
e = ValueError(42)
|
||||
vanilla = self.get_report(e)
|
||||
def test_exception_with_multiple_notes(self):
|
||||
for e in [ValueError(42), SyntaxError('bad syntax')]:
|
||||
with self.subTest(e=e):
|
||||
vanilla = self.get_report(e)
|
||||
|
||||
e.add_note('Note 1')
|
||||
e.add_note('Note 2')
|
||||
e.add_note('Note 3')
|
||||
e.add_note('Note 1')
|
||||
e.add_note('Note 2')
|
||||
e.add_note('Note 3')
|
||||
|
||||
self.assertEqual(
|
||||
self.get_report(e),
|
||||
vanilla + 'Note 1\n' + 'Note 2\n' + 'Note 3\n')
|
||||
self.assertEqual(
|
||||
self.get_report(e),
|
||||
vanilla + 'Note 1\n' + 'Note 2\n' + 'Note 3\n')
|
||||
|
||||
del e.__notes__
|
||||
e.add_note('Note 4')
|
||||
del e.__notes__
|
||||
e.add_note('Note 5')
|
||||
e.add_note('Note 6')
|
||||
del e.__notes__
|
||||
e.add_note('Note 4')
|
||||
del e.__notes__
|
||||
e.add_note('Note 5')
|
||||
e.add_note('Note 6')
|
||||
|
||||
self.assertEqual(
|
||||
self.get_report(e),
|
||||
vanilla + 'Note 5\n' + 'Note 6\n')
|
||||
self.assertEqual(
|
||||
self.get_report(e),
|
||||
vanilla + 'Note 5\n' + 'Note 6\n')
|
||||
|
||||
def test_exception_qualname(self):
|
||||
class A:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue