monasca-common/tox.ini
Doug Hellmann 193d1a3815 fix tox python3 overrides
We want to default to running all tox environments under python 3, so
set the basepython value in each environment.

We do not want to specify a minor version number, because we do not
want to have to update the file every time we upgrade python.

We do not want to set the override once in testenv, because that
breaks the more specific versions used in default environments like
py35 and py36.

Change-Id: Ia156a087ff8f04307f255e61f3f2e9ffdae42861
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-06-06 17:03:33 -04:00

100 lines
2.5 KiB
INI

[tox]
envlist = py{27,35},pep8,cover
minversion = 2.5
skipsdist = True
[testenv]
usedevelop = True
setenv = VIRTUAL_ENV={envdir}
OS_TEST_PATH=monasca_common/tests
passenv = http_proxy
HTTP_PROXY
https_proxy
HTTPS_PROXY
no_proxy
NO_PROXY
whitelist_externals = bash
find
rm
install_command = pip install {opts} {packages}
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
commands =
find {toxinidir} -type f -name '*.pyc' -delete
[testenv:py27]
basepython = python2.7
commands =
{[testenv]commands}
ostestr {posargs}
[testenv:py35]
basepython = python3.5
setenv =
{[testenv]setenv}
BLACKLIST_FILE={toxinidir}/test-blacklist-py3.txt
commands =
{[testenv]commands}
ostestr --blacklist-file {env:BLACKLIST_FILE} {posargs}
[testenv:cover]
basepython = python2.7
commands =
{[testenv]commands}
coverage erase
python setup.py test --coverage --testr-args='{posargs}' --coverage-package-name=monasca_common
coverage report
[testenv:debug]
basepython = python3
commands =
{[testenv]commands}
oslo_debug_helper -t {env:OS_TEST_PATH} {posargs}
[testenv:bandit]
basepython = python3
# B101(assert_ussed) - Validation uses asserts because of performance reasons
# monasca_common/kafka_lib is a clone of kafka-python and will be deleted in the future
commands = bandit -r monasca_common -n5 -s B101 -x monasca_common/tests -x monasca_common/kafka_lib
[testenv:flake8]
basepython = python3
commands = flake8 monasca_common
[testenv:pep8]
basepython = python3
commands =
{[testenv:flake8]commands}
{[testenv:bandit]commands}
[testenv:venv]
basepython = python3
commands = {posargs}
[testenv:bindep]
basepython = python3
deps = bindep
commands = bindep test
[flake8]
max-complexity = 50
max-line-length = 100
builtins = _
exclude=.venv,.git,.tox,dist,*egg,build
show-source = True
# note: Due to the need to fork kafka-python, many pep8 violations occure.
# All of the below ignores are caused by the forked kafka-python library
# so when monasca migrates to pykafka, the below line can be removed.
ignore = H101,H301,H404,H405
[testenv:lower-constraints]
basepython = python3
setenv = {[testenv:py35]setenv}
deps =
-c{toxinidir}/lower-constraints.txt
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt
commands = {[testenv:py35]commands}