]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-46411: Remove unnecessary calls to sys.exc_info() in tests (GH-30638)
authorIrit Katriel <1055913+iritkatriel@users.noreply.github.com>
Tue, 18 Jan 2022 07:05:16 +0000 (07:05 +0000)
committerGitHub <noreply@github.com>
Tue, 18 Jan 2022 07:05:16 +0000 (07:05 +0000)
Lib/test/test_argparse.py
Lib/test/test_builtin.py
Lib/test/test_inspect.py
Lib/test/test_logging.py
Lib/test/test_raise.py
Lib/test/test_zipimport.py

index 4c23610b9e961c2cdfbce201ac232f01ebffbb73..afcb88ff5ce0f8bf7a2ba051bcb6cdb8e433493b 100644 (file)
@@ -102,8 +102,8 @@ def stderr_to_parser_error(parse_args, *args, **kwargs):
                 if getattr(result, key) is sys.stderr:
                     setattr(result, key, old_stderr)
             return result
-        except SystemExit:
-            code = sys.exc_info()[1].code
+        except SystemExit as e:
+            code = e.code
             stdout = sys.stdout.getvalue()
             stderr = sys.stderr.getvalue()
             raise ArgumentParserError(
@@ -1850,8 +1850,7 @@ class TestActionUserDefined(ParserTestCase):
                     raise AssertionError('value: %s' % value)
                 assert expected_ns == namespace, ('expected %s, got %s' %
                                                   (expected_ns, namespace))
-            except AssertionError:
-                e = sys.exc_info()[1]
+            except AssertionError as e:
                 raise ArgumentParserError('opt_action failed: %s' % e)
             setattr(namespace, 'spam', value)
 
@@ -1876,8 +1875,7 @@ class TestActionUserDefined(ParserTestCase):
                     raise AssertionError('value: %s' % value)
                 assert expected_ns == namespace, ('expected %s, got %s' %
                                                   (expected_ns, namespace))
-            except AssertionError:
-                e = sys.exc_info()[1]
+            except AssertionError as e:
                 raise ArgumentParserError('arg_action failed: %s' % e)
             setattr(namespace, 'badger', value)
 
index 745680322196496631196f0b2fd196f4d5509954..4b0b15f0a93615455401901983b470bb8244d513 100644 (file)
@@ -581,8 +581,8 @@ class BuiltinTest(unittest.TestCase):
         # dir(traceback)
         try:
             raise IndexError
-        except:
-            self.assertEqual(len(dir(sys.exc_info()[2])), 4)
+        except IndexError as e:
+            self.assertEqual(len(dir(e.__traceback__)), 4)
 
         # test that object has a __dir__()
         self.assertEqual(sorted([].__dir__()), dir([]))
index 56168817a27f24d7f9bf31844c249188adbe13ea..67372cca6ed1f7c19fd5cc3b75f2c23ce9032855 100644 (file)
@@ -135,8 +135,8 @@ class TestPredicates(IsTestBase):
         self.istest(inspect.iscode, 'mod.spam.__code__')
         try:
             1/0
-        except:
-            tb = sys.exc_info()[2]
+        except Exception as e:
+            tb = e.__traceback__
             self.istest(inspect.isframe, 'tb.tb_frame')
             self.istest(inspect.istraceback, 'tb')
             if hasattr(types, 'GetSetDescriptorType'):
index e61ccdf86bdea8c3f89098effaf15ecdee2a8292..7c38676012babc391ab1e6ebd1033b40be119f9e 100644 (file)
@@ -5524,8 +5524,8 @@ for when, exp in (('S', 1),
                     print('currentSecond: %s' % currentSecond, file=sys.stderr)
                     print('r: %s' % r, file=sys.stderr)
                     print('result: %s' % result, file=sys.stderr)
-                except Exception:
-                    print('exception in diagnostic code: %s' % sys.exc_info()[1], file=sys.stderr)
+                except Exception as e:
+                    print('exception in diagnostic code: %s' % e, file=sys.stderr)
         self.assertEqual(exp, actual)
         rh.close()
     setattr(TimedRotatingFileHandlerTest, "test_compute_rollover_%s" % when, test_compute_rollover)
index 8dc62a933e872e73c378c5c3222f11a131182ca2..8225504c4756db908f59c7d5a8bafeddce6c355b 100644 (file)
@@ -12,8 +12,8 @@ import unittest
 def get_tb():
     try:
         raise OSError()
-    except:
-        return sys.exc_info()[2]
+    except OSError as e:
+        return e.__traceback__
 
 
 class Context:
index 392dcfa87a19b4021c1fdc137f7cfe18764d59b5..85dbf4d8f68eb612f78bcdb09f5a42663cde6afd 100644 (file)
@@ -710,8 +710,8 @@ class UncompressedZipImportTestCase(ImportHooksBaseTestCase):
     def doTraceback(self, module):
         try:
             module.do_raise()
-        except:
-            tb = sys.exc_info()[2].tb_next
+        except Exception as e:
+            tb = e.__traceback__.tb_next
 
             f,lno,n,line = extract_tb(tb, 1)[0]
             self.assertEqual(line, raise_src.strip())