08130cd625
python 2.7 zuul jobs such as py27 and pylint could fail when trying to import bandit using the new pip since bandit 1.7 was released Dec 12 and is python3 only. The cpp file header was only changed in this review to trigger the appropriate zuul jobs. Partial-Bug: #1907678 Change-Id: Idb1e97d16773d36027d29f4eb100d8b453a8069f Signed-off-by: albailey <Al.Bailey@windriver.com>
169 lines
5.2 KiB
INI
169 lines
5.2 KiB
INI
[tox]
|
|
envlist = linters,pep8,pylint,rpm-packaging-lint
|
|
minversion = 2.3
|
|
skipsdist = True
|
|
stxdir = {toxinidir}/../
|
|
|
|
[testenv]
|
|
install_command = pip install \
|
|
-chttps://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:rpm-packaging-lint]
|
|
basepython = python3
|
|
setenv =
|
|
VIRTUAL_ENV={envdir}
|
|
LC_ALL=en_US.utf-8
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
whitelist_externals = bash
|
|
commands =
|
|
bash -c 'if [ -d {toxinidir}/../zuul-jobs ]; then \
|
|
find . \
|
|
-not \( -type d -name .?\* -prune \) \
|
|
-not \( -type d -name centos -prune \) \
|
|
-type f -name \*.spec \
|
|
-print0 | xargs -0 {toxinidir}/../zuul-jobs/scripts/speclint.sh; \
|
|
fi'
|
|
|
|
[testenv:linters]
|
|
basepython = python3
|
|
whitelist_externals = bash
|
|
commands =
|
|
bash -c "find {toxinidir} \
|
|
-not \( -type d -name .?\* -prune \) \
|
|
-type f \
|
|
-not -name \*~ \
|
|
-not -name \*.md \
|
|
\( \
|
|
-name \*.sh \
|
|
-or -not -wholename \*/devstack/files/\* \
|
|
-wholename \*/devstack/\* \
|
|
\) \
|
|
-print0 | xargs -0 bashate -v -iE006"
|
|
bash -c "find {toxinidir} \
|
|
\( -name .tox -prune \) \
|
|
-o -type f -name '*.yaml' \
|
|
-print0 | xargs -0 yamllint -d '\{extends: relaxed, rules: \{line-length: \{max: 260\}\}\}'"
|
|
|
|
[testenv:pylint]
|
|
basepython = python3
|
|
sitepackages = False
|
|
|
|
deps = {[testenv]deps}
|
|
-e{toxinidir}/../config/tsconfig/tsconfig
|
|
-e{toxinidir}/../config/sysinv/cgts-client/cgts-client
|
|
-r{toxinidir}/requirements.txt
|
|
pylint
|
|
|
|
commands = pylint {posargs} --rcfile=./pylint.rc \
|
|
fm-api/fm_api \
|
|
fm-common/sources/fm_db_sync_event_suppression.py \
|
|
fm-rest-api/fm/fm \
|
|
python-fmclient/fmclient/fmclient
|
|
|
|
|
|
####
|
|
# Add flake8 as pep8 codestyle check.
|
|
[testenv:pep8]
|
|
basepython = python3
|
|
description =
|
|
Run style checks.
|
|
deps =
|
|
hacking
|
|
commands =
|
|
flake8
|
|
|
|
[flake8]
|
|
# H102 Apache 2.0 license header not found
|
|
# H104 File contains nothing but comments
|
|
# H105 Don't use author tags
|
|
# H301 one import per line
|
|
# H306 imports not in alphabetical order
|
|
# H401 docstring should not start with a space
|
|
# H403 multi line docstrings should end on a new line
|
|
# H404 multi line docstring should start without a leading new line
|
|
# H405 multi line docstring summary not separated with an empty line
|
|
# H702 Argument to ... must be a string
|
|
# H903 Windows style line endings not allowed in code
|
|
# W504 line break after binary operator
|
|
# W605 invalid escape sequence
|
|
# E123, E125 skipped as they are invalid PEP-8.
|
|
# E501 skipped because some of the code files include templates
|
|
# that end up quite wide
|
|
|
|
# E402,module level import not at top of file
|
|
# W504,line break after binary operator
|
|
# W605,invalid escape sequence '\w'
|
|
# E117,over-indented
|
|
# F633,use of >> is invalid with print function
|
|
# F841,local variable 'e' is assigned to but never used
|
|
# E741,ambiguous variable name 'l'
|
|
# E117,over-indented
|
|
# F632,use ==/!= to compare constant literals (str, bytes, int, float, tuple)
|
|
show-source = True
|
|
ignore = H102,H104,H105,H301,H306,H401,H403,H404,H405,H702,H903,
|
|
W504,W605,E123,E125,E501,E402,W504,W605,E117,F633,F841,E741,E117,F632
|
|
exclude = .venv,.git,.tox,dist,doc,*lib/python*,*egg,build,release-tag-*
|
|
# TODO: H106 Do not put vim configuration in source files (off by default).
|
|
# H203 Use assertIs(Not)None to check for None (off by default).
|
|
# TODO: H904 Delay string interpolations at logging calls (off by default).
|
|
enable-extensions = H203
|
|
|
|
[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:api-ref]
|
|
basepython = python3
|
|
deps =
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands =
|
|
rm -rf api-ref/build
|
|
sphinx-build -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html
|
|
whitelist_externals = rm
|
|
|
|
[testenv:build]
|
|
deps =
|
|
commands = {toxinidir}/devstack/build.sh
|
|
|
|
[testenv:functional]
|
|
basepython = python3
|
|
whitelist_externals = cat
|
|
commands = cat /etc/fm/fm.conf
|
|
|
|
[testenv:bandit]
|
|
basepython = python3
|
|
description = Bandit code scan for *.py files under config folder
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
commands = bandit -r {toxinidir}/ -x '**/.tox/**',**/.eggs/** -lll
|