spyglass/tox.ini
Ian H. Pittwood 61ecee4624 Use py36 job for safety checks
When using pipenv, the targeted version must be used when attempting to
do pipenv check. This change updates the safety dependency check to use
openstack-tox-py36  so the correct python version will be used.

Change-Id: I4b9f71cfaaa74724ecee7b40ea6e9362e836d261
2019-08-14 19:14:25 +00:00

105 lines
2.2 KiB
INI

[tox]
envlist = py36, py37, pep8, safety, docs, cover
minversion = 2.3.1
skipsdist = True
[testenv]
usedevelop = True
setenv =
VIRTUAL_ENV={envdir}
LANGUAGE=en_US
LC_ALL=en_US.utf-8
PIPENV_VERBOSITY=-1
deps =
pipenv
passenv = http_proxy https_proxy HTTP_PROXY HTTPS_PROXY no_proxy NO_PROXY PBR_VERSION
whitelist_externals =
find
commands =
pipenv install --dev
find . -type f -name "*.pyc" -delete
{toxinidir}/tools/gate/run-unit-tests.sh '{posargs}'
[testenv:fmt]
basepython = python3
deps =
pipenv
commands =
pipenv install --dev
yapf -ir {toxinidir}/spyglass {toxinidir}/tests
[testenv:pep8]
basepython = python3
deps =
pipenv
safety
commands =
pipenv install --dev
bash -c {toxinidir}/tools/gate/whitespace-linter.sh
yapf -dr {toxinidir}/spyglass {toxinidir}/tests
flake8 {toxinidir}/spyglass {toxinidir}/tests
bandit -r spyglass -n 5
whitelist_externals =
bash
[testenv:safety]
basepython = python3
deps =
pipenv
safety
commands =
pipenv check
safety check -r {toxinidir}/doc/requirements.txt --full-report
[testenv:bandit]
basepython = python3
deps =
pipenv
commands =
pipenv install --dev
bandit -r spyglass -n 5
[testenv:update-requirements]
deps =
pipenv
commands =
pipenv lock --clear
bash -c "pipenv lock -r > {toxinidir}/requirements.txt"
whitelist_externals =
bash
[testenv:docs]
basepython = python3
deps =
-r{toxinidir}/doc/requirements.txt
commands =
rm -rf doc/build
sphinx-build -b html doc/source doc/build/html -n -W -v
whitelist_externals = rm
[testenv:cover]
basepython = python3
deps =
pipenv
commands =
pipenv install --dev
bash -c 'PATH=$PATH:~/.local/bin; pytest --cov=spyglass \
--cov-report html:cover --cov-report xml:cover/coverage.xml \
--cov-report term --cov-fail-under 88 tests/'
whitelist_externals =
bash
[flake8]
filename = *.py
show-source = true
# [H106] Don't put vim configuration in source files.
# [H201] No 'except:' at least use 'except Exception:'
# [H904] Delay string interpolations at logging calls.
enable-extensions = H106,H201,H904
# [W503] line break before binary operator
ignore = W503
exclude=.venv,.git,.tox,build,dist,*lib/python*,*egg,tools,*.ini,*.po,*.pot
max-complexity = 24
application-import-names = spyglass
import-order-style = pep8