f035853b25
This change imposes the upper constraint in tox to protect from
future releases causing random breakage.
Ex: A new version of python-libvirt was released Jan 23 2020
which will not install on python2.
This change also enables the python3 target for pylint which will
allow the upper constraint to be changed to a more recent version
when all the tox files are aligned.
Change-Id: I9056778085d32b3401df60c20d67cff0a21dfe97
Story: 2004515
Task: 38496
Signed-off-by: Al Bailey <Al.Bailey@windriver.com>
(cherry picked from commit 7b7959e9b5
)
148 lines
4.2 KiB
INI
148 lines
4.2 KiB
INI
[tox]
|
|
envlist = linters
|
|
minversion = 2.3
|
|
skipsdist = True
|
|
stxdir = {toxinidir}/..
|
|
|
|
[testenv]
|
|
install_command = pip install -U \
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/stable/stein/upper-constraints.txt} \
|
|
{opts} {packages}
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
OS_STDOUT_CAPTURE=1
|
|
OS_STDERR_CAPTURE=1
|
|
OS_TEST_TIMEOUT=60
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
|
|
[testenv:linters]
|
|
basepython = python3
|
|
whitelist_externals = bash
|
|
#bashate ignore
|
|
#E006 Line too long
|
|
#E041 Arithmetic expansion using $[ is deprecated for $((
|
|
#E042 local declaration hides errors
|
|
#E043 Arithmetic compound has inconsistent return semantics
|
|
#E044 Use [[ for non-POSIX comparisions
|
|
commands =
|
|
bash -c "find {toxinidir} \
|
|
-not \( -type d -name .?\* -prune \) \
|
|
-type f \
|
|
-not -name \*~ \
|
|
-not -name \*.md \
|
|
-name \*.sh \
|
|
-print0 | xargs -n 1 -0 bashate -v \
|
|
-i E006,E041,E042,E043,E044 -e E*"
|
|
bash -c "find {toxinidir} \
|
|
\( -path {toxinidir}/.tox \) -a -prune \
|
|
-o -type f -name '*.yaml' \
|
|
-print0 | xargs -0 yamllint"
|
|
|
|
[flake8]
|
|
# E series are pep8
|
|
# E265 block comment should start with '# '
|
|
# E266 too many leading '#' for block comment
|
|
# E402 module level import not at top of file
|
|
# E501 line too long > 80
|
|
# E722 do not use bare except'
|
|
# H series are hacking
|
|
# H101: Use TODO(NAME)
|
|
# H102 is apache license
|
|
# H104: File contains nothing but comments
|
|
# H201: no 'except:' at least use 'except Exception:'
|
|
# H238: old style class declaration, use new style
|
|
# H306: imports not in alphabetical order
|
|
# W series
|
|
# W291 trailing whitespace
|
|
# W391 blank line at end of file
|
|
# W503 line break before binary operator
|
|
# B series are from bugbear
|
|
# B001 Do not use bare `except:
|
|
# B007 Loop control variable 'cpu' not used within the loop body.
|
|
# B009 Do not call getattr with a constant attribute value
|
|
# B010 Do not call setattr with a constant attribute value
|
|
# F series
|
|
# F401 'module' imported but unused
|
|
ignore = E265,E266,E402,E501,E722
|
|
H101,H102,H104,H201,H238,H306,
|
|
W291,W391,W503,
|
|
B001,B007,B009,B010,
|
|
F401
|
|
|
|
[testenv:pep8]
|
|
basepython = python3
|
|
usedevelop = False
|
|
skip_install = True
|
|
deps =
|
|
hacking
|
|
flake8-bugbear<=19.3.0
|
|
flake8<3.6.0
|
|
commands =
|
|
flake8
|
|
|
|
[testenv:pylint]
|
|
basepython = python3
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
-e{[tox]stxdir}/update/tsconfig/tsconfig
|
|
-e{[tox]stxdir}/fault/fm-api
|
|
-e{[tox]stxdir}/config/sysinv/sysinv/sysinv
|
|
-e{[tox]stxdir}/config/sysinv/cgts-client/cgts-client
|
|
docutils
|
|
keyring===18.0.1
|
|
pkgconfig
|
|
libvirt-python
|
|
oslo_i18n
|
|
oslo_log
|
|
oslo_messaging
|
|
oslo_service
|
|
python-cephclient
|
|
python-cinderclient
|
|
python-glanceclient
|
|
python-keystoneclient
|
|
python-novaclient
|
|
SQLAlchemy
|
|
retrying
|
|
python-daemon==2.1.2
|
|
pylint
|
|
|
|
# There are currenrly 5 python modules with a setup.py file
|
|
commands = pylint --rcfile=./pylint.rc \
|
|
ceph/ceph-manager/ceph-manager/ceph_manager \
|
|
logging/logmgmt/logmgmt/logmgmt \
|
|
tools/storage-topology/storage-topology/storage_topology \
|
|
tools/vm-topology/vm-topology/vm_topology \
|
|
utilities/platform-util/platform-util/platform_util
|
|
|
|
[testenv:venv]
|
|
basepython = python3
|
|
commands = {posargs}
|
|
|
|
[testenv:docs]
|
|
basepython = python3
|
|
deps = -r{toxinidir}/doc/requirements.txt
|
|
commands =
|
|
rm -rf doc/build
|
|
sphinx-build -a -E -W -d doc/build/doctrees -b html doc/source doc/build/html
|
|
whitelist_externals = rm
|
|
|
|
[testenv:releasenotes]
|
|
basepython = python3
|
|
deps = -r{toxinidir}/doc/requirements.txt
|
|
commands =
|
|
rm -rf releasenotes/build
|
|
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
|
whitelist_externals =
|
|
rm
|
|
reno
|
|
|
|
[testenv:newnote]
|
|
basepython = python3
|
|
# Re-use the releasenotes venv
|
|
envdir = {toxworkdir}/releasenotes
|
|
deps = -r{toxinidir}/doc/requirements.txt
|
|
commands = reno new {posargs}
|
|
|
|
[testenv:functional]
|
|
basepython = python3
|
|
whitelist_externals = cat
|
|
commands = cat /etc/group
|