e44ca6d8af
Python 3.8 is now our highest level supported python runtime. This updates the default tox target environments to swap out py37 for py38 to make sure local development testing is covering this version. This does not impact zuul jobs in any way, nor prevent local tests against py37. It just changes the default if none is explicitly provided. Change-Id: I7bc7d7a49de746cc8fdb58a44619bc5ce66b7003 Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
120 lines
3.2 KiB
INI
120 lines
3.2 KiB
INI
[tox]
|
||
envlist = py27,py38,pep8
|
||
minversion = 2.0
|
||
skipsdist = True
|
||
|
||
[testenv]
|
||
usedevelop = True
|
||
list_dependencies_command = python -m pip freeze
|
||
setenv =
|
||
LANG=en_US.utf-8
|
||
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) | xargs -0 rm -rf'
|
||
stestr run {posargs}
|
||
whitelist_externals = sh
|
||
passenv = SWIFT_* *_proxy
|
||
|
||
[testenv:pep8]
|
||
basepython = python3
|
||
commands =
|
||
python -m flake8 swiftclient test
|
||
|
||
[testenv:venv]
|
||
basepython = python3
|
||
commands = {posargs}
|
||
|
||
[testenv:cover]
|
||
basepython = python3
|
||
setenv =
|
||
PYTHON=coverage run --source swiftclient --parallel-mode
|
||
commands =
|
||
stestr run
|
||
coverage combine
|
||
coverage html -d cover
|
||
coverage xml -o cover/coverage.xml
|
||
coverage report
|
||
|
||
[testenv:func]
|
||
basepython = python3
|
||
setenv =
|
||
OS_TEST_PATH=test.functional
|
||
PYTHON=coverage run --source swiftclient --parallel-mode
|
||
whitelist_externals =
|
||
coverage
|
||
rm
|
||
commands =
|
||
stestr run --concurrency=1
|
||
coverage combine
|
||
coverage html -d cover
|
||
coverage xml -o cover/coverage.xml
|
||
coverage report -m
|
||
rm -f .coverage
|
||
|
||
[testenv:py2func]
|
||
basepython=python2
|
||
setenv = {[testenv:func]setenv}
|
||
whitelist_externals = {[testenv:func]whitelist_externals}
|
||
commands = {[testenv:func]commands}
|
||
|
||
[testenv:docs]
|
||
basepython = python3
|
||
usedevelop = False
|
||
deps = -r{toxinidir}/doc/requirements.txt
|
||
commands=
|
||
sphinx-build -W -b html doc/source doc/build/html -W
|
||
|
||
[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
|
||
# W504: line break after binary operator
|
||
ignore = H101,H301,H306,H401,H403,H404,H405,W504
|
||
# H106: Don’t put vim configuration in source files
|
||
# H203: Use assertIs(Not)None to check for None
|
||
enable-extensions=H106,H203
|
||
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
|
||
usedevelop = False
|
||
deps = -r{toxinidir}/doc/requirements.txt
|
||
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]
|
||
|
||
[testenv:pdf-docs]
|
||
basepython = python3
|
||
deps = {[testenv:docs]deps}
|
||
whitelist_externals =
|
||
make
|
||
commands =
|
||
sphinx-build -W -b latex doc/source doc/build/pdf
|
||
make -C doc/build/pdf
|