shade/tox.ini
Andreas Jaeger 08c07018dc Fix pep8 and py27, functional jobs
pyflake8 was updated and not properly constrainted by hacking, update
to hacking 3.1.0 and fix the problems found.

py27 failed since global upper-constraints includes py3 only packages.
Use lower-constraints for this test.

The functional jobs run on master with py27, remove the py27 master job,
change the jobs so that py3 is used everywhere.

Change-Id: I695d60e53857e03f206dcd7cf10c06c76c8d6cc0
2020-06-01 07:54:56 -05:00

120 lines
3.6 KiB
INI

[tox]
minversion = 2.0
envlist = py27,py38,pep8
skipsdist = True
[testenv]
usedevelop = True
passenv = UPPER_CONSTRAINTS_FILE
install_command = pip install -U {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://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands = stestr run {posargs}
stestr slowest
[testenv:py27]
deps =
# Upper-constraints does not work with py27 anymore, let's
# use lower-constraints for this test.
-c{toxinidir}/lower-constraints.txt
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
[testenv:functional]
basepython = {env:SHADE_TOX_PYTHON:python3}
passenv = OS_* SHADE_* UPPER_CONSTRAINTS_FILE
commands = stestr --test-path ./shade/tests/functional run --serial {posargs}
stestr slowest
[testenv:pep8]
basepython = python3
usedevelop = False
skip_install = True
deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
doc8
hacking>=3.1.0,<3.2.0
pygments
commands =
doc8 doc/source
flake8 shade
[testenv:venv]
basepython = python3
commands = {posargs}
[testenv:debug]
basepython = python3
whitelist_externals = find
commands =
find . -type f -name "*.pyc" -delete
oslo_debug_helper {posargs}
[testenv:cover]
basepython = python3
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]
basepython = python3
# Need to pass some env vars for the Ansible playbooks
passenv = HOME USER
deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
ansible<2.6
commands = {toxinidir}/extras/run-ansible-tests.sh -e {envdir} {posargs}
[testenv:docs]
basepython = python3
deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/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]
basepython = python3
skip_install = True
deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
-r{toxinidir}/doc/requirements.txt
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
[flake8]
# The following are ignored on purpose - please do not submit patches to "fix"
# without first verifying with a core that fixing them is non-disruptive.
# H103 Is about the Apache license. It's strangely strict about the use of
# single vs double quotes in the license text. Fixing is not worth it
# H306 Is about alphabetical imports - there's a lot to fix
# H4 Are about docstrings - and there's just too many of them to fix
# W503 Is supposed to be off by default but a bug has it on by default. It's
# also a categorially terrible idea and Donald Knuth agrees with me.
# E741 ambiguous variable name 'l'
ignore = H103,H306,H4,W503,W504,E741
show-source = True
builtins = _
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build
[testenv:lower-constraints]
basepython = python3
deps =
-c{toxinidir}/lower-constraints.txt
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt