
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: I798f7f0a99da5ee8ae848049dcd08a36b495bb62
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
|
|
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
|