Files
openstacksdk/tox.ini
Monty Taylor 7fb95b9e75 Fix py35 and pypy tox env
The basepython line was causing the py35 tests to actually run under
python2. Whoops.

It was doing the same to pypy. Add pypy to bindep with the pypy tag.
Cryptography and the version of pypi in xenial are incompatible, so
update the pypy job to run on fedora-26 instead, which has a new enough
pypy.

Shift the line so that it only applies to functional and ansible tests,
since that's where it's used.

Depends-On: I7c22e23b73ddfc18ee28e87d34d1988417b49ccb
Change-Id: Ia27a0aa0633dcf48c1bab06b3c803f996eae9efa
2017-11-30 17:56:21 -06:00

88 lines
2.7 KiB
INI

[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