config/sysinv/cgts-client/cgts-client/tox.ini

114 lines
3.1 KiB
INI

[tox]
envlist = py27,py36,pep8,pylint
minversion = 1.6
#skipsdist = True
# tox does not work if the path to the workdir is too long, so move it to /tmp
toxworkdir = /tmp/{env:USER}_cgtsclienttox
stxdir = {toxinidir}/../../../..
distshare={toxworkdir}/.tox/distshare
[testenv]
setenv = VIRTUAL_ENV={envdir}
PYTHONWARNINGS=default::DeprecationWarning
OS_TEST_PATH=cgtsclient/tests
TESTR_START_DIR=cgtsclient/tests
basepython = python2.7
usedevelop = True
install_command = pip install \
-U \
-c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/stable/stein/upper-constraints.txt} \
{opts} {packages}
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
-e{[tox]stxdir}/config/tsconfig/tsconfig
commands =
find {toxinidir} -not -path '{toxinidir}/.tox/*' -name '*.py[c|o]' -delete
whitelist_externals =
bash
find
rm
passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY
[testenv:py27]
basepython = python2.7
commands =
{[testenv]commands}
stestr run {posargs}
stestr slowest
[testenv:py36]
basepython = python3.6
commands =
{[testenv]commands}
stestr run {posargs}
stestr slowest
[testenv:pep8]
basepython = python3
deps = -r{toxinidir}/test-requirements.txt
flake8-bugbear
commands =
flake8 cgtsclient
[testenv:venv]
commands = {posargs}
[testenv:cover]
basepython = python2.7
setenv = {[testenv]setenv}
PYTHON=coverage run --parallel-mode
commands =
{[testenv]commands}
coverage erase
rm -f .coverage
rm -Rf cover
rm -f coverage.xml
stestr run {posargs}
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
coverage report
[flake8]
show-source = true
exclude=.*,dist,*lib/python*,*egg,build
max-complexity=25
# H102 Apache 2.0 license header not found
# H104 File contains nothing but comments
# H105 Don't use author tags
# H238 old style class declaration, use new style (inherit from `object`)
# H404 multi line docstring should start without a leading new line
# H405 multi line docstring summary not separated with an empty line
# -B- codes are bugbear
# B004 Using `hasattr(x, '__call__')` to test if `x` is callable is unreliable.
# B005 Using .strip() with multi-character strings is misleading the reader.
# B006 Do not use mutable data structures for argument defaults
# B009 Do not call getattr with a constant attribute value
# B010 Do not call setattr with a constant attribute value
# -W- codes are warnings
# W503 line break before binary operator
# W504 line break after binary operator
# W605 invalid escape sequence
# -E- codes are errors
# E501 line too long
# E731 do not assign a lambda expression, use a def
# -F- codes are errors
# F841 local variable 'X' is assigned to but never used
ignore = H102,H104,H105,H238,H404,H405,
B004,B005,B006,B009,B010,
W503,W504,W605,
E501,E731,
F841
[testenv:pylint]
basepython = python2.7
deps = {[testenv]deps}
pylint
commands = pylint {posargs} cgtsclient --rcfile=./pylint.rc --extension-pkg-whitelist=lxml.etree,greenlet