[tox] minversion = 1.6 envlist = py35,py27,pypy,pep8 skipsdist = True [testenv] usedevelop = True passenv = UPPER_CONSTRAINTS_FILE install_command = {toxinidir}/tools/tox_install.sh {env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages} setenv = VIRTUAL_ENV={envdir} LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=C BRANCH_NAME=master CLIENT_NAME=openstacksdk deps = -r{toxinidir}/test-requirements.txt commands = stestr run {posargs} stestr slowest [testenv:examples] passenv = OS_* OPENSTACKSDK_* UPPER_CONSTRAINTS_FILE commands = stestr --test-path ./openstack/tests/examples run {posargs} stestr slowest [testenv:functional] basepython = {env:OPENSTACKSDK_TOX_PYTHON:python2} passenv = OS_* OPENSTACKSDK_* UPPER_CONSTRAINTS_FILE commands = stestr --test-path ./openstack/tests/functional run --serial {posargs} stestr slowest [testenv:pep8] commands = doc8 doc/source flake8 [testenv:venv] commands = {posargs} [testenv:debug] whitelist_externals = find commands = find . -type f -name "*.pyc" -delete oslo_debug_helper {posargs} [testenv:cover] setenv = {[testenv]setenv} PYTHON=coverage run --source shade --parallel-mode commands = stestr run {posargs} coverage combine coverage html -d cover coverage xml -o cover/coverage.xml [testenv:ansible] # Need to pass some env vars for the Ansible playbooks basepython = {env:OPENSTACKSDK_TOX_PYTHON:python2} passenv = HOME USER commands = {toxinidir}/extras/run-ansible-tests.sh -e {envdir} {posargs} [testenv:docs] skip_install = True deps = -r{toxinidir}/test-requirements.txt commands = sphinx-build -b html doc/source/ doc/build [testenv:releasenotes] commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html [flake8] # The following are ignored on purpose. It's not super worth it to fix them. # However, if you feel strongly about it, patches will be accepted to fix them # if they fix ALL of the occurances of one and only one of them. # H103 Is about the Apache license. It's strangely strict about the use of # single vs double quotes in the license text. If someone decides to fix # this, please be sure to preseve all copyright lines. # H306 Is about alphabetical imports - there's a lot to fix. # H4 Are about docstrings and there's just a huge pile of pre-existing issues. # D* Came from sdk, unknown why they're skipped. ignore = H103,H306,H4,D100,D101,D102,D103,D104,D105,D200,D202,D204,D205,D211,D301,D400,D401 show-source = True exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build [doc8] extensions = .rst, .yaml # Maximal line length should be 80. max-line-length = 80