[tox] minversion = 3.18.0 envlist = py3,pep8,docs,releasenotes,cover [testenv] usedevelop = True setenv = deps = -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt commands = stestr run --exclude-regex ".tests.functional" {posargs} [testenv:functional] setenv = {[testenv]setenv} commands = stestr run --exclude-regex ".tests.unit" {posargs} [testenv:docs] deps = -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} -r{toxinidir}/doc/requirements.txt commands = sphinx-build -W -b html doc/source doc/build/html [testenv:pdf-docs] deps = {[testenv:docs]deps} allowlist_externals = rm make commands = rm -rf doc/build/pdf sphinx-build -W -b latex doc/source doc/build/pdf make -C doc/build/pdf [testenv:releasenotes] deps = {[testenv:docs]deps} commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html [testenv:venv] commands = {posargs} deps = {[testenv]deps} -r{toxinidir}/doc/requirements.txt [testenv:cover] setenv = {[testenv]setenv} PYTHON=coverage run --source os_vif,vif_plug_linux_bridge,vif_plug_ovs,vif_plug_noop --parallel-mode commands = stestr run --exclude-regex ".tests.functional" {posargs} coverage combine coverage html -d cover coverage xml -o cover/coverage.xml coverage report [testenv:pep8] deps = hacking>=3.0.1,<3.1.0 commands = flake8 [flake8] # E123, E125 skipped as they are invalid PEP-8. # Following checks are ignored on purpose. # # H404, H405 skipped on purpose per jay pipes discussion. # W504 line break after binary operator show-source = True ignore = E123,E125,E126,E127,E128,H404,H405,W504 enable-extensions = H106,H203 builtins = _ exclude = .venv,.git,.tox,dist,*lib/python*,*egg,build max-complexity = 30 [hacking] import_exceptions = os_vif.i18n [testenv:bindep] # Do not install any requirements. We want this to be fast and work even if # system dependencies are missing, since it's used to tell you what system # dependencies are missing! This also means that bindep must be installed # separately, outside of the requirements files. skipsdist=True usedevelop=False deps = bindep commands = bindep test