# This file is part of CoVeriTeam, a tool for on-demand composition of cooperative verification systems:
# https://gitlab.com/sosy-lab/software/coveriteam
#
# SPDX-FileCopyrightText: 2020 Dirk Beyer <https://www.sosy-lab.org>
#
# SPDX-License-Identifier: Apache-2.0

[flake8]
max-line-length = 88
ignore =
    # Ignore visual indent warning
    E129
    # temporarily disabled for historic reasons: line length, naming
    E501,N801,N802,N803,N806,N815,
    # the risk of class attributes shadowing builtins is quite small
    # https://github.com/gforcada/flake8-builtins/issues/22#issuecomment-378755804
    A003,
    # warnings about mutable default values trigger too often
    B006,
    # flags complex expressions, but too many
    ECE001,
    # do not match Black output
    E203,W503,
    # followup warning from another one (F403 for star imports)
    F405,
    # we have no isort config
    I,
    # "... if .. else ..." is fine
    IF100,
    # using a result variable instead of early return allows later addition of logic
    R504,
    # no warnings about assert
    B011, S101,
    # no warnings about pickle,
    S301,S403,
    # no warnings about XML parsing
    S318,S320,S405,S408,S410,
    # no warnings about all uses of subprocess
    S404,S603,S607,
    # several scripts use print() for their output, so allow it
    T001,
    # only relevant if pytest is used
    T003,
    # It is OK to have *Exception instead of *Error
    N818,
    # We want to use print in CoVeriTeam
    T201,
per-file-ignores =
    # references to /tmp are for other reasons
    coveriteam/language/atomicactor.py:S108
    test/test*.py:E402
exclude =
    # code copied by build system
    build,
    # parser generated by antlr
    coveriteam/parser/
    # actor cache, tools are not editable
    cache
