
Number of the environment variables passed to tox envs was reduced from all, to just one. This is preparatory step for further test developmet. Reviews for test infrastructure, refactoring and coverage will be on branches from this one. tools/validate_files.py: Changed encoding to utf-8 to prevent linting error. Signed-off-by: Jiri Podivin <jpodivin@redhat.com> Change-Id: Idd82aecb7b66433396639ed800a33b109a06e11a
124 lines
3.5 KiB
INI
124 lines
3.5 KiB
INI
[tox]
|
|
minversion = 3.2.0
|
|
envlist = linters,docs,py38,molecule
|
|
skipdist = True
|
|
ignore_basepython_conflict = True
|
|
|
|
[testenv]
|
|
basepython = python3
|
|
usedevelop = True
|
|
passenv = TERM
|
|
setenv =
|
|
ANSIBLE_CALLBACK_PLUGINS={toxinidir}/callback_plugins
|
|
ANSIBLE_LOOKUP_PLUGINS={toxinidir}/lookup_plugins
|
|
ANSIBLE_LIBRARY={toxinidir}/library
|
|
ANSIBLE_ROLES_PATH={toxinidir}/roles
|
|
ANSIBLE_NOCOWS=1
|
|
ANSIBLE_RETRY_FILES_ENABLED=0
|
|
ANSIBLE_STDOUT_CALLBACK=debug
|
|
ANSIBLE_LOG_PATH={envlogdir}/ansible-execution.log
|
|
# pip: Avoid 2020-01-01 warnings: https://github.com/pypa/pip/issues/6207
|
|
# paramiko CryptographyDeprecationWarning: https://github.com/ansible/ansible/issues/52598
|
|
PYTHONWARNINGS=ignore:DEPRECATION::pip._internal.cli.base_command,ignore::UserWarning
|
|
PIP_DISABLE_PIP_VERSION_CHECK=1
|
|
PIP_+ VIRTUAL_ENV={envdir}
|
|
LANG=en_US.UTF-8
|
|
LANGUAGE=en_US:en
|
|
LC_ALL=C
|
|
HOME={envdir}
|
|
commands =
|
|
stestr run --slowest --color {posargs}
|
|
deps =
|
|
-c {env:TOX_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
|
|
-r {toxinidir}/requirements.txt
|
|
-r {toxinidir}/test-requirements.txt
|
|
-r {toxinidir}/molecule-requirements.txt
|
|
whitelist_externals = bash
|
|
|
|
[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
|
|
|
|
[testenv:debug]
|
|
commands = oslo_debug_helper {posargs}
|
|
|
|
[testenv:pep8]
|
|
envdir = {toxworkdir}/linters
|
|
commands =
|
|
python -m pre_commit run flake8 -a
|
|
|
|
[testenv:ansible-lint]
|
|
envdir = {toxworkdir}/linters
|
|
deps =
|
|
{[testenv:linters]deps}
|
|
commands =
|
|
bash -c "ANSIBLE_ROLES_PATH='{toxinidir}/roles'"
|
|
bash -c "ANSIBLE_LIBRARY='{toxinidir}/library'"
|
|
python -m pre_commit run ansible-lint -a
|
|
|
|
[testenv:yamllint]
|
|
envdir = {toxworkdir}/linters
|
|
deps = {[testenv:linters]deps}
|
|
commands =
|
|
python -m pre_commit run yamllint -a
|
|
|
|
[testenv:bashate]
|
|
envdir = {toxworkdir}/linters
|
|
deps = {[testenv:linters]deps}
|
|
commands =
|
|
python -m pre_commit run bashate -a
|
|
|
|
[testenv:whitespace]
|
|
envdir = {toxworkdir}/linters
|
|
deps = {[testenv:linters]deps}
|
|
commands =
|
|
python -m pre_commit run trailing-whitespace -a
|
|
|
|
[testenv:shebangs]
|
|
envdir = {toxworkdir}/linters
|
|
deps = {[testenv:linters]deps}
|
|
commands =
|
|
python -m pre_commit run check-executables-have-shebangs -a
|
|
|
|
[testenv:linters]
|
|
deps =
|
|
-r {toxinidir}/requirements.txt
|
|
-r {toxinidir}/test-requirements.txt
|
|
-r {toxinidir}/molecule-requirements.txt
|
|
commands =
|
|
python '{toxinidir}/tools/validate-files.py' .
|
|
{[testenv:ansible-lint]commands}
|
|
{[testenv:yamllint]commands}
|
|
{[testenv:bashate]commands}
|
|
{[testenv:whitespace]commands}
|
|
{[testenv:shebangs]commands}
|
|
|
|
[testenv:releasenotes]
|
|
deps = -r{toxinidir}/doc/requirements.txt
|
|
commands =
|
|
sphinx-build -a -E -W -d releasenotes/build/doctrees --keep-going -b html releasenotes/source releasenotes/build/html
|
|
|
|
[testenv:cover]
|
|
deps =
|
|
-r {toxinidir}/requirements.txt
|
|
-r {toxinidir}/test-requirements.txt
|
|
-r {toxinidir}/molecule-requirements.txt
|
|
commands = python setup.py test --coverage --testr-args='{posargs}'
|
|
|
|
[testenv:docs]
|
|
deps =
|
|
-r {toxinidir}/doc/requirements.txt
|
|
-r {toxinidir}/molecule-requirements.txt
|
|
commands=
|
|
sphinx-build -a -E -W -d doc/build/doctrees --keep-going -b html doc/source doc/build/html -T
|
|
doc8 doc
|
|
|
|
[doc8]
|
|
# Settings for doc8:
|
|
extensions = .rst
|
|
ignore = D001
|