[tox] minversion = 1.6 skipsdist = True envlist = validate,py27,pep8,pip-install [testenv] basepython = python3 usedevelop = True install_command = pip install -U {opts} {packages} setenv = VIRTUAL_ENV={envdir} deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt commands = stestr run {posargs} [testenv:py27-check-uc] basepython = python2.7 install_command = pip install -U {opts} -c {toxinidir}/upper-constraints.txt {packages} deps = -r{toxinidir}/upper-constraints.txt commands = check-conflicts {toxinidir}/upper-constraints.txt {toxinidir}/upper-constraints-xfails.txt [testenv:py27-check-lc] basepython = python2.7 install_command = pip install -U {opts} -c {toxinidir}/lower-constraints.txt {packages} deps = -r{toxinidir}/lower-constraints.txt commands = check-conflicts {toxinidir}/lower-constraints.txt {toxinidir}/lower-constraints-xfails.txt [testenv:py35-check-uc] basepython = python3.5 install_command = pip install -U {opts} -c {toxinidir}/upper-constraints.txt {packages} deps = -r{toxinidir}/upper-constraints.txt commands = check-conflicts {toxinidir}/upper-constraints.txt {toxinidir}/upper-constraints-xfails.txt [testenv:venv] commands = {posargs} [testenv:update] commands = update-requirements {posargs} [testenv:generate] commands = generate-constraints {posargs} [testenv:validate] commands = validate-constraints {toxinidir}/global-requirements.txt {toxinidir}/upper-constraints.txt {toxinidir}/blacklist.txt validate-constraints {toxinidir}/global-requirements.txt {toxinidir}/lower-constraints.txt {toxinidir}/blacklist.txt [testenv:validate-projects] commands = validate-projects {toxinidir}/projects.txt # TODO remove once zuul reconfigured to run linters on gate [testenv:pep8] deps = {[testenv:linters]deps} whitelist_externals = {[testenv:linters]whitelist_externals} commands = {[testenv:linters]commands} [testenv:linters] deps = hacking>=1.0.0 bashate>=0.5.1 whitelist_externals = bash basepython = python3 commands = flake8 bash -c "find {toxinidir}/tools \ -type f \ -name \*.sh \ -print0 | xargs -0 bashate -v -iE006,E010" [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, and develop mode disabled # explicitly to avoid unnecessarily installing the checked-out repo too (this # further relies on "tox.skipsdist = True" above). deps = bindep commands = bindep test usedevelop = False [testenv:docs] commands = python setup.py build_sphinx [testenv:pip-install] recreate = True deps = . install_command = pip install {opts} {packages} commands = python {toxinidir}/tools/check-install.py [testenv:py34] basepython = python3.4 [testenv:py35] basepython = python3.5 [testenv:babel] # Use the local upper-constraints.txt file deps = Babel install_command = pip install -c upper-constraints.txt {opts} {packages} commands = {toxinidir}/tools/babel-test.sh [flake8] exclude = .venv,.git,.tox,dist,doc,*egg,build