'pre-commit' tool [1] provides an extensible way to configure hooks which can be run automatically before each commit. That way we can make sure that code send to review is passing base static analysis checks like e.g. bandit, flake8 or hacking. For now this is optional to use and not integrated in e.g. tox.ini file but we can integrate it there too as next step. [1] https://pre-commit.com/ Change-Id: I49efd39a93103d2e1888c9b641962280622ae60b
127 lines
3.4 KiB
INI
127 lines
3.4 KiB
INI
# The format of this file isn't really documented; just use --generate-rcfile
|
|
[MASTER]
|
|
# Add <file or directory> to the black list. It should be a base name, not a
|
|
# path. You may set this option multiple times.
|
|
ignore=.git,tests
|
|
|
|
[MESSAGES CONTROL]
|
|
# NOTE(gus): This is a long list. A number of these are important and
|
|
# should be re-enabled once the offending code is fixed (or marked
|
|
# with a local disable)
|
|
disable=
|
|
# "F" Fatal errors that prevent further processing
|
|
import-error,
|
|
# "I" Informational noise
|
|
c-extension-no-member,
|
|
locally-disabled,
|
|
# "E" Error for important programming issues (likely bugs)
|
|
access-member-before-definition,
|
|
no-member,
|
|
no-method-argument,
|
|
no-self-argument,
|
|
not-an-iterable,
|
|
# "W" Warnings for stylistic problems or minor programming issues
|
|
abstract-method,
|
|
arguments-differ,
|
|
attribute-defined-outside-init,
|
|
bad-indentation,
|
|
broad-except,
|
|
dangerous-default-value,
|
|
expression-not-assigned,
|
|
fixme,
|
|
global-statement,
|
|
keyword-arg-before-vararg,
|
|
literal-comparison,
|
|
non-parent-init-called,
|
|
not-callable,
|
|
protected-access,
|
|
redefined-builtin,
|
|
redefined-outer-name,
|
|
signature-differs,
|
|
super-init-not-called,
|
|
unpacking-non-sequence,
|
|
unused-argument,
|
|
unused-import,
|
|
unused-variable,
|
|
useless-super-delegation,
|
|
using-constant-test,
|
|
redundant-u-string-prefix,
|
|
# "C" Coding convention violations
|
|
consider-iterating-dictionary,
|
|
consider-using-enumerate,
|
|
consider-using-f-string,
|
|
invalid-name,
|
|
len-as-condition,
|
|
missing-docstring,
|
|
singleton-comparison,
|
|
superfluous-parens,
|
|
ungrouped-imports,
|
|
wrong-import-order,
|
|
# "R" Refactor recommendations
|
|
consider-merging-isinstance,
|
|
consider-using-ternary,
|
|
duplicate-code,
|
|
inconsistent-return-statements,
|
|
no-else-return,
|
|
redefined-argument-from-local,
|
|
simplifiable-if-statement,
|
|
too-few-public-methods,
|
|
too-many-ancestors,
|
|
too-many-arguments,
|
|
too-many-branches,
|
|
too-many-instance-attributes,
|
|
too-many-lines,
|
|
too-many-locals,
|
|
too-many-nested-blocks,
|
|
too-many-public-methods,
|
|
too-many-return-statements,
|
|
too-many-statements,
|
|
use-dict-literal,
|
|
super-with-arguments,
|
|
# new for python3 version of pylint
|
|
consider-using-set-comprehension,
|
|
unnecessary-pass,
|
|
useless-object-inheritance
|
|
|
|
[BASIC]
|
|
# Variable names can be 1 to 31 characters long, with lowercase and underscores
|
|
variable-rgx=[a-z_][a-z0-9_]{0,30}$
|
|
|
|
# Argument names can be 2 to 31 characters long, with lowercase and underscores
|
|
argument-rgx=[a-z_][a-z0-9_]{1,30}$
|
|
|
|
# Method names should be at least 3 characters long
|
|
# and be lowercased with underscores
|
|
method-rgx=([a-z_][a-z0-9_]{2,}|setUp|tearDown)$
|
|
|
|
# Module names matching neutron_lib-* are ok (files in bin/)
|
|
module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+)|(neutron_lib-[a-z0-9_-]+))$
|
|
|
|
# Don't require docstrings on tests.
|
|
no-docstring-rgx=((__.*__)|([tT]est.*)|setUp|tearDown)$
|
|
|
|
[FORMAT]
|
|
# Maximum number of characters on a single line.
|
|
max-line-length=79
|
|
|
|
[VARIABLES]
|
|
# List of additional names supposed to be defined in builtins. Remember that
|
|
# you should avoid to define new builtins when possible.
|
|
# _ is used by our localization
|
|
additional-builtins=_
|
|
|
|
[IMPORTS]
|
|
# Deprecated modules which should not be used, separated by a comma
|
|
deprecated-modules=
|
|
# should use oslo_serialization.jsonutils
|
|
json,
|
|
six
|
|
|
|
[TYPECHECK]
|
|
# List of module names for which member attributes should not be checked
|
|
ignored-modules=_MovedItems
|
|
|
|
[REPORTS]
|
|
# Tells whether to display a full report or only the messages
|
|
reports=no
|