openstack-ansible-os_tempest/tox.ini

133 lines
3.2 KiB
INI

[tox]
minversion = 3.18.0
skipsdist = True
envlist = docs,linters,functional,molecule
ignore_basepython_conflict = True
[testenv]
basepython = python3
usedevelop = True
install_command =
pip install -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} {opts} {packages}
commands =
/usr/bin/find . -type f -name "*.pyc" -delete
passenv =
ANSIBLE_*
COMMON_TESTS_PATH
DOCKER_*
HOME
HTTPS_PROXY
HTTP_PROXY
MOLECULE_*
NO_PROXY
SSH_AUTH_SOCK
TERM
TESTING_BRANCH
TESTING_HOME
USER
http_proxy
https_proxy
no_proxy
allowlist_externals =
bash
setenv =
ANSIBLE_FORCE_COLOR=1
ANSIBLE_NOCOWS=1
ANSIBLE_RETRY_FILES_ENABLED=0
ANSIBLE_STDOUT_CALLBACK=debug
ANSIBLE_INVENTORY=
ANSIBLE_CONFIG=
MOLECULE_NO_LOG={env:MOLECULE_NO_LOG:0}
PYTHONUNBUFFERED=1
PY_COLORS=1
ROLE_NAME=os_tempest
TEST_IDEMPOTENCE=false
VIRTUAL_ENV={envdir}
WORKING_DIR={toxinidir}
[testenv:docs]
deps = -r{toxinidir}/doc/requirements.txt
commands =
bash -c "rm -rf doc/build"
doc8 doc
sphinx-build -W --keep-going -b html doc/source doc/build/html
[testenv:pdf-docs]
deps = {[testenv:docs]deps}
allowlist_externals =
make
commands =
sphinx-build -W --keep-going -b latex doc/source doc/build/pdf
make -C doc/build/pdf
[doc8]
# Settings for doc8:
extensions = .rst
[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
# environment used by the -infra templated docs job
[testenv:venv]
commands =
{posargs}
[testenv:pep8]
commands =
bash -c "{toxinidir}/tests/common/test-pep8.sh"
[flake8]
# Ignores the following rules due to how ansible modules work in general
# F403 'from ansible.module_utils.basic import *' used;
# unable to detect undefined names
ignore=F403
[testenv:bashate]
commands =
bash -c "{toxinidir}/tests/common/test-bashate.sh"
[testenv:ansible-syntax]
commands =
bash -c "{toxinidir}/tests/common/test-ansible-syntax.sh"
[testenv:ansible-lint]
commands =
bash -c "{toxinidir}/tests/common/test-ansible-lint.sh"
[testenv:functional]
commands =
bash -c "{toxinidir}/tests/common/test-ansible-functional.sh"
[testenv:distro_install]
setenv =
{[testenv]setenv}
ANSIBLE_PARAMETERS=-e @{toxinidir}/tests/common/test-distro_install-vars.yml
commands =
bash -c "{toxinidir}/tests/common/test-ansible-functional.sh"
[testenv:linters]
commands =
bash -c "{toxinidir}/tests/common/test-ansible-env-prep.sh"
{[testenv:pep8]commands}
{[testenv:bashate]commands}
{[testenv:ansible-lint]commands}
{[testenv:ansible-syntax]commands}
[testenv:molecule]
setenv =
TOX_CONSTRAINTS_FILE=/dev/null
deps =
ansi2html # GPL (soft-dependency of pytest-html)
docker>=3.7 # Apache
molecule>=3.0.2 # MIT
paramiko>=2.5.0 # LGPL (soft-dependency of docker that enables ssh protocol)
pytest # MIT
pytest-html # MPL 2.0
pytest-molecule # MIT
pytest-plus # MIT
selinux # MIT
commands =
python -m pytest -ra --html={envlogdir}/reports.html --self-contained-html {tty:-s} {posargs:-k molecule}