diff --git a/.pylintrc b/.pylintrc index a75e65d8d3..3fb33f3c9c 100644 --- a/.pylintrc +++ b/.pylintrc @@ -12,6 +12,17 @@ disable= C0116, # missing-function-docstring C0209, # consider-using-f-string C0301, # line-too-long, handled better by black + C0302, # too-many-lines C0415, # import-outside-toplevel R0801, # duplicate-code + R0901, # too-many-ancestors + R0902, # too-many-instance-attributes R0903, # too-few-public-methods + R0904, # too-many-public-methods + R0911, # too-many-return-statements + R0912, # too-many-branches + R0913, # too-many-arguments + R0914, # too-many-locals + R0915, # too-many-statements + R0916, # too-many-boolean-expressions + R0917, # too-many-positional-arguments diff --git a/bin/tests/system/conftest.py b/bin/tests/system/conftest.py index c578e4a8fd..b2c27c0a6d 100644 --- a/bin/tests/system/conftest.py +++ b/bin/tests/system/conftest.py @@ -297,9 +297,7 @@ def logger(request, system_test_name): @pytest.fixture(scope="module") -def system_test_dir( - request, system_test_name -): # pylint: disable=too-many-statements,too-many-locals +def system_test_dir(request, system_test_name): """ Temporary directory for executing the test. @@ -408,7 +406,7 @@ def system_test_dir( unlink(symlink_dst) -def _run_script( # pylint: disable=too-many-arguments +def _run_script( system_test_dir: Path, interpreter: str, script: str, @@ -471,7 +469,7 @@ def run_tests_sh(system_test_dir, shell): @pytest.fixture(scope="module", autouse=True) -def system_test( # pylint: disable=too-many-arguments,too-many-statements +def system_test( request, system_test_dir, shell, diff --git a/bin/tests/system/isctest/asyncserver.py b/bin/tests/system/isctest/asyncserver.py index 37eca8a672..ab508b404a 100644 --- a/bin/tests/system/isctest/asyncserver.py +++ b/bin/tests/system/isctest/asyncserver.py @@ -97,7 +97,6 @@ class _AsyncUdpHandler(asyncio.DatagramProtocol): loop.create_task(handler_coroutine) -# pylint: disable=too-few-public-methods class AsyncServer: """ A generic asynchronous server which may handle UDP and/or TCP traffic. @@ -225,7 +224,6 @@ class DnsProtocol(enum.Enum): TCP = enum.auto() -# pylint: disable=too-many-instance-attributes @dataclass class QueryContext: """ diff --git a/bin/tests/system/isctest/instance.py b/bin/tests/system/isctest/instance.py index e0e612fda0..d3b3083262 100644 --- a/bin/tests/system/isctest/instance.py +++ b/bin/tests/system/isctest/instance.py @@ -45,7 +45,6 @@ class NamedInstance: ``` """ - # pylint: disable=too-many-arguments def __init__( self, identifier: str, diff --git a/bin/tests/system/isctest/kasp.py b/bin/tests/system/isctest/kasp.py index b459b15b3e..ea1ec9878e 100644 --- a/bin/tests/system/isctest/kasp.py +++ b/bin/tests/system/isctest/kasp.py @@ -329,7 +329,6 @@ def check_dnssecstatus(server, zone, keys, policy=None, view=None): assert f"key: {key.tag}" in response -# pylint: disable=too-many-branches,too-many-locals def _check_signatures(signatures, covers, fqdn, keys): now = KeyTimingMetadata.now() numsigs = 0 @@ -455,7 +454,6 @@ def check_dnskeys(rrset, ksks, zsks, cdnskey=False): assert numkeys == len(dnskeys) -# pylint: disable=too-many-locals def check_cds(rrset, keys): # Check if the correct CDS records are published. If the current time # is between the timing metadata 'publish' and 'delete', the key must have diff --git a/bin/tests/system/isctest/query.py b/bin/tests/system/isctest/query.py index 5662d1e380..4c389af2d9 100644 --- a/bin/tests/system/isctest/query.py +++ b/bin/tests/system/isctest/query.py @@ -22,7 +22,6 @@ from isctest.compat import dns_rcode QUERY_TIMEOUT = 10 -# pylint: disable=too-many-arguments def generic_query( query_func: Callable[..., Any], message: dns.message.Message, diff --git a/bin/tests/system/isctest/rndc.py b/bin/tests/system/isctest/rndc.py index 6e869ab316..d4a0a1bd77 100644 --- a/bin/tests/system/isctest/rndc.py +++ b/bin/tests/system/isctest/rndc.py @@ -14,7 +14,6 @@ import os import subprocess -# pylint: disable=too-few-public-methods class RNDCExecutor(abc.ABC): """ An interface which RNDC executors have to implement in order for the diff --git a/bin/tests/system/isctest/run.py b/bin/tests/system/isctest/run.py index b3cb8200c0..dd9ac08906 100644 --- a/bin/tests/system/isctest/run.py +++ b/bin/tests/system/isctest/run.py @@ -20,7 +20,7 @@ from isctest.compat import dns_rcode import dns.message -def cmd( # pylint: disable=too-many-arguments +def cmd( args, cwd=None, timeout=60, diff --git a/bin/tests/system/ksr/tests_ksr.py b/bin/tests/system/ksr/tests_ksr.py index 6caf4e7672..be2c651aa1 100644 --- a/bin/tests/system/ksr/tests_ksr.py +++ b/bin/tests/system/ksr/tests_ksr.py @@ -9,8 +9,6 @@ # See the COPYRIGHT file distributed with this work for additional # information regarding copyright ownership. -# pylint: disable=too-many-lines - from datetime import timedelta import difflib import os @@ -97,7 +95,6 @@ def ksr(zone, policy, action, options="", raise_on_exception=True): return out.stdout.decode("utf-8"), out.stderr.decode("utf-8") -# pylint: disable=too-many-arguments,too-many-branches,too-many-locals,too-many-statements def check_keys( keys, lifetime, @@ -223,7 +220,6 @@ def check_keysigningrequest(out, zsks, start, end): assert line_no == len(lines) -# pylint: disable=too-many-arguments,too-many-branches,too-many-locals,too-many-statements def check_signedkeyresponse( out, zone, @@ -421,7 +417,6 @@ def test_ksr_errors(): assert "dnssec-ksr: fatal: 'sign' requires a KSR file" in err -# pylint: disable=too-many-locals,too-many-statements def test_ksr_common(servers): # common test cases (1) zone = "common.test" @@ -610,7 +605,6 @@ def test_ksr_common(servers): isctest.kasp.check_subdomain(ns1, zone, ksks, overlapping_zsks) -# pylint: disable=too-many-locals def test_ksr_lastbundle(servers): zone = "last-bundle.test" policy = "common" @@ -690,7 +684,6 @@ def test_ksr_lastbundle(servers): assert f"zone {zone}/IN (signed): zone_rekey: {warning}" in ns1.log -# pylint: disable=too-many-locals def test_ksr_inthemiddle(servers): zone = "in-the-middle.test" policy = "common" @@ -771,7 +764,6 @@ def test_ksr_inthemiddle(servers): assert f"zone {zone}/IN (signed): zone_rekey: {warning}" not in ns1.log -# pylint: disable=too-many-locals def check_ksr_rekey_logs_error(server, zone, policy, offset, end): n = 1 @@ -846,7 +838,6 @@ def test_ksr_rekey_logs_error(servers): ) -# pylint: disable=too-many-locals def test_ksr_unlimited(servers): zone = "unlimited.test" policy = "unlimited" @@ -962,7 +953,6 @@ def test_ksr_unlimited(servers): isctest.kasp.check_subdomain(ns1, zone, ksks, zsks) -# pylint: disable=too-many-locals def test_ksr_twotone(servers): zone = "two-tone.test" policy = "two-tone" diff --git a/bin/tests/system/shutdown/tests_shutdown.py b/bin/tests/system/shutdown/tests_shutdown.py index 566a84fc8e..93c4c3c704 100755 --- a/bin/tests/system/shutdown/tests_shutdown.py +++ b/bin/tests/system/shutdown/tests_shutdown.py @@ -61,8 +61,6 @@ def do_work(named_proc, resolver_ip, instance, kill_method, n_workers, n_queries :param n_queries: Total number of queries to send :type n_queries: int """ - # pylint: disable-msg=too-many-arguments - # pylint: disable-msg=too-many-locals # helper function, 'command' is the rndc command to run def launch_rndc(command): diff --git a/bin/tests/system/tsiggss/tests_isc_spnego_flaws.py b/bin/tests/system/tsiggss/tests_isc_spnego_flaws.py index b474fc1ab8..796da8fbc9 100755 --- a/bin/tests/system/tsiggss/tests_isc_spnego_flaws.py +++ b/bin/tests/system/tsiggss/tests_isc_spnego_flaws.py @@ -35,8 +35,6 @@ import dns.rrset class CraftedTKEYQuery: - # pylint: disable=too-few-public-methods - """ A class for preparing crafted TKEY queries """ @@ -81,8 +79,6 @@ class CraftedTKEYQuery: class ASN1Encoder: - # pylint: disable=too-few-public-methods - """ A custom ASN1 encoder which allows preparing malformed GSSAPI tokens """ diff --git a/doc/arm/_ext/iscconf.py b/doc/arm/_ext/iscconf.py index 7c0a3c9511..dc440e2928 100644 --- a/doc/arm/_ext/iscconf.py +++ b/doc/arm/_ext/iscconf.py @@ -52,7 +52,6 @@ def split_csv(argument, required): return outlist -# pylint: disable=too-many-statements def domain_factory(domainname, domainlabel, todolist, grammar): """ Return parametrized Sphinx domain object. @@ -318,7 +317,6 @@ def domain_factory(domainname, domainlabel, todolist, grammar): ] ) - # pylint: disable=too-many-arguments def resolve_xref(self, env, fromdocname, builder, typ, target, node, contnode): """ Sphinx API: diff --git a/doc/arm/conf.py b/doc/arm/conf.py index 0f716fb085..4f2d9e98cd 100644 --- a/doc/arm/conf.py +++ b/doc/arm/conf.py @@ -26,7 +26,7 @@ from sphinx import addnodes try: from sphinx.util.docutils import ReferenceRole except ImportError: - # pylint: disable=too-few-public-methods + class ReferenceRole(roles.GenericRole): """ The ReferenceRole class (used as a base class by GitLabRefRole diff --git a/util/parse_tsan.py b/util/parse_tsan.py index e13e8ec49e..28afc34bff 100755 --- a/util/parse_tsan.py +++ b/util/parse_tsan.py @@ -24,9 +24,6 @@ from hashlib import sha256 class State: """Class that holds state of the TSAN parser.""" - # pylint: disable=too-many-instance-attributes - # pylint: disable=too-few-public-methods - inside = False block = "" last_line = None