]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-46411: Remove unnecessary calls to sys.exc_info() in tests (GH-30638)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Tue, 18 Jan 2022 07:33:00 +0000 (23:33 -0800)
committerGitHub <noreply@github.com>
Tue, 18 Jan 2022 07:33:00 +0000 (23:33 -0800)
(cherry picked from commit a287b31bcb065e4122400cb59167340d25480e6d)

Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
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 c96a540a8b31567020685396269bea4eb65e09a4..37a73e0686377414b643a4e0e6b76e5253d9aa69 100644 (file)
@@ -101,8 +101,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(
@@ -1830,8 +1830,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)
 
@@ -1856,8 +1855,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 93ff2f85df193d0435ae9e716bc33fc7b5e45a92..545dab5c6348f7512e66ac3e60c7114d9cfe680f 100644 (file)
@@ -132,8 +132,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 03d0319306a480d241d680eb9b59bb5544ae8411..8212cf7a9a964ddc2e1addca8abcfdbfc25e15ac 100644 (file)
@@ -5508,8 +5508,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 19d3a880f4cd7b4630d11a23bbfc09c239d5c100..b291d5301690dc33391dff40c5511527b4c0a5d3 100644 (file)
@@ -709,8 +709,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())