1
0
mirror of https://github.com/google/fonts.git synced 2025-01-05 17:05:26 +03:00
fonts/tox.ini
Felipe Corrêa da Silva Sanches 52bcd6f7d9 fixing the GitHub Actions build
addressing linter warnings/errors
2022-02-16 06:01:50 -03:00

125 lines
4.6 KiB
INI

[tox]
envlist = py37, py38, py39, coverage, flake8, pylint
[gh-actions]
python =
3.7: py37, coverage, flake8, pylint
3.8: py38, coverage, flake8, pylint
3.9: py39, coverage, flake8, pylint
[testenv]
deps =
pytest
coverage
-rrequirements.txt
commands = coverage run -m pytest {posargs}
passenv = LD_LIBRARY_PATH LD_PRELOAD
[testenv:coverage]
deps = coverage
skip_install = true
commands =
coverage report
coverage html
# Exclude a lot of tests here without turning them off in setup.cfg, because a
# developer might want to see and fix them. This is more of a regression test.
[testenv:flake8]
deps =
flake8
sphinx
sphinx_rtd_theme
recommonmark
commands = flake8 --count --show-source --statistics
# Same rationale as with flake8.
[testenv:pylint]
deps =
pylint
sphinx
sphinx_rtd_theme
recommonmark
wont_fix = invalid-name,protected-access,too-many-lines
maybe_someday = fixme,missing-docstring,line-too-long
commands = pylint --disable={[testenv:pylint]wont_fix},{[testenv:pylint]maybe_someday} Lib/languages
[flake8]
select = E,F,W
exclude =
# Exclude the entire build directory:
build
# Exclude these auto-generated files that should not be hand-edited:
Lib/languages/fonts_public_pb2.py,
# No need to traverse hidden directories such as .git, .tox
.*,
# Exclude virtual environment directory:
venv*,
# There's no value in checking cache directories
__pycache__,
# The Sphinx configuration file is mostly autogenerated, ignore it
docs/source/conf.py,
# The ignore-list below comes from FontBakery linting setup.
# The `languages` module has a much simples codebase, so we may be in much better shape in here.
# So, perhaps, we could safely enable many of these lint-checks.
max-line-length=100
ignore =
# ITEMS BELOW ARE MEDIUM PRIORITY TO FIX AND REMOVE FROM IGNORE LIST
E402, # module level import not at top of file
E711, # comparison to None should be 'if cond is None
E712, # comparison to True should be 'if cond is True:' or 'if cond:'
E713, # test for membership should be 'not in'
E722, # do not use bare 'except'
E741, # ambiguous variable name
F401, # '<module>' imported but unused
F403, # 'from <module> import *' used; unable to detect undefined names
F405, # '<name>' may be undefined, or defined from star imports
# ITEMS BELOW ARE LOWER PRIORITY TO FIX AND REMOVE FROM IGNORE LIST
E111, # indentation is not a multiple of four
E114, # indentation is not a multiple of four (comment)
E116, # unexpected indentation (comment)
E117, # over-indented (comment)
E122, # continuation line missing indentation or outdented
E123, # closing bracket does not match indentation of opening bracket's line
E124, # closing bracket does not match visual indentation
E125, # continuation line with same indent as next logical line
E126, # continuation line over-indented for hanging indent
E127, # continuation line over-indented for visual indent
E128, # continuation line under-indented for visual indent
E129, # visually indented line with same indent as next logical line
E131, # continuation line unaligned for hanging indent
E201, # whitespace after '{'
E202, # whitespace before ')'
E203, # whitespace before ','
E211, # whitespace before '('
E221, # multiple spaces before operator
E222, # multiple spaces after operator
E225, # missing whitespace around operator
E226, # missing whitespace around arithmetic operator
E231, # missing whitespace after ','
E241, # multiple spaces after ':'
E251, # unexpected spaces around keyword / parameter equals
E261, # at least two spaces before inline comment
E262, # inline comment should start with '# '
E265, # block comment should start with '# '
E266, # too many leading '#' for block comment
E272, # multiple spaces before keyword
E302, # expected <n> blank lines, found <m>
E303, # too many blank lines (<n>)
E305, # expected 2 blank lines after class or function definition, found <n>
E306, # expected 1 blank line before a nested definition, found <n>
E502, # the backslash is redundant between brackets
E701, # multiple statements on one line (colon)
E704, # multiple statements on one line (def)
E731, # do not assign a lambda expression, use a def
F541, # f-string is missing placeholders
W191, # indentation contains tabs
W291, # trailing whitespace
W293, # blank line contains whitespace
W391, # blank line at end of file
W503, # line break before binary operator
W504, # line break after binary operator