requirements/tox.ini
Doug Hellmann 0ae1c7fd19 add tox env for running requirements-check
Set up a tox environment for running project-requirements-change.py,
the script used in the requirements-check job.

Change-Id: I5336222949acfd947f2ef54ed120e3632b28ccb7
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-07-11 07:34:10 -04:00

112 lines
3.3 KiB
INI

[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: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:py36-check-uc]
basepython = python3.6
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
[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:py36]
basepython = python3.6
[testenv:requirements-check]
basepython = python3
deps = -r{toxinidir}/requirements.txt
commands =
{toxinidir}/playbooks/files/project-requirements-change.py --local {posargs}
[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