From 59a12e9ab3990496940b79eba8dde6fcd481c8c3 Mon Sep 17 00:00:00 2001 From: Ran Benita Date: Fri, 24 Apr 2020 22:15:45 +0300 Subject: [PATCH] Replace bare `except`s with `except BaseException` Mostly I wanted to remove uses of `noqa`. In Python 3 the two are the same. --- src/_pytest/_code/code.py | 6 +++--- src/_pytest/main.py | 2 +- src/_pytest/python_api.py | 2 +- src/_pytest/runner.py | 2 +- src/_pytest/unittest.py | 2 +- testing/code/test_excinfo.py | 4 ++-- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/_pytest/_code/code.py b/src/_pytest/_code/code.py index 6102084f0..bc0e36693 100644 --- a/src/_pytest/_code/code.py +++ b/src/_pytest/_code/code.py @@ -277,7 +277,7 @@ class TracebackEntry: line = str(self.statement).lstrip() except KeyboardInterrupt: raise - except: # noqa + except BaseException: line = "???" return " File %r:%d in %s\n %s\n" % (fn, self.lineno + 1, name, line) @@ -667,12 +667,12 @@ class FormattedExcinfo: s = str(source.getstatement(len(source) - 1)) except KeyboardInterrupt: raise - except: # noqa + except BaseException: try: s = str(source[-1]) except KeyboardInterrupt: raise - except: # noqa + except BaseException: return 0 return 4 + (len(s) - len(s.lstrip())) diff --git a/src/_pytest/main.py b/src/_pytest/main.py index 61eb7ca74..de7e16744 100644 --- a/src/_pytest/main.py +++ b/src/_pytest/main.py @@ -206,7 +206,7 @@ def wrap_session( ) config.hook.pytest_keyboard_interrupt(excinfo=excinfo) session.exitstatus = exitstatus - except: # noqa + except BaseException: session.exitstatus = ExitCode.INTERNAL_ERROR excinfo = _pytest._code.ExceptionInfo.from_current() try: diff --git a/src/_pytest/python_api.py b/src/_pytest/python_api.py index 7f52778b9..78051172d 100644 --- a/src/_pytest/python_api.py +++ b/src/_pytest/python_api.py @@ -123,7 +123,7 @@ class ApproxNumpy(ApproxBase): if not np.isscalar(actual): try: actual = np.asarray(actual) - except: # noqa + except BaseException: raise TypeError("cannot compare '{}' to numpy.ndarray".format(actual)) if not np.isscalar(actual) and actual.shape != self.expected.shape: diff --git a/src/_pytest/runner.py b/src/_pytest/runner.py index 76785ada7..e7211369c 100644 --- a/src/_pytest/runner.py +++ b/src/_pytest/runner.py @@ -258,7 +258,7 @@ class CallInfo: precise_start = perf_counter() try: result = func() - except: # noqa + except BaseException: excinfo = ExceptionInfo.from_current() if reraise is not None and excinfo.errisinstance(reraise): raise diff --git a/src/_pytest/unittest.py b/src/_pytest/unittest.py index fc3d1a515..773f545af 100644 --- a/src/_pytest/unittest.py +++ b/src/_pytest/unittest.py @@ -151,7 +151,7 @@ class TestCaseFunction(Function): fail("".join(values), pytrace=False) except (fail.Exception, KeyboardInterrupt): raise - except: # noqa + except BaseException: fail( "ERROR: Unknown Incompatible Exception " "representation:\n%r" % (rawexcinfo,), diff --git a/testing/code/test_excinfo.py b/testing/code/test_excinfo.py index f0c7146c7..08c0619e3 100644 --- a/testing/code/test_excinfo.py +++ b/testing/code/test_excinfo.py @@ -239,7 +239,7 @@ class TestTraceback_f_g_h: def f(n: int) -> None: try: do_stuff() - except: # noqa + except BaseException: reraise_me() excinfo = pytest.raises(RuntimeError, f, 8) @@ -445,7 +445,7 @@ class TestFormattedExcinfo: exec(source.compile()) except KeyboardInterrupt: raise - except: # noqa + except BaseException: return _pytest._code.ExceptionInfo.from_current() assert 0, "did not raise"