diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2022-01-27 10:51:06 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-27 10:51:06 (GMT) |
commit | 2572c670d42887e4b1d2475b8da2e9bf6e0aa558 (patch) | |
tree | 41ee8d981242df8a05064ec6948a5cb2e204c827 /Lib | |
parent | 1ecc98dedb7ae77c2d806a70b52dfecdac39ff5b (diff) | |
download | cpython-2572c670d42887e4b1d2475b8da2e9bf6e0aa558.zip cpython-2572c670d42887e4b1d2475b8da2e9bf6e0aa558.tar.gz cpython-2572c670d42887e4b1d2475b8da2e9bf6e0aa558.tar.bz2 |
[3.10] bpo-23556: [doc] Fix inaccuracy in documentation for raise without args. Improve tests for context in nested except handlers. (GH-29236) (GH-30953)
(cherry picked from commit 08c0ed2d9c0d01ad1a5adc0787bc75e4e90cbb85)
Co-authored-by: Kinshuk Dua <kinshukdua@gmail.com>
Automerge-Triggered-By: GH:iritkatriel
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/test/test_raise.py | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/Lib/test/test_raise.py b/Lib/test/test_raise.py index 8225504..5936d75 100644 --- a/Lib/test/test_raise.py +++ b/Lib/test/test_raise.py @@ -303,7 +303,7 @@ class TestContext(unittest.TestCase): except: raise OSError() except OSError as e: - self.assertEqual(e.__context__, context) + self.assertIs(e.__context__, context) else: self.fail("No exception raised") @@ -315,7 +315,7 @@ class TestContext(unittest.TestCase): except: raise OSError() except OSError as e: - self.assertNotEqual(e.__context__, context) + self.assertIsNot(e.__context__, context) self.assertIsInstance(e.__context__, context) else: self.fail("No exception raised") @@ -328,7 +328,7 @@ class TestContext(unittest.TestCase): except: raise OSError except OSError as e: - self.assertNotEqual(e.__context__, context) + self.assertIsNot(e.__context__, context) self.assertIsInstance(e.__context__, context) else: self.fail("No exception raised") @@ -415,6 +415,22 @@ class TestContext(unittest.TestCase): except NameError as e: self.assertIsNone(e.__context__.__context__) + def test_not_last(self): + # Context is not necessarily the last exception + context = Exception("context") + try: + raise context + except Exception: + try: + raise Exception("caught") + except Exception: + pass + try: + raise Exception("new") + except Exception as exc: + raised = exc + self.assertIs(raised.__context__, context) + def test_3118(self): # deleting the generator caused the __context__ to be cleared def gen(): |