summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_exceptions.py
diff options
context:
space:
mode:
authorDennis Sweeney <36520290+sweeneyde@users.noreply.github.com>2021-11-17 23:03:52 (GMT)
committerGitHub <noreply@github.com>2021-11-17 23:03:52 (GMT)
commit5d90c467c02ffefdb13c1abc83a171db1a99ffad (patch)
treebb239747cec3197e1bcb47579bb6f7704952b445 /Lib/test/test_exceptions.py
parent736684b1bb67369a2e95a9f621752deead44e7ef (diff)
downloadcpython-5d90c467c02ffefdb13c1abc83a171db1a99ffad.zip
cpython-5d90c467c02ffefdb13c1abc83a171db1a99ffad.tar.gz
cpython-5d90c467c02ffefdb13c1abc83a171db1a99ffad.tar.bz2
bpo-45826: Fix a crash in suggestions.c by checking for `traceback is None` (GH-29590)
Diffstat (limited to 'Lib/test/test_exceptions.py')
-rw-r--r--Lib/test/test_exceptions.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/Lib/test/test_exceptions.py b/Lib/test/test_exceptions.py
index 0f8a8f1..098804fad 100644
--- a/Lib/test/test_exceptions.py
+++ b/Lib/test/test_exceptions.py
@@ -1885,6 +1885,37 @@ class NameErrorTests(unittest.TestCase):
self.assertNotIn("something", err.getvalue())
+ def test_issue45826(self):
+ # regression test for bpo-45826
+ def f():
+ with self.assertRaisesRegex(NameError, 'aaa'):
+ aab
+
+ try:
+ f()
+ except self.failureException:
+ with support.captured_stderr() as err:
+ sys.__excepthook__(*sys.exc_info())
+
+ self.assertIn("aab", err.getvalue())
+
+ def test_issue45826_focused(self):
+ def f():
+ try:
+ nonsense
+ except BaseException as E:
+ E.with_traceback(None)
+ raise ZeroDivisionError()
+
+ try:
+ f()
+ except ZeroDivisionError:
+ with support.captured_stderr() as err:
+ sys.__excepthook__(*sys.exc_info())
+
+ self.assertIn("nonsense", err.getvalue())
+ self.assertIn("ZeroDivisionError", err.getvalue())
+
class AttributeErrorTests(unittest.TestCase):
def test_attributes(self):