[tox] minversion = 1.4.2 envlist = docs,linters skipsdist = True [testenv] deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt [testenv:functional] commands = ansible-playbook -i tests/inventory tests/test.yaml \ -e "@tests/resources.yml" -e "ansible_python_interpreter={toxinidir}/.tox/functional/bin/python" passenv = HOME setenv = ANSIBLE_CONFIG = {toxinidir}/tests/ansible.cfg PYTHONUNBUFFERED = 1 [testenv:docs] commands = python setup.py build_sphinx [testenv:venv] commands = {posargs} [flake8] # E123, E125 skipped as they are invalid PEP-8. show-source = True ignore = E123,E125 builtins = _ exclude=.venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build [testenv:linters] setenv = ANSIBLE_CONFIG = tests/ansible.cfg whitelist_externals = bash commands = # PEP8 Lint Check flake8 # Ansible Lint Check # # 204: Lines < 160 # Things like keys, script lines, etc exceed this. We have good # taste and only use long lines where appropriate. # # 206: {{var}} should have spaces {{ var }} bash -c "find . -type f -regex '.*.y[a]?ml' ! -path './.tox/*' -print0 | xargs -t -n1 -0 \ ansible-lint -x204 -x 206" # Ansible Syntax Check bash -c "find tests -type f -regex '.*.y[a]?ml' ! -name 'resources.yml' \ -print | xargs -t -n1 \ ansible-playbook --syntax-check -i tests/inventory \ -e rolename=$(basename $(pwd)) > /dev/null"