python-monascaclient/tox.ini
Sean McGinnis b628032342
Bump default tox env from py37 to py38
Python 3.8 is now our highest level supported python runtime.
This updates the default tox target environments to swap out
py37 for py38 to make sure local development testing is
covering this version.

This does not impact zuul jobs in any way, nor prevent local
tests against py37. It just changes the default if none is
explicitly provided.

Change-Id: Iff25bf057492ab20c114e9b89a22bed6ca12ba3e
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2020-04-24 10:25:56 -05:00

103 lines
2.5 KiB
INI

[tox]
envlist = py38,pypy,cover,pep8
minversion = 3.1.1
skipsdist = True
ignore_basepython_conflict = True
[testenv]
basepython = python3
setenv =
VIRTUAL_ENV={envdir}
OS_TEST_PATH=monascaclient/tests
PYTHONWARNINGS=default::DeprecationWarning
passenv = *_proxy
*_PROXY
usedevelop = True
install_command = pip install {opts} {packages}
deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt
whitelist_externals = bash
find
rm
commands =
find {toxinidir} -type f -name "*.pyc" -delete
stestr run {posargs}
[testenv:cover]
setenv =
PYTHON=coverage run --source monascaclient --parallel-mode
commands =
coverage erase
stestr run {posargs}
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
coverage report
[testenv:debug]
commands = oslo_debug_helper -t {env:OS_TEST_PATH} {posargs}
[testenv:pep8]
skip_install = True
usedevelop = False
commands =
{[testenv:flake8]commands}
{[testenv:bandit]commands}
{[testenv:checkniceness]commands}
[testenv:flake8]
skip_install = True
usedevelop = False
commands = flake8 monascaclient
[testenv:bandit]
skip_install = True
usedevelop = False
commands = bandit -r monascaclient -n5 -x {env:OS_TEST_PATH}
[testenv:docs]
description = Builds full monascaclient documentation
commands =
{[testenv:devdocs]commands}
{[testenv:releasenotes]commands}
[testenv:devdocs]
description = Builds developer documentation
commands =
rm -rf {toxinidir}/doc/build {toxinidir}/doc/source/contributor/api
sphinx-build -a -W -b html doc/source doc/build/html
[testenv:releasenotes]
description = Called from CI script to test and publish the Release Notes
commands =
rm -rf releasenotes/build
sphinx-build -a -W -E -d {toxinidir}/releasenotes/build/doctrees -b html \
{toxinidir}/releasenotes/source {toxinidir}/releasenotes/build/html
[testenv:checkniceness]
description = Validates (pep-like) documenation
commands =
doc8 --file-encoding utf-8 {toxinidir}/doc
doc8 --file-encoding utf-8 {toxinidir}/releasenotes
[testenv:venv]
commands = {posargs}
[hacking]
import_exceptions =
six.moves
[flake8]
show-source = True
max-line-length = 100
builtins = _
exclude=.venv,.git,.tox,dist,client_api_example.py,*lib/python*,*egg,build
[testenv:lower-constraints]
deps =
-c{toxinidir}/lower-constraints.txt
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt