[tox] minversion = 2.0 envlist = py27,py38,pep8 skipsdist = True [testenv] usedevelop = True passenv = UPPER_CONSTRAINTS_FILE install_command = pip install -U {opts} {packages} setenv = VIRTUAL_ENV={envdir} LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=C deps = -c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt} -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt commands = stestr run {posargs} stestr slowest [testenv:py27] deps = # Upper-constraints does not work with py27 anymore, let's # use lower-constraints for this test. -c{toxinidir}/lower-constraints.txt -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt [testenv:functional] basepython = {env:SHADE_TOX_PYTHON:python3} passenv = OS_* SHADE_* UPPER_CONSTRAINTS_FILE commands = stestr --test-path ./shade/tests/functional run --serial {posargs} stestr slowest [testenv:pep8] basepython = python3 usedevelop = False skip_install = True deps = -c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt} doc8 hacking>=3.1.0,<3.2.0 pygments commands = doc8 doc/source flake8 shade [testenv:venv] basepython = python3 commands = {posargs} [testenv:debug] basepython = python3 whitelist_externals = find commands = find . -type f -name "*.pyc" -delete oslo_debug_helper {posargs} [testenv:cover] basepython = python3 setenv = {[testenv]setenv} PYTHON=coverage run --source shade --parallel-mode commands = stestr run {posargs} coverage combine coverage html -d cover coverage xml -o cover/coverage.xml [testenv:ansible] basepython = python3 # Need to pass some env vars for the Ansible playbooks passenv = HOME USER deps = -c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt} -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt ansible<2.6 commands = {toxinidir}/extras/run-ansible-tests.sh -e {envdir} {posargs} [testenv:docs] basepython = python3 deps = -c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt} -r{toxinidir}/requirements.txt -r{toxinidir}/doc/requirements.txt commands = sphinx-build -W -d doc/build/doctrees -b html doc/source/ doc/build/html [testenv:releasenotes] basepython = python3 skip_install = True deps = -c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt} -r{toxinidir}/doc/requirements.txt commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html [flake8] # The following are ignored on purpose - please do not submit patches to "fix" # without first verifying with a core that fixing them is non-disruptive. # H103 Is about the Apache license. It's strangely strict about the use of # single vs double quotes in the license text. Fixing is not worth it # H306 Is about alphabetical imports - there's a lot to fix # H4 Are about docstrings - and there's just too many of them to fix # W503 Is supposed to be off by default but a bug has it on by default. It's # also a categorially terrible idea and Donald Knuth agrees with me. # E741 ambiguous variable name 'l' ignore = H103,H306,H4,W503,W504,E741 show-source = True builtins = _ exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build [testenv:lower-constraints] basepython = python3 deps = -c{toxinidir}/lower-constraints.txt -r{toxinidir}/test-requirements.txt -r{toxinidir}/requirements.txt