[tox] minversion = 1.6 envlist = validate,pep8,bashate [testenv] passenv=ZUUL_CACHE_DIR install_command = pip install -U {opts} {packages} --allow-external lazr.authentication --allow-insecure lazr.authentication setenv = VIRTUAL_ENV={envdir} # launchpadlib 0.0.1.dev533 requires lazr.restfulclient, which is # py2-only (as of lazr.restfulclient 0.13.1) basepython = python2.7 [testenv:validate] deps = yamllint==1.4.1 commands = yamllint -f parsable -c {toxinidir}/yamllint.yml deliverables validate-request {posargs} [testenv:list-changes] setenv = PYTHONUNBUFFERED=1 commands = list-changes {posargs} [testenv:pep8] deps = flake8>=2.2.4,<=2.4.1 commands = flake8 [testenv:bashate] deps = bashate whitelist_externals = bash commands = bash -c "find {toxinidir} \ -not \( -type d -name .?\* -prune \) \ -type f \ -not -name \*~ \ -not -name \*.md \ -name \*.sh \ -print0 | xargs -0 bashate -v" [testenv:venv] deps = .[sphinxext] commands = {posargs} [testenv:history] commands = {toxinidir}/tools/build_tag_history.sh {toxinidir} [testenv:cover] #commands = python setup.py testr --coverage --testr-args='{posargs}' [testenv:docs] commands = sphinx-build -a -E -W -d doc/build/doctrees -b html doc/source doc/build/html deps = .[sphinxext] [flake8] # H803 skipped on purpose per list discussion. # E123, E125 skipped as they are invalid PEP-8. # E501 skipped because some of the code files include templates # that end up quite wide show-source = True ignore = E123,E125,H803,E501 builtins = _ exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,release-tag-* [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