openstacksdk/tox.ini
Monty Taylor da99fae94d
Update for new docs PTI
split docs requirements out into doc/requirements.txt and change the
helper tox docs env to be what the gate is going to be running.

As part of doing this, we can re-enable the enforcer code. However, it
doesn't seem to be working, so leave it as info rather than warn for
now.

Set the jobs and the tox env to use python3. The enforcer module wants
to use ifilterfalse/filterfalse which have different names in 2 vs. 3.
There's no reason to NOT run sphinx in python3.

Change-Id: I358db11b130b909084f7a9e8925477e931d87117
2018-01-05 12:44:02 -06:00

96 lines
3.0 KiB
INI

[tox]
minversion = 1.6
envlist = py35,py27,pypy,pep8
skipsdist = True
[testenv]
usedevelop = True
install_command = pip install {opts} {packages}
setenv =
VIRTUAL_ENV={envdir}
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_ALL=C
deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt
commands = stestr run {posargs}
stestr slowest
[testenv:examples]
passenv = OS_* OPENSTACKSDK_*
commands = stestr --test-path ./openstack/tests/examples run {posargs}
stestr slowest
[testenv:functional]
basepython = {env:OPENSTACKSDK_TOX_PYTHON:python2}
passenv = OS_* OPENSTACKSDK_*
commands = stestr --test-path ./openstack/tests/functional run --serial {posargs}
stestr slowest
[testenv:pep8]
deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/doc/requirements.txt
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]
basepython = python3
deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
-r{toxinidir}/requirements.txt
-r{toxinidir}/doc/requirements.txt
commands = sphinx-build -W -d doc/build/doctrees -b html doc/source/ doc/build/html
[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