[tox] minversion = 2.0 envlist = py27,py35,py36,linters,dist skipsdist = True [testenv] usedevelop = True install_command = pip install -U {opts} {packages} setenv = VIRTUAL_ENV={envdir} deps = -r{toxinidir}/test-requirements.txt commands = python setup.py test [testenv:linters] # py3 linters are able to stop more than py2 ones basepython = python3 whitelist_externals = bash commands = {[testenv:pep8]commands} bash -c "cd ansible; find . -type f -regex '.*.y[a]?ml' -print0 | xargs -t -n1 -0 \ ansible-lint \ -x ANSIBLE0012,ANSIBLE0006,ANSIBLE0007,ANSIBLE0016,ANSIBLE0019" \ --exclude=rally pykwalify -d browbeat-config.yaml -s browbeat/schema/browbeat.yml pykwalify -d browbeat-complete.yaml -s browbeat/schema/browbeat.yml bash -c "set -e; for config in $(ls conf/); do \ echo conf/$config; pykwalify -d conf/$config -s browbeat/schema/browbeat.yml; done" [testenv:dist] basepython = python3 # reuse linters environment to lower footprint on dev machines envdir = {toxworkdir}/linters # test that we can build a valid package commands = python setup.py sdist bdist_wheel python -m twine check dist/* [testenv:pep8] commands = flake8 {posargs} [testenv:venv] commands = {posargs} [testenv:py27] basepython = python2.7 commands = pytest {posargs} [testenv:py35] basepython = python3.5 commands = pytest {posargs} [testenv:py36] basepython = python3.6 commands = pytest {posargs} [testenv:cover] commands = python setup.py test --coverage --testr-args='{posargs}' [testenv:docs] commands = python setup.py build_sphinx [testenv:debug] commands = oslo_debug_helper {posargs} [flake8] # E123, E125 skipped as they are invalid PEP-8. show-source = True ignore = E123,E125,E226,E302,E41,E231,E203,H233,H306,H238,H236,H404,H405,W504 max-line-length = 100 builtins = _ exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,ansible/*,.browbeat-venv,.perfkit-venv,.rally-venv,.shaker-venv