[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/gflanguages [flake8] select = E,F,W exclude = # Exclude the entire build directory: build # Exclude these auto-generated files that should not be hand-edited: Lib/gflanguages/languages_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, max-line-length=100 ignore = E126, # continuation line over-indented for hanging indent