[tox] envlist = py35,py27,pep8,docs minversion = 2.0 skipsdist = True [testenv] install_command = {toxinidir}/tools/tox_install.sh {env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages} setenv = VIRTUAL_ENV={envdir} BRANCH_NAME=master CLIENT_NAME=vmware-nsxlib PYTHONWARNINGS=default::DeprecationWarning passenv = TRACE_FAILONLY GENERATE_HASHES http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY usedevelop = True deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt whitelist_externals = sh commands = {toxinidir}/tools/ostestr_compat_shim.sh {posargs} # there is also secret magic in ostestr which lets you run in a fail only # mode. To do this define the TRACE_FAILONLY environmental variable. [testenv:common] # Fake job to define environment variables shared between dsvm/non-dsvm jobs setenv = {[testenv]setenv} OS_TEST_TIMEOUT=180 commands = false [testenv:functional] basepython = python2.7 setenv = {[testenv]setenv} {[testenv:common]setenv} OS_TEST_PATH=./vmware_nsxlib/tests/functional OS_LOG_PATH={env:OS_LOG_PATH:/opt/stack/logs} deps = {[testenv]deps} -r{toxinidir}/vmware_nsxlib/tests/functional/requirements.txt [testenv:dsvm-functional] basepython = python2.7 setenv = {[testenv]setenv} OS_SUDO_TESTING=1 OS_FAIL_ON_MISSING_DEPS=1 OS_TEST_TIMEOUT=180 sitepackages=True deps = {[testenv:functional]deps} commands = [tox:jenkins] sitepackages = True [testenv:releasenotes] commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html [testenv:pep8] basepython = python2.7 deps = {[testenv]deps} commands = # Checks for coding and style guidelines flake8 {[testenv:genconfig]commands} whitelist_externals = sh bash [testenv:bandit] deps = -r{toxinidir}/test-requirements.txt commands = bandit -r vmware_nsxlib -n 5 -ll [testenv:cover] commands = python setup.py test --coverage --coverage-package-name=vmware_nsxlib --testr-args='{posargs}' coverage report [testenv:venv] commands = {posargs} [testenv:docs] commands = sphinx-build -W -b html doc/source doc/build/html [flake8] # E125 continuation line does not distinguish itself from next logical line # E129 visually indented line with same indent as next logical line # N530 direct neutron imports not allowed # N531 translations hints ignore = N530,E125,E129,N531 show-source = true builtins = _ exclude = build,dist [hacking] import_exceptions = vmware_nsxlib._i18n, vmware_nsxlib_tempest._i18n local-check-factory = neutron_lib.hacking.checks.factory [testenv:genconfig] commands = [testenv:uuidgen] commands = check-uuid --fix