oslo.policy/tox.ini
Stephen Finucane e103baa002 pre-commit: Resolve dependency conflicts
hacking 3.1.0 depended on 'flake8<3.8.0,>=3.6.0', while we were
specifying flake 3.8.3. This resulted in an error when using the
dependency resolver introduced in pip 20.3. Resolve this by bumping to
hacking 3.2.0.

We also remove bandit and pre-commit from test-requirements, since these
are linters which are not managed by upper-constraints and are not
necessary to run tests. oslo.context is also specified in both
requirements.txt and test-requirements.txt, so we remove it from the
latter.

Change-Id: I829870c327b73b583877b9b969ee38f0bcaa1495
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2021-01-18 15:48:28 +00:00

70 lines
1.6 KiB
INI

[tox]
minversion = 3.1
envlist = py38,pep8,docs
ignore_basepython_conflict = true
[testenv]
basepython = python3
deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt
-r{toxinidir}/doc/requirements.txt
commands = stestr run --slowest {posargs}
[testenv:pep8]
deps =
pre-commit>=2.6.0 # MIT
bandit>=1.6.0,<1.7.0 # Apache-2.0
commands =
pre-commit run -a
# Run security linter
bandit -r oslo_policy tests -n5
[testenv:venv]
commands = {posargs}
[testenv:docs]
whitelist_externals =
rm
deps =
{[testenv]deps}
-r{toxinidir}/doc/requirements.txt
commands =
rm -rf doc/build doc/source/reference/api
sphinx-build -W --keep-going -b html doc/source doc/build/html
[testenv:cover]
setenv =
PYTHON=coverage run --source oslo_policy --parallel-mode
commands =
stestr run --slowest {posargs}
coverage combine
coverage html -d cover
coverage report
[flake8]
show-source = True
# W503 line break before binary operator
# W504 line break after binary operator
ignore = W503,W504
builtins = _
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build
[hacking]
import_exceptions = oslo_policy._i18n
[testenv:releasenotes]
deps = -r{toxinidir}/doc/requirements.txt
whitelist_externals =
rm
commands =
rm -rf releasenotes/build
sphinx-build -a -E -W -d releasenotes/build/doctrees --keep-going -b html releasenotes/source releasenotes/build/html
[testenv:lower-constraints]
deps =
-c{toxinidir}/lower-constraints.txt
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt