]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-102008: simplify test_except_star by using sys.exception() instead of sys.exc_info...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Tue, 21 Feb 2023 15:38:27 +0000 (07:38 -0800)
committerGitHub <noreply@github.com>
Tue, 21 Feb 2023 15:38:27 +0000 (07:38 -0800)
(cherry picked from commit c2b85a95a50687a2e5d1873e17266370876e77e9)

Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
Lib/test/test_except_star.py

index 9de72dbd5a32647a744b83e44b009dced0ef97d7..c5167c5bba38af4337dd2187a4544b8b138d875a 100644 (file)
@@ -208,44 +208,38 @@ class ExceptStarTest(unittest.TestCase):
 
 class TestExceptStarSplitSemantics(ExceptStarTest):
     def doSplitTestNamed(self, exc, T, match_template, rest_template):
-        initial_exc_info = sys.exc_info()
-        exc_info = match = rest = None
+        initial_sys_exception = sys.exception()
+        sys_exception = match = rest = None
         try:
             try:
                 raise exc
             except* T as e:
-                exc_info = sys.exc_info()
+                sys_exception = sys.exception()
                 match = e
         except BaseException as e:
             rest = e
 
-        if match_template:
-            self.assertEqual(exc_info[1], match)
-        else:
-            self.assertIsNone(exc_info)
+        self.assertEqual(sys_exception, match)
         self.assertExceptionIsLike(match, match_template)
         self.assertExceptionIsLike(rest, rest_template)
-        self.assertEqual(sys.exc_info(), initial_exc_info)
+        self.assertEqual(sys.exception(), initial_sys_exception)
 
     def doSplitTestUnnamed(self, exc, T, match_template, rest_template):
-        initial_exc_info = sys.exc_info()
-        exc_info = match = rest = None
+        initial_sys_exception = sys.exception()
+        sys_exception = match = rest = None
         try:
             try:
                 raise exc
             except* T:
-                exc_info = sys.exc_info()
-                match = sys.exc_info()[1]
+                sys_exception = match = sys.exception()
             else:
                 if rest_template:
                     self.fail("Exception not raised")
         except BaseException as e:
             rest = e
         self.assertExceptionIsLike(match, match_template)
-        if match_template:
-            self.assertEqual(exc_info[0], type(match_template))
         self.assertExceptionIsLike(rest, rest_template)
-        self.assertEqual(sys.exc_info(), initial_exc_info)
+        self.assertEqual(sys.exception(), initial_sys_exception)
 
     def doSplitTestInExceptHandler(self, exc, T, match_template, rest_template):
         try:
@@ -409,11 +403,11 @@ class TestExceptStarSplitSemantics(ExceptStarTest):
         try:
             raise ExceptionGroup("mmu", [OSError("os"), BlockingIOError("io")])
         except* BlockingIOError:
-            e = sys.exc_info()[1]
+            e = sys.exception()
             self.assertExceptionIsLike(e,
                 ExceptionGroup("mmu", [BlockingIOError("io")]))
         except* OSError:
-            e = sys.exc_info()[1]
+            e = sys.exception()
             self.assertExceptionIsLike(e,
                 ExceptionGroup("mmu", [OSError("os")]))
         else:
@@ -434,7 +428,7 @@ class TestExceptStarSplitSemantics(ExceptStarTest):
         try:
             raise ExceptionGroup("fstu", [BlockingIOError("io")])
         except* OSError:
-            e = sys.exc_info()[1]
+            e = sys.exception()
             self.assertExceptionIsLike(e,
                 ExceptionGroup("fstu", [BlockingIOError("io")]))
         except* BlockingIOError:
@@ -452,7 +446,7 @@ class TestExceptStarSplitSemantics(ExceptStarTest):
                 pass
             else:
                 self.fail("Exception not raised")
-            e = sys.exc_info()[1]
+            e = sys.exception()
             self.assertExceptionIsLike(e,
                  ExceptionGroup("n", [BlockingIOError("io")]))
         else:
@@ -766,7 +760,7 @@ class TestExceptStarRaiseFrom(ExceptStarTest):
             try:
                 raise orig
             except* OSError:
-                e = sys.exc_info()[1]
+                e = sys.exception()
                 raise TypeError(3) from e
         except ExceptionGroup as e:
             exc = e
@@ -821,7 +815,7 @@ class TestExceptStarRaiseFrom(ExceptStarTest):
             try:
                 raise orig
             except* (TypeError, ValueError) as e:
-                e = sys.exc_info()[1]
+                e = sys.exception()
                 raise SyntaxError(3) from e
         except ExceptionGroup as e:
             exc = e
@@ -882,10 +876,10 @@ class TestExceptStarRaiseFrom(ExceptStarTest):
             try:
                 raise orig
             except* TypeError:
-                e = sys.exc_info()[1]
+                e = sys.exception()
                 raise SyntaxError(3) from e
             except* ValueError:
-                e = sys.exc_info()[1]
+                e = sys.exception()
                 raise SyntaxError(4) from e
         except ExceptionGroup as e:
             exc = e
@@ -982,7 +976,7 @@ class TestExceptStarExceptionGroupSubclass(ExceptStarTest):
 
 
 class TestExceptStarCleanup(ExceptStarTest):
-    def test_exc_info_restored(self):
+    def test_sys_exception_restored(self):
         try:
             try:
                 raise ValueError(42)
@@ -997,7 +991,7 @@ class TestExceptStarCleanup(ExceptStarTest):
 
         self.assertExceptionIsLike(exc, ZeroDivisionError('division by zero'))
         self.assertExceptionIsLike(exc.__context__, ValueError(42))
-        self.assertEqual(sys.exc_info(), (None, None, None))
+        self.assertEqual(sys.exception(), None)
 
 
 class TestExceptStar_WeirdLeafExceptions(ExceptStarTest):