
The new flake8 version 3.6.0 introduces new warnings that cause the check and gate jobs to fail. Locking down the flake8 version to avoid these surprises in the future. We can later increment the flake8 version and fix the new warnings in a controlled manner. Change-Id: I86c81746f8f8f2fcf5211335f8c42b0c03fcca9e Partial-Bug: 1799721 Signed-off-by: Bart Wensley <barton.wensley@windriver.com>
149 lines
4.1 KiB
INI
149 lines
4.1 KiB
INI
#
|
|
# Copyright (c) 2018 Wind River Systems, Inc.
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
|
|
# Tox (http://tox.testrun.org/) is a tool for running tests
|
|
# in multiple virtualenvs. This configuration file will run the
|
|
# test suite on all supported python versions. To use it, "pip install tox"
|
|
# and then run "tox" from this directory.
|
|
[tox]
|
|
envlist = linters,pep8,py27,py35,pylint
|
|
minversion = 2.3
|
|
skipsdist = True
|
|
|
|
[testenv]
|
|
install_command = pip install -U {opts} {packages}
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
OS_STDOUT_CAPTURE=1
|
|
OS_STDERR_CAPTURE=1
|
|
OS_TEST_TIMEOUT=60
|
|
PYTHONDONTWRITEBYTECODE=True
|
|
cgcs_patch_dir = {toxinidir}/cgcs-patch/cgcs-patch
|
|
cgcs_patch_src_dir = {[testenv]cgcs_patch_dir}/cgcs_patch
|
|
patch_alarm_dir = {toxinidir}/patch-alarm/patch-alarm
|
|
patch_alarm_src_dir = {[testenv]patch_alarm_dir}/patch_alarm
|
|
tsconfig_dir = {toxinidir}/tsconfig/tsconfig
|
|
tsconfig_src_dir = {[testenv]tsconfig_dir}/tsconfig
|
|
commands = find {toxinidir} -type f -not -path '{toxinidir}/.tox/*' -not -path '*/__pycache__/*' -name '*.py[c|o]' -delete
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
{[testenv]cgcs_patch_dir}
|
|
{[testenv]patch_alarm_dir}
|
|
{[testenv]tsconfig_dir}
|
|
|
|
[testenv:linters]
|
|
basepython = python3
|
|
whitelist_externals = bash
|
|
commands =
|
|
bash -c "find {toxinidir} \
|
|
\( -name .tox -prune \) \
|
|
-o -type f -name '*.yaml' \
|
|
-print0 | xargs --no-run-if-empty -0 yamllint"
|
|
bash -c "find {toxinidir} \
|
|
-not \( -type d -name .?\* -prune \) \
|
|
-type f \
|
|
-not -name \*~ \
|
|
-not -name \*.md \
|
|
-name \*.sh \
|
|
-print0 | xargs --no-run-if-empty -0 bashate -v -e 'E*' -iE006"
|
|
|
|
[flake8]
|
|
# ignore below errors , will fix flake8 errors in future
|
|
# E501 skipped because some of the code files include templates
|
|
# that end up quite wide
|
|
# F401 'XXXXX' imported but unused
|
|
# F841 local variable 'XXXXXX' is assigned to but never used
|
|
show-source = True
|
|
ignore = E501,F401,F841
|
|
exclude = .venv,.git,.tox,dist,doc,*lib/python*,*egg,build,release-tag-*
|
|
|
|
# Use flake8 to replace pep8.
|
|
[testenv:pep8]
|
|
basepython = python3
|
|
usedevelop = False
|
|
skip_install = True
|
|
deps =
|
|
flake8<3.6.0
|
|
commands =
|
|
flake8
|
|
|
|
[testenv:venv]
|
|
basepython = python3
|
|
commands = {posargs}
|
|
|
|
[nosetests]
|
|
verbosity=2
|
|
|
|
[testenv:py27]
|
|
basepython = python2.7
|
|
deps = {[testenv]deps}
|
|
whitelist_externals = cp
|
|
find
|
|
recreate = True
|
|
commands = {[testenv]commands}
|
|
|
|
[testenv:py35]
|
|
basepython = python3
|
|
deps = {[testenv]deps}
|
|
whitelist_externals = cp
|
|
find
|
|
recreate = True
|
|
commands = {[testenv]commands}
|
|
|
|
[testenv:pylint]
|
|
deps = {[testenv]deps}
|
|
pylint
|
|
-e{toxinidir}/../stx-config/sysinv/sysinv/sysinv
|
|
-e{toxinidir}/../stx-fault/fm-api
|
|
pyCrypto
|
|
daemon
|
|
keystoneauth1
|
|
keystonemiddleware
|
|
netaddr
|
|
oslo_config
|
|
pecan
|
|
requests
|
|
requests_toolbelt
|
|
rpm
|
|
basepython = python2.7
|
|
commands = pylint {[testenv]cgcs_patch_src_dir} \
|
|
{[testenv]patch_alarm_src_dir} \
|
|
{[testenv]tsconfig_src_dir} \
|
|
--rcfile=./pylint.rc
|
|
|
|
[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
|