[MESSAGES CONTROL]
# Disabling messages that we either don't care about for tests or are necessary to break for tests.
disable =
    bad-continuation,  # we let black handle this
    ungrouped-imports,  # we let black handle this
    no-member,  # breaks with attrs
    invalid-name,  # naming in tests often need to violate many common rules
    too-few-public-methods,  # common when setting up mock classes
    redefined-outer-name,  # raises false positives with fixtures
    missing-docstring,  # we don't write docstrings for tests
    abstract-class-instantiated,  # we do this on purpose to test that they are enforced
    duplicate-code,  # unit tests for similar things tend to be similar
    protected-access,  # raised when calling _ methods
    abstract-method,  # we do this on purpose to test that they are enforced
    unused-argument,  # raised when patches are needed but not called
    no-self-use,  # raised when pytest tests are grouped in classes
    too-many-public-methods,  # raised when pytest tests are grouped in classes

[DESIGN]
max-args = 10

[FORMAT]
max-line-length = 120

[REPORTS]
msg-template = {path}:{line}: [{msg_id}({symbol}), {obj}] {msg}
