Mailing List Archive

bpo-46411: Remove unnecessary calls to sys.exc_info() in tests (GH-30638)
https://github.com/python/cpython/commit/a287b31bcb065e4122400cb59167340d25480e6d
commit: a287b31bcb065e4122400cb59167340d25480e6d
branch: main
author: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
committer: iritkatriel <1055913+iritkatriel@users.noreply.github.com>
date: 2022-01-18T07:05:16Z
summary:

bpo-46411: Remove unnecessary calls to sys.exc_info() in tests (GH-30638)

files:
M Lib/test/test_argparse.py
M Lib/test/test_builtin.py
M Lib/test/test_inspect.py
M Lib/test/test_logging.py
M Lib/test/test_raise.py
M Lib/test/test_zipimport.py

diff --git a/Lib/test/test_argparse.py b/Lib/test/test_argparse.py
index 4c23610b9e961..afcb88ff5ce0f 100644
--- a/Lib/test/test_argparse.py
+++ b/Lib/test/test_argparse.py
@@ -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 @@ def __call__(self, parser, namespace, value, option_string=None):
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 @@ def __call__(self, parser, namespace, value, option_string=None):
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)

diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py
index 7456803221964..4b0b15f0a9361 100644
--- a/Lib/test/test_builtin.py
+++ b/Lib/test/test_builtin.py
@@ -581,8 +581,8 @@ def __dir__(self):
# 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([]))
diff --git a/Lib/test/test_inspect.py b/Lib/test/test_inspect.py
index 56168817a27f2..67372cca6ed1f 100644
--- a/Lib/test/test_inspect.py
+++ b/Lib/test/test_inspect.py
@@ -135,8 +135,8 @@ def test_excluding_predicates(self):
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'):
diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py
index e61ccdf86bdea..7c38676012bab 100644
--- a/Lib/test/test_logging.py
+++ b/Lib/test/test_logging.py
@@ -5524,8 +5524,8 @@ def test_compute_rollover(self, when=when, exp=exp):
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)
diff --git a/Lib/test/test_raise.py b/Lib/test/test_raise.py
index 8dc62a933e872..8225504c4756d 100644
--- a/Lib/test/test_raise.py
+++ b/Lib/test/test_raise.py
@@ -12,8 +12,8 @@
def get_tb():
try:
raise OSError()
- except:
- return sys.exc_info()[2]
+ except OSError as e:
+ return e.__traceback__


class Context:
diff --git a/Lib/test/test_zipimport.py b/Lib/test/test_zipimport.py
index 392dcfa87a19b..85dbf4d8f68eb 100644
--- a/Lib/test/test_zipimport.py
+++ b/Lib/test/test_zipimport.py
@@ -710,8 +710,8 @@ def testDoctestSuite(self):
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())

_______________________________________________
Python-checkins mailing list
Python-checkins@python.org
https://mail.python.org/mailman/listinfo/python-checkins
bpo-46411: Remove unnecessary calls to sys.exc_info() in tests (GH-30638) [ In reply to ]
https://github.com/python/cpython/commit/42038d00ea7b0b5455e371285102d85006fbf687
commit: 42038d00ea7b0b5455e371285102d85006fbf687
branch: 3.10
author: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
committer: miss-islington <31488909+miss-islington@users.noreply.github.com>
date: 2022-01-17T23:33:00-08:00
summary:

bpo-46411: Remove unnecessary calls to sys.exc_info() in tests (GH-30638)

(cherry picked from commit a287b31bcb065e4122400cb59167340d25480e6d)

Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>

files:
M Lib/test/test_argparse.py
M Lib/test/test_builtin.py
M Lib/test/test_inspect.py
M Lib/test/test_logging.py
M Lib/test/test_raise.py
M Lib/test/test_zipimport.py

diff --git a/Lib/test/test_argparse.py b/Lib/test/test_argparse.py
index c96a540a8b315..37a73e0686377 100644
--- a/Lib/test/test_argparse.py
+++ b/Lib/test/test_argparse.py
@@ -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 @@ def __call__(self, parser, namespace, value, option_string=None):
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 @@ def __call__(self, parser, namespace, value, option_string=None):
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)

diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py
index 7456803221964..4b0b15f0a9361 100644
--- a/Lib/test/test_builtin.py
+++ b/Lib/test/test_builtin.py
@@ -581,8 +581,8 @@ def __dir__(self):
# 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([]))
diff --git a/Lib/test/test_inspect.py b/Lib/test/test_inspect.py
index 93ff2f85df193..545dab5c6348f 100644
--- a/Lib/test/test_inspect.py
+++ b/Lib/test/test_inspect.py
@@ -132,8 +132,8 @@ def test_excluding_predicates(self):
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'):
diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py
index 03d0319306a48..8212cf7a9a964 100644
--- a/Lib/test/test_logging.py
+++ b/Lib/test/test_logging.py
@@ -5508,8 +5508,8 @@ def test_compute_rollover(self, when=when, exp=exp):
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)
diff --git a/Lib/test/test_raise.py b/Lib/test/test_raise.py
index 8dc62a933e872..8225504c4756d 100644
--- a/Lib/test/test_raise.py
+++ b/Lib/test/test_raise.py
@@ -12,8 +12,8 @@
def get_tb():
try:
raise OSError()
- except:
- return sys.exc_info()[2]
+ except OSError as e:
+ return e.__traceback__


class Context:
diff --git a/Lib/test/test_zipimport.py b/Lib/test/test_zipimport.py
index 19d3a880f4cd7..b291d5301690d 100644
--- a/Lib/test/test_zipimport.py
+++ b/Lib/test/test_zipimport.py
@@ -709,8 +709,8 @@ def testDoctestSuite(self):
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())

_______________________________________________
Python-checkins mailing list
Python-checkins@python.org
https://mail.python.org/mailman/listinfo/python-checkins