[tox] minversion = 2.0 envlist = pep8,py35,py34,py27,docs skipsdist = True [testenv] usedevelop = True install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} -U {opts} {packages} deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt commands = /usr/bin/find . -type f -name "*.py[c|o]" -delete coverage erase python setup.py testr --coverage --testr-args='{posargs}' coverage report -m [testenv:cover] deps = {[testenv]deps} diff_cover commands = coverage erase python setup.py testr --coverage --testr-args='{posargs}' coverage combine --append coverage xml diff-cover --fail-under 100 coverage.xml [testenv:releasenotes] commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html [testenv:pep8] sitepackages = False commands = flake8 {posargs} # Run security linter bandit -r barbican -x tests -n5 [testenv:venv] commands = {posargs} [testenv:debug] commands = oslo_debug_helper {posargs} [testenv:py3pep8] # This hack is in place to allow us to run py3 based flake8 # without installing barbican. basepython = python3 install_command = /bin/echo {packages} commands = pip install "hacking>=0.10.0,<0.11" flake8 barbican setup.py [testenv:docs] commands= rm -rf api-guide/build python setup.py build_sphinx sphinx-build -W -b html api-guide/source api-guide/build/html whitelist_externals = rm [testenv:api-guide] # This environment is called from CI scripts to test and publish # the API Guide to developer.openstack.org. commands = sphinx-build -W -b html -d api-guide/build/doctrees api-guide/source api-guide/build/html [testenv:functional] # This tox env is purely to make local test development easier # Note: This requires local running instances of Barbican and Keystone deps = -r{toxinidir}/test-requirements.txt setenv = OS_TEST_PATH={toxinidir}/functionaltests commands = /usr/bin/find . -type f -name "*.py[c|o]" -delete /bin/bash {toxinidir}/functionaltests/pretty_tox.sh '{posargs}' passenv = KMIP_PLUGIN_ENABLED [flake8] exclude = .git,.idea,.tox,bin,dist,debian,rpmbuild,tools,*.egg-info,*.eggs,contrib, functionaltests,*alembic_migrations/versions,*docs/target,*.egg [testenv:bandit] deps = -r{toxinidir}/test-requirements.txt commands = bandit -r barbican -x tests -n5 [testenv:install-guide] commands = sphinx-build -a -E -W -d install-guide/build/doctrees -b html install-guide/source install-guide/build/html [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. deps = bindep commands = bindep test