Skip to content

Commit 42038d0

Browse files
bpo-46411: Remove unnecessary calls to sys.exc_info() in tests (GH-30638)
(cherry picked from commit a287b31) Co-authored-by: Irit Katriel <[email protected]>
1 parent 7a822c9 commit 42038d0

File tree

6 files changed

+14
-16
lines changed

6 files changed

+14
-16
lines changed

Lib/test/test_argparse.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,8 @@ def stderr_to_parser_error(parse_args, *args, **kwargs):
101101
if getattr(result, key) is sys.stderr:
102102
setattr(result, key, old_stderr)
103103
return result
104-
except SystemExit:
105-
code = sys.exc_info()[1].code
104+
except SystemExit as e:
105+
code = e.code
106106
stdout = sys.stdout.getvalue()
107107
stderr = sys.stderr.getvalue()
108108
raise ArgumentParserError(
@@ -1830,8 +1830,7 @@ def __call__(self, parser, namespace, value, option_string=None):
18301830
raise AssertionError('value: %s' % value)
18311831
assert expected_ns == namespace, ('expected %s, got %s' %
18321832
(expected_ns, namespace))
1833-
except AssertionError:
1834-
e = sys.exc_info()[1]
1833+
except AssertionError as e:
18351834
raise ArgumentParserError('opt_action failed: %s' % e)
18361835
setattr(namespace, 'spam', value)
18371836

@@ -1856,8 +1855,7 @@ def __call__(self, parser, namespace, value, option_string=None):
18561855
raise AssertionError('value: %s' % value)
18571856
assert expected_ns == namespace, ('expected %s, got %s' %
18581857
(expected_ns, namespace))
1859-
except AssertionError:
1860-
e = sys.exc_info()[1]
1858+
except AssertionError as e:
18611859
raise ArgumentParserError('arg_action failed: %s' % e)
18621860
setattr(namespace, 'badger', value)
18631861

Lib/test/test_builtin.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -581,8 +581,8 @@ def __dir__(self):
581581
# dir(traceback)
582582
try:
583583
raise IndexError
584-
except:
585-
self.assertEqual(len(dir(sys.exc_info()[2])), 4)
584+
except IndexError as e:
585+
self.assertEqual(len(dir(e.__traceback__)), 4)
586586

587587
# test that object has a __dir__()
588588
self.assertEqual(sorted([].__dir__()), dir([]))

Lib/test/test_inspect.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,8 +132,8 @@ def test_excluding_predicates(self):
132132
self.istest(inspect.iscode, 'mod.spam.__code__')
133133
try:
134134
1/0
135-
except:
136-
tb = sys.exc_info()[2]
135+
except Exception as e:
136+
tb = e.__traceback__
137137
self.istest(inspect.isframe, 'tb.tb_frame')
138138
self.istest(inspect.istraceback, 'tb')
139139
if hasattr(types, 'GetSetDescriptorType'):

Lib/test/test_logging.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5508,8 +5508,8 @@ def test_compute_rollover(self, when=when, exp=exp):
55085508
print('currentSecond: %s' % currentSecond, file=sys.stderr)
55095509
print('r: %s' % r, file=sys.stderr)
55105510
print('result: %s' % result, file=sys.stderr)
5511-
except Exception:
5512-
print('exception in diagnostic code: %s' % sys.exc_info()[1], file=sys.stderr)
5511+
except Exception as e:
5512+
print('exception in diagnostic code: %s' % e, file=sys.stderr)
55135513
self.assertEqual(exp, actual)
55145514
rh.close()
55155515
setattr(TimedRotatingFileHandlerTest, "test_compute_rollover_%s" % when, test_compute_rollover)

Lib/test/test_raise.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
def get_tb():
1313
try:
1414
raise OSError()
15-
except:
16-
return sys.exc_info()[2]
15+
except OSError as e:
16+
return e.__traceback__
1717

1818

1919
class Context:

Lib/test/test_zipimport.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -709,8 +709,8 @@ def testDoctestSuite(self):
709709
def doTraceback(self, module):
710710
try:
711711
module.do_raise()
712-
except:
713-
tb = sys.exc_info()[2].tb_next
712+
except Exception as e:
713+
tb = e.__traceback__.tb_next
714714

715715
f,lno,n,line = extract_tb(tb, 1)[0]
716716
self.assertEqual(line, raise_src.strip())

0 commit comments

Comments
 (0)