Files
c26f9d127650427e9d485aeabfcdd09dc8280bbc
openstack-ansible-rabbitmq_... /tox.ini

112 lines
3.0 KiB
INI
Raw Normal View History

minversion = 1.6
skipsdist = True
[testenv]
usedevelop = True
install_command = pip install -U {opts} {packages}
setenv = VIRTUAL_ENV={envdir}
[testenv:docs]
python setup.py build_sphinx
# environment used by the -infra templated docs job
[testenv:venv]
commands = {posargs}
[testenv:pep8]
flake8
whitelist_externals = bash
commands =
bash -c "grep -Irl \
-e '!/usr/bin/env python' \
-e '!/bin/python' \
-e '!/usr/bin/python' \
--exclude-dir '.*' \
--exclude-dir 'doc' \
--exclude-dir '*.egg' \
--exclude-dir '*.egg-info' \
--exclude 'tox.ini' \
--exclude '*.sh' \
{toxinidir} | xargs flake8 --verbose"
# Ignores the following rules due to how ansible modules work in general
# unable to detect undefined names
ignore=F403,H303
deps =
bashate
whitelist_externals = bash
commands =
# Run bashate check for all bash scripts
# Ignores the following rules:
# E003: Indent not multiple of 4 (we prefer to use multiples of 2)
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"
[testenv:ansible-syntax]
ansible>1.9,<2.0
changedir = tests
commands =
ansible-galaxy install \
--role-file=ansible-role-requirements.yml \
--ignore-errors \
--force
ansible-playbook -i inventory \
--syntax-check \
--list-tasks \
-e "rolename={toxinidir}" \
test.yml
[testenv:ansible-lint]
ansible>1.9,<2.0
ansible-lint
changedir = tests
commands =
ansible-galaxy install \
--role-file=ansible-role-requirements.yml \
--ignore-errors \
--force
ansible-lint test.yml
changedir = tests
commands =
ansible-galaxy install \
--role-file=ansible-role-requirements.yml \
--ignore-errors \
--force
ansible-playbook -i inventory \
-e "rolename={toxinidir}" \
test.yml
[testenv:linters]
deps =
{[testenv:pep8]deps}
{[testenv:bashate]deps}
{[testenv:ansible-lint]deps}
# note that the ansible-syntax deps are omitted on purpose as the
# ansible-lint env contains duplicate items in its dep list
whitelist_externals = bash
commands =
{[testenv:pep8]commands}
{[testenv:bashate]commands}
{[testenv:ansible-lint]commands}
{[testenv:ansible-syntax]commands}