
tox 4 introduced some changes which broke compatibility. This updates tox.ini to adopt the change. This also replaces usage of upstream docker package by one provided by distro, assuming that is more stable. Change-Id: I511c5b657386877c6ae3eed57a2e345c6a9e2d70
103 lines
2.8 KiB
INI
103 lines
2.8 KiB
INI
[tox]
|
|
minversion = 3.18.0
|
|
envlist = py36,py38,py39,pep8
|
|
ignore_basepython_conflict = True
|
|
|
|
|
|
[testenv]
|
|
basepython = python3
|
|
setenv =
|
|
VIRTUAL_ENV={envdir}
|
|
PYTHONPATH={toxinidir}/StorletSamples/python:{envdir}
|
|
NOSE_WITH_COVERAGE=1
|
|
NOSE_COVER_BRANCHES=1
|
|
deps =
|
|
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
git+https://opendev.org/openstack/swift.git
|
|
commands =
|
|
find . -type f -name "*.py[c|o]" -delete
|
|
find . -type d -name "__pycache__" -delete
|
|
stestr run --slowest --concurrency 1 {posargs:tests.unit}
|
|
|
|
allowlist_externals =
|
|
bash
|
|
find
|
|
|
|
[testenv:pep8python]
|
|
commands =
|
|
flake8
|
|
flake8 --filename=* bin --exclude=bin/*.sh
|
|
|
|
[testenv:func]
|
|
deps =
|
|
-r{toxinidir}/test-requirements.txt
|
|
git+https://opendev.org/openstack/swift.git
|
|
setenv =
|
|
VIRTUAL_ENV={envdir}
|
|
STORLET_SAMPLE_PATH={toxinidir}/StorletSamples
|
|
CLUSTER_CONF_DIR={toxinidir}
|
|
commands = bash -c "{toxinidir}/.functests jenkins"
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[testenv:cover]
|
|
setenv =
|
|
{[testenv]setenv}
|
|
PYTHON=coverage run --source storlets --parallel-mode
|
|
commands =
|
|
stestr run {posargs}
|
|
coverage combine
|
|
coverage html -d cover
|
|
coverage xml -o cover/coverage.xml
|
|
|
|
[testenv:docs]
|
|
deps =
|
|
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/doc/requirements.txt
|
|
git+https://opendev.org/openstack/swift.git
|
|
commands =
|
|
sphinx-build -a -W -E -b html doc/source doc/build/html
|
|
|
|
[testenv:debug]
|
|
commands = oslo_debug_helper {posargs}
|
|
|
|
[testenv:bashate]
|
|
# Run bashate check for all bash scripts
|
|
# Ignores the following rules:
|
|
# E003: Indent not multiple of 4 (we prefer to use multiples of 2)
|
|
# E006: Line longer than 79 columns
|
|
commands =
|
|
bash -c "grep --recursive --binary-files=without-match \
|
|
--files-with-match '^.!.*\(ba\)\?sh$' \
|
|
--exclude-dir .tox \
|
|
--exclude-dir .git \
|
|
{toxinidir} | xargs bashate --error . --verbose --ignore=E003,E006"
|
|
|
|
[flake8]
|
|
# E123, E125 skipped as they are invalid PEP-8.
|
|
# H301: one import per line
|
|
# H306: imports not in alphabetical order (time, os)
|
|
# H404: multi line docstring should start without a leading new line
|
|
# H405: multi line docstring summary not separated with an empty line
|
|
# W503 line break before binary operator
|
|
# W504 line break after binary operator
|
|
ignore = E123,E125,H301,H306,H404,H405,W503,W504
|
|
show-source = True
|
|
builtins = _
|
|
exclude=.venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build
|
|
|
|
[testenv:pep8]
|
|
commands =
|
|
{[testenv:pep8python]commands}
|
|
{[testenv:bashate]commands}
|
|
passenv =
|
|
HOME
|
|
|
|
[testenv:releasenotes]
|
|
deps = {[testenv:docs]deps}
|
|
commands = sphinx-build -a -W -E -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|