From 4c3827f2c18180533b804ebd4d8f5cb90774244b Mon Sep 17 00:00:00 2001 From: Jonathan de Jong Date: Wed, 24 Mar 2021 14:34:30 +0100 Subject: [PATCH] Enable addtional flake8-bugbear linting checks. (#9659) --- changelog.d/9659.misc | 1 + setup.cfg | 4 ++-- synapse/crypto/context_factory.py | 2 +- synapse/logging/context.py | 2 +- synapse/storage/database.py | 2 +- synapse/util/async_helpers.py | 2 +- synapse/util/caches/__init__.py | 2 +- tests/server.py | 2 +- 8 files changed, 9 insertions(+), 8 deletions(-) create mode 100644 changelog.d/9659.misc diff --git a/changelog.d/9659.misc b/changelog.d/9659.misc new file mode 100644 index 000000000..6602c1cc6 --- /dev/null +++ b/changelog.d/9659.misc @@ -0,0 +1 @@ +Introduce bugbear to the test suite and fix some of it's lint violations. diff --git a/setup.cfg b/setup.cfg index 920868df2..7329eed21 100644 --- a/setup.cfg +++ b/setup.cfg @@ -18,8 +18,8 @@ ignore = # E203: whitespace before ':' (which is contrary to pep8?) # E731: do not assign a lambda expression, use a def # E501: Line too long (black enforces this for us) -# B00: Subsection of the bugbear suite (TODO: add in remaining fixes) -ignore=W503,W504,E203,E731,E501,B00 +# B00*: Subsection of the bugbear suite (TODO: add in remaining fixes) +ignore=W503,W504,E203,E731,E501,B006,B007,B008 [isort] line_length = 88 diff --git a/synapse/crypto/context_factory.py b/synapse/crypto/context_factory.py index 4ca13011e..c644b4dfc 100644 --- a/synapse/crypto/context_factory.py +++ b/synapse/crypto/context_factory.py @@ -191,7 +191,7 @@ def _context_info_cb(ssl_connection, where, ret): # ... we further assume that SSLClientConnectionCreator has set the # '_synapse_tls_verifier' attribute to a ConnectionVerifier object. tls_protocol._synapse_tls_verifier.verify_context_info_cb(ssl_connection, where) - except: # noqa: E722, taken from the twisted implementation + except BaseException: # taken from the twisted implementation logger.exception("Error during info_callback") f = Failure() tls_protocol.failVerification(f) diff --git a/synapse/logging/context.py b/synapse/logging/context.py index 1a7ea4fa9..03cf3c2b8 100644 --- a/synapse/logging/context.py +++ b/synapse/logging/context.py @@ -689,7 +689,7 @@ def run_in_background(f, *args, **kwargs) -> defer.Deferred: current = current_context() try: res = f(*args, **kwargs) - except: # noqa: E722 + except Exception: # the assumption here is that the caller doesn't want to be disturbed # by synchronous exceptions, so let's turn them into Failures. return defer.fail() diff --git a/synapse/storage/database.py b/synapse/storage/database.py index f1ba529a2..5b0b9a20b 100644 --- a/synapse/storage/database.py +++ b/synapse/storage/database.py @@ -670,7 +670,7 @@ class DatabasePool: for after_callback, after_args, after_kwargs in after_callbacks: after_callback(*after_args, **after_kwargs) - except: # noqa: E722, as we reraise the exception this is fine. + except Exception: for after_callback, after_args, after_kwargs in exception_callbacks: after_callback(*after_args, **after_kwargs) raise diff --git a/synapse/util/async_helpers.py b/synapse/util/async_helpers.py index f33c11584..c3b2d981e 100644 --- a/synapse/util/async_helpers.py +++ b/synapse/util/async_helpers.py @@ -496,7 +496,7 @@ def timeout_deferred( try: deferred.cancel() - except: # noqa: E722, if we throw any exception it'll break time outs + except Exception: # if we throw any exception it'll break time outs logger.exception("Canceller failed during timeout") # the cancel() call should have set off a chain of errbacks which diff --git a/synapse/util/caches/__init__.py b/synapse/util/caches/__init__.py index e676c2cac..f96870633 100644 --- a/synapse/util/caches/__init__.py +++ b/synapse/util/caches/__init__.py @@ -116,7 +116,7 @@ def register_cache( """ if resizable: if not resize_callback: - resize_callback = getattr(cache, "set_cache_factor") + resize_callback = cache.set_cache_factor # type: ignore add_resizable_cache(cache_name, resize_callback) metric = CacheMetric(cache, cache_type, cache_name, collect_callback) diff --git a/tests/server.py b/tests/server.py index 2287d2007..57cc4ac60 100644 --- a/tests/server.py +++ b/tests/server.py @@ -593,7 +593,7 @@ class FakeTransport: if self.disconnected: return - if getattr(self.other, "transport") is None: + if not hasattr(self.other, "transport"): # the other has no transport yet; reschedule if self.autoflush: self._reactor.callLater(0.0, self.flush)