104 lines
3.4 KiB
INI
104 lines
3.4 KiB
INI
[tox]
|
||
minversion = 2.3
|
||
skipsdist = True
|
||
|
||
[testenv]
|
||
install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages}
|
||
setenv = VIRTUAL_ENV={envdir}
|
||
OS_STDOUT_CAPTURE=1
|
||
OS_STDERR_CAPTURE=1
|
||
OS_TEST_TIMEOUT=60
|
||
PYTHONDONTWRITEBYTECODE=True
|
||
deps = -r{toxinidir}/test-requirements.txt
|
||
|
||
[testenv:docs]
|
||
basepython = python3
|
||
deps = -r{toxinidir}/doc/requirements.txt
|
||
commands =
|
||
rm -rf doc/build
|
||
sphinx-build -a -E -W -d doc/build/doctrees -b html doc/source doc/build/html
|
||
whitelist_externals = rm
|
||
|
||
[testenv:linters]
|
||
basepython = python3
|
||
whitelist_externals = bash
|
||
commands =
|
||
bash -c "find {toxinidir} \
|
||
\( -name .tox -prune \) \
|
||
-o -type f -name '*.yaml' \
|
||
-print0 | xargs -0 yamllint"
|
||
doc8 doc/source
|
||
|
||
[testenv:pylint]
|
||
basepython = python3
|
||
recreate = True
|
||
commands = pylint --rcfile=pylint.rc automated-pytest-suite automated-robot-suite
|
||
|
||
[testenv:pep8]
|
||
basepython = python3
|
||
commands = flake8 {posargs}
|
||
|
||
[flake8]
|
||
# Following checks should be enabled in the future.
|
||
#
|
||
# H101 Use TODO(NAME)
|
||
# H104 File contains nothing but comments
|
||
# H201 no 'except:'
|
||
# H238 old style class declaration
|
||
# H301 one import per line
|
||
# H306 imports not in alphabetical order
|
||
# H401 docstring should not start with a space
|
||
# H403 multi line docstrings should end on a new line
|
||
# H404 multi line docstring should start without a leading new line
|
||
# H405 multi line docstring summary not separated with an empty line
|
||
# H903 Windows style line endings not allowed in code
|
||
#
|
||
# W291 trailing whitespace
|
||
# W292 no newline at end of file
|
||
# W391 blank line at end of file
|
||
# W503 line break before binary operator
|
||
#
|
||
# E121 continuation line under-indented for hanging indent
|
||
# E123 closing bracket does not match indentation of opening bracket's 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
|
||
# E226 missing whitespace around arithmetic operator
|
||
# E241 multiple spaces after ','
|
||
# E261 at least two spaces before inline comment
|
||
# E302 expected 2 blank lines, found 1
|
||
# E303 too many blank lines
|
||
# E713 test for membership should be 'not in'
|
||
# E731 do not assign a lambda expression, use a def
|
||
|
||
#
|
||
# F401 'X' imported but unused
|
||
# F403 ‘from module import *’ used; unable to detect undefined names
|
||
# F811 redefinition of unused 'X' from line 'Y'
|
||
# F841 local variable 'X' is assigned to but never used
|
||
#
|
||
ignore = H101,H104,H201,H238,H301,H306,H401,H403,H404,H405,H903,
|
||
W291,W292,W391,W503,
|
||
E121,E123,E126,E127,E128,E226,E261,E241,E302,E303,E713,E731,
|
||
F401,F403,F811,F841
|
||
show-source = True
|
||
exclude=.venv,.git,.tox,dist,*lib/python*,*egg,build,doc/source/conf.py,releasenotes
|
||
# Default max-line-length is 80. This should be reduced as the files are cleaned up.
|
||
max-line-length = 109
|
||
|
||
[testenv:releasenotes]
|
||
basepython = python3
|
||
deps = -r{toxinidir}/doc/requirements.txt
|
||
commands =
|
||
rm -rf releasenotes/build
|
||
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
||
whitelist_externals =
|
||
rm
|
||
reno
|
||
|
||
[testenv:newnote]
|
||
basepython = python3
|
||
envdir = {toxworkdir}/releasenotes
|
||
deps = -r{toxinidir}/doc/requirements.txt
|
||
commands = reno new {posargs}
|