xref: /aosp_15_r20/external/mbedtls/.pylintrc (revision 62c56f9862f102b96d72393aff6076c951fb8148)
1*62c56f98SSadaf Ebrahimi[MASTER]
2*62c56f98SSadaf Ebrahimiinit-hook='import sys; sys.path.append("scripts")'
3*62c56f98SSadaf Ebrahimimin-similarity-lines=10
4*62c56f98SSadaf Ebrahimi
5*62c56f98SSadaf Ebrahimi[BASIC]
6*62c56f98SSadaf Ebrahimi# We're ok with short funtion argument names.
7*62c56f98SSadaf Ebrahimi# [invalid-name]
8*62c56f98SSadaf Ebrahimiargument-rgx=[a-z_][a-z0-9_]*$
9*62c56f98SSadaf Ebrahimi
10*62c56f98SSadaf Ebrahimi# Allow filter and map.
11*62c56f98SSadaf Ebrahimi# [bad-builtin]
12*62c56f98SSadaf Ebrahimibad-functions=input
13*62c56f98SSadaf Ebrahimi
14*62c56f98SSadaf Ebrahimi# We prefer docstrings, but we don't require them on all functions.
15*62c56f98SSadaf Ebrahimi# Require them only on long functions (for some value of long).
16*62c56f98SSadaf Ebrahimi# [missing-docstring]
17*62c56f98SSadaf Ebrahimidocstring-min-length=10
18*62c56f98SSadaf Ebrahimi
19*62c56f98SSadaf Ebrahimi# No upper limit on method names. Pylint <2.1.0 has an upper limit of 30.
20*62c56f98SSadaf Ebrahimi# [invalid-name]
21*62c56f98SSadaf Ebrahimimethod-rgx=[a-z_][a-z0-9_]{2,}$
22*62c56f98SSadaf Ebrahimi
23*62c56f98SSadaf Ebrahimi# Allow module names containing a dash (but no underscore or uppercase letter).
24*62c56f98SSadaf Ebrahimi# They are whole programs, not meant to be included by another module.
25*62c56f98SSadaf Ebrahimi# [invalid-name]
26*62c56f98SSadaf Ebrahimimodule-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+)|[a-z][-0-9a-z]+)$
27*62c56f98SSadaf Ebrahimi
28*62c56f98SSadaf Ebrahimi# Some functions don't need docstrings.
29*62c56f98SSadaf Ebrahimi# [missing-docstring]
30*62c56f98SSadaf Ebrahimino-docstring-rgx=(run_)?main$
31*62c56f98SSadaf Ebrahimi
32*62c56f98SSadaf Ebrahimi# We're ok with short local or global variable names.
33*62c56f98SSadaf Ebrahimi# [invalid-name]
34*62c56f98SSadaf Ebrahimivariable-rgx=[a-z_][a-z0-9_]*$
35*62c56f98SSadaf Ebrahimi
36*62c56f98SSadaf Ebrahimi[DESIGN]
37*62c56f98SSadaf Ebrahimi# Allow more than the default 7 attributes.
38*62c56f98SSadaf Ebrahimi# [too-many-instance-attributes]
39*62c56f98SSadaf Ebrahimimax-attributes=15
40*62c56f98SSadaf Ebrahimi
41*62c56f98SSadaf Ebrahimi[FORMAT]
42*62c56f98SSadaf Ebrahimi# Allow longer modules than the default recommended maximum.
43*62c56f98SSadaf Ebrahimi# [too-many-lines]
44*62c56f98SSadaf Ebrahimimax-module-lines=2000
45*62c56f98SSadaf Ebrahimi
46*62c56f98SSadaf Ebrahimi[MESSAGES CONTROL]
47*62c56f98SSadaf Ebrahimi# * locally-disabled, locally-enabled: If we disable or enable a message
48*62c56f98SSadaf Ebrahimi#   locally, it's by design. There's no need to clutter the Pylint output
49*62c56f98SSadaf Ebrahimi#   with this information.
50*62c56f98SSadaf Ebrahimi# * logging-format-interpolation: Pylint warns about things like
51*62c56f98SSadaf Ebrahimi#   ``log.info('...'.format(...))``. It insists on ``log.info('...', ...)``.
52*62c56f98SSadaf Ebrahimi#   This is of minor utility (mainly a performance gain when there are
53*62c56f98SSadaf Ebrahimi#   many messages that use formatting and are below the log level).
54*62c56f98SSadaf Ebrahimi#   Some versions of Pylint (including 1.8, which is the version on
55*62c56f98SSadaf Ebrahimi#   Ubuntu 18.04) only recognize old-style format strings using '%',
56*62c56f98SSadaf Ebrahimi#   and complain about something like ``log.info('{}', foo)`` with
57*62c56f98SSadaf Ebrahimi#   logging-too-many-args (Pylint supports new-style formatting if
58*62c56f98SSadaf Ebrahimi#   declared globally with logging_format_style under [LOGGING] but
59*62c56f98SSadaf Ebrahimi#   this requires Pylint >=2.2).
60*62c56f98SSadaf Ebrahimi# * no-else-return: Allow the perfectly reasonable idiom
61*62c56f98SSadaf Ebrahimi#    if condition1:
62*62c56f98SSadaf Ebrahimi#        return value1
63*62c56f98SSadaf Ebrahimi#    else:
64*62c56f98SSadaf Ebrahimi#        return value2
65*62c56f98SSadaf Ebrahimi# * unnecessary-pass: If we take the trouble of adding a line with "pass",
66*62c56f98SSadaf Ebrahimi#   it's because we think the code is clearer that way.
67*62c56f98SSadaf Ebrahimidisable=locally-disabled,locally-enabled,logging-format-interpolation,no-else-return,unnecessary-pass
68*62c56f98SSadaf Ebrahimi
69*62c56f98SSadaf Ebrahimi[REPORTS]
70*62c56f98SSadaf Ebrahimi# Don't diplay statistics. Just the facts.
71*62c56f98SSadaf Ebrahimireports=no
72*62c56f98SSadaf Ebrahimi
73*62c56f98SSadaf Ebrahimi[VARIABLES]
74*62c56f98SSadaf Ebrahimi# Allow unused variables if their name starts with an underscore.
75*62c56f98SSadaf Ebrahimi# [unused-argument]
76*62c56f98SSadaf Ebrahimidummy-variables-rgx=_.*
77*62c56f98SSadaf Ebrahimi
78*62c56f98SSadaf Ebrahimi[SIMILARITIES]
79*62c56f98SSadaf Ebrahimi# Ignore imports when computing similarities.
80*62c56f98SSadaf Ebrahimiignore-imports=yes
81