
We want to default to running all tox environments under python 3, so set the basepython value in each environment. We do not want to specify a minor version number, because we do not want to have to update the file every time we upgrade python. We do not want to set the override once in testenv, because that breaks the more specific versions used in default environments like py35 and py36. Change-Id: I86d24104033b490a35178fc504d88c1e4a566628 Signed-off-by: Doug Hellmann <doug@doughellmann.com>
87 lines
2.4 KiB
INI
87 lines
2.4 KiB
INI
[tox]
|
|
envlist = py27,py35,pypy,pep8
|
|
minversion = 2.0
|
|
skipsdist = True
|
|
|
|
[testenv]
|
|
usedevelop = True
|
|
install_command = python -m pip install -U {opts} {packages}
|
|
list_dependencies_command = python -m pip freeze
|
|
setenv =
|
|
LANG=en_US.utf8
|
|
VIRTUAL_ENV={envdir}
|
|
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
.[keystone]
|
|
commands = sh -c '(find . -not \( -type d -name .?\* -prune \) \
|
|
\( -type d -name "__pycache__" -or -type f -name "*.py[co]" \) \
|
|
-print0; find . -name "*.dbm*" -print0) | xargs -0 rm -rf'
|
|
python setup.py testr --testr-args="{posargs}"
|
|
whitelist_externals = sh
|
|
passenv = SWIFT_* *_proxy
|
|
|
|
[testenv:pep8]
|
|
basepython = python3
|
|
commands =
|
|
python -m flake8 swiftclient tests
|
|
|
|
[testenv:venv]
|
|
basepython = python3
|
|
commands = {posargs}
|
|
|
|
[testenv:cover]
|
|
basepython = python3
|
|
commands = python setup.py testr --coverage
|
|
coverage report
|
|
|
|
[testenv:func]
|
|
basepython = python3
|
|
setenv = OS_TEST_PATH=tests.functional
|
|
whitelist_externals =
|
|
coverage
|
|
rm
|
|
commands =
|
|
python setup.py testr --coverage --testr-args="--concurrency=1"
|
|
coverage report -m
|
|
rm -f .coverage
|
|
|
|
[testenv:docs]
|
|
basepython = python3
|
|
commands=
|
|
python setup.py build_sphinx
|
|
|
|
[flake8]
|
|
# it's not a bug that we aren't using all of hacking, ignore:
|
|
# H101: Use TODO(NAME)
|
|
# H301: one import per line
|
|
# H306: imports not in alphabetical order (time, os)
|
|
# H401: docstring should not start with a space
|
|
# H403: multi line docstrings should end on a new line
|
|
# H404: multi line docstring should start without a leading new line
|
|
# H405: multi line docstring summary not separated with an empty line
|
|
ignore = H101,H301,H306,H401,H403,H404,H405
|
|
show-source = True
|
|
exclude = .venv,.tox,dist,doc,*egg
|
|
|
|
[testenv:bindep]
|
|
basepython = python3
|
|
# 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.
|
|
usedevelop = False
|
|
deps = bindep
|
|
commands = bindep test
|
|
|
|
[testenv:releasenotes]
|
|
basepython = python3
|
|
commands = sphinx-build -a -W -E -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
|
|
|
[testenv:lower-constraints]
|
|
basepython = python3
|
|
deps =
|
|
-c{toxinidir}/lower-constraints.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
.[keystone]
|