[tox] minversion = 1.6 envlist = py36,pep8,lint,docs,docs-linkcheck skipsdist = True [testenv] pip_version = pip==20.2.4 usedevelop = True install_command = pip install -U {opts} {packages} setenv = VIRTUAL_ENV={envdir} deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt commands = py.test -q --basetemp={envtmpdir} {posargs} [testenv:pep8] basepython = python3 commands = flake8 {toxinidir} [testenv:lint] basepython = python3 commands = pylint --rcfile pylint.rc nfvbench test [testenv:venv] basepython = python3 commands = {posargs} [testenv:cover] basepython = python3 commands = python setup.py testr --coverage --testr-args='{posargs}' [flake8] # H803 skipped on purpose per list discussion. # E123, E125 skipped as they are invalid PEP-8. # E117,E126,E127,E128,E211,E226,E231,E252,E305,E731,W503,W504 skipped as they # are introduced by newer versions of flake8 (update from 2.2.4 to 3.9.2) # H216,H301,H401 skipped as they are introduced by newer version of hacking # (update from 0.10.3 to 4.1.0) max-line-length = 100 show-source = True #E117: over-indented (comment) #E126: continuation line over-indented for hanging indent #E127: continuation line over-indented for visual indent #E128: continuation line under-indented for visual indent #E211: whitespace before '(' #E226: missing whitespace around arithmetic operator #E231: missing whitespace after ',' #E252: missing whitespace around parameter equals #E302: expected 2 blank linee #E303: too many blank lines (2) #E305: expected 2 blank lines after class or function definition, found 1 #E731: do not assign a lambda expression, use a def #W503: line break before binary operator #W504: line break after binary operator #H101: Use TODO(NAME) #H216: The unittest.mock module should be used rather than the third party mock package unless actually needed. If so, disable the H216 check in hacking config and ensure mock is declared in the project's requirements. #H233: Python 3.x incompatible use of print operator #H236: Python 3.x incompatible __metaclass__, use six.add_metaclass() #H301: one import per line #H302: import only modules. #H304: No relative imports #H306: imports not in alphabetical order #H401: docstring should not start with a space #H404: multi line docstring should start without a leading new line #H405: multi line docstring summary not separated with an empty line #H904: Wrap long lines in parentheses instead of a backslash ignore = E117,E123,E125,E126,E127,E128,E211,E226,E231,E252,E302,E303,E305,E731,W503,W504,H101,H104,H216,H233,H236,H301,H302,H304,H306,H401,H404,H405,H803,H904,D102,D100,D107 builtins = _ exclude=venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build,dib-venv [testenv:docs] basepython = python3 deps = -rdocs/requirements.txt commands = sphinx-build -b html -n -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/html echo "Generated docs available in {toxinidir}/docs/_build/html" whitelist_externals = echo [testenv:docs-linkcheck] basepython = python3 deps = -rdocs/requirements.txt passenv = http_proxy https_proxy no_proxy commands = sphinx-build -b linkcheck -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/linkcheck