
We can use newer setuptools and pbr to use environment markers in our requirements files which allows us to select deps if the environment matches. With this we restrict the email dep to python < 3.0 which is the only dep we have that doesn't work across python 2 and 3. Note that this also updates the pbr machinery to pull in this new feature support. Part of this update requires updating hacking to avoid conflicting pbr requirements. This in turn has created some churn in the format of the code but should largely be a noop. Change-Id: I0be5dd8a6b33a51329077b5a5f4c7f5576829956
53 lines
1.6 KiB
INI
53 lines
1.6 KiB
INI
[tox]
|
|
minversion = 1.6
|
|
skipsdist = True
|
|
envlist = py34,py27,pep8
|
|
|
|
[testenv]
|
|
usedevelop = True
|
|
install_command = pip install -U {opts} {packages}
|
|
setenv =
|
|
VIRTUAL_ENV={envdir}
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands = bash tools/pretty_tox.sh '{posargs}'
|
|
whitelist_externals = bash
|
|
|
|
[testenv:pep8]
|
|
commands = flake8
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[testenv:docs]
|
|
commands =
|
|
rm -rf doc/html doc/build
|
|
rm -rf doc/source/apidoc doc/source/api
|
|
python setup.py build_sphinx
|
|
|
|
[testenv:cover]
|
|
commands = python setup.py testr --coverage --testr-args='{posargs}'
|
|
|
|
[flake8]
|
|
# E125 and E128 are ignored on purpose, they are invalid pep8
|
|
# H803 is ignored on purpose - gating on periods in commit messages
|
|
# The following rules should either be addressed or determined to be
|
|
# skippable long term.
|
|
# H405 is ignored to make switch to newer hacking easier
|
|
# H234 is ignored to make switch to newer hacking easier
|
|
# H233 is ignored to make switch to newer hacking easier
|
|
# E265 is ignored to make switch to newer hacking easier
|
|
# H236 is ignored to make switch to newer hacking easier
|
|
ignore = E125,E128,H803,H405,H234,H233,E265,H236
|
|
builtins = _
|
|
show-source = True
|
|
exclude=.venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build
|
|
|
|
[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
|