
Python 3.8 is now our highest level supported python runtime. This updates the default tox target environments to swap out py37 for py38 to make sure local development testing is covering this version. This does not impact zuul jobs in any way, nor prevent local tests against py37. It just changes the default if none is explicitly provided. Change-Id: I444260c25615c23644c5c60e0934f6cbbde07b15 Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
138 lines
3.9 KiB
INI
138 lines
3.9 KiB
INI
[tox]
|
|
envlist = py38,pep8
|
|
minversion = 2.0
|
|
skipsdist = True
|
|
ignore_basepython_conflict = True
|
|
|
|
[testenv]
|
|
basepython = python3
|
|
usedevelop = True
|
|
install_command = pip install {opts} {packages}
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
PYTHONDONTWRITEBYTECODE = 1
|
|
PYTHONWARNINGS=default::DeprecationWarning
|
|
passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/test-requirements.txt
|
|
-r{toxinidir}/requirements.txt
|
|
# javascript engine
|
|
py_mini_racer
|
|
commands =
|
|
rm -f .testrepository/times.dbm
|
|
find . -type f -name "*.pyc" -delete
|
|
stestr run --slowest {posargs}
|
|
whitelist_externals =
|
|
rm
|
|
find
|
|
|
|
[testenv:unit-postgresql]
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
passenv = ZUUL_PROJECT
|
|
commands = ./run_tests.sh -N --db-type postgresql
|
|
|
|
[testenv:unit-mysql]
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
passenv = ZUUL_PROJECT
|
|
commands = ./run_tests.sh -N --db-type mysql
|
|
|
|
[testenv:pep8]
|
|
commands =
|
|
doc8 doc/source
|
|
flake8 {posargs} . {toxinidir}/tools/get_action_list.py {toxinidir}/tools/sync_db.py
|
|
|
|
[testenv:cover]
|
|
setenv =
|
|
{[testenv]setenv}
|
|
PYTHON=coverage run --source mistral --parallel-mode
|
|
commands =
|
|
stestr run {posargs}
|
|
coverage combine
|
|
coverage html -d cover
|
|
coverage xml -o cover/coverage.xml
|
|
|
|
[testenv:genconfig]
|
|
commands =
|
|
oslo-config-generator --config-file tools/config/config-generator.mistral.conf \
|
|
--output-file etc/mistral.conf.sample
|
|
|
|
[testenv:genpolicy]
|
|
commands =
|
|
oslopolicy-sample-generator --config-file tools/config/policy-generator.mistral.conf \
|
|
--output-file etc/policy.yaml.sample
|
|
|
|
#set PYTHONHASHSEED=0 to prevent wsmeext.sphinxext from randomly failing.
|
|
[testenv:venv]
|
|
setenv = PYTHONHASHSEED=0
|
|
commands = {posargs}
|
|
|
|
#set PYTHONHASHSEED=0 to prevent wsmeext.sphinxext from randomly failing.
|
|
[testenv:docs]
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/doc/requirements.txt
|
|
setenv = PYTHONHASHSEED=0
|
|
commands =
|
|
rm -rf doc/build
|
|
sphinx-build -E -W --keep-going -b html doc/source doc/build/html
|
|
|
|
[testenv:pdf-docs]
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/doc/requirements.txt
|
|
whitelist_externals =
|
|
make
|
|
commands =
|
|
sphinx-build -W -b latex doc/source doc/build/pdf
|
|
make -C doc/build/pdf
|
|
|
|
[testenv:releasenotes]
|
|
commands =
|
|
rm -rf releasenotes/build
|
|
sphinx-build -a -E -W -d releasenotes/build/doctrees --keep-going -b html releasenotes/source releasenotes/build/html
|
|
|
|
[testenv:api-ref]
|
|
# This environment is called from CI scripts to test and publish
|
|
# the API Ref to docs.openstack.org.
|
|
commands =
|
|
rm -rf api-ref/build
|
|
sphinx-build -W --keep-going -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html
|
|
whitelist_externals = rm
|
|
|
|
#Skip PEP257 violation.
|
|
[flake8]
|
|
ignore = D100,D101,D102,D103,D104,D105,D200,D203,D202,D204,D205,D208,D400,D401,E402,W503,E731,W504
|
|
show-source = true
|
|
builtins = _
|
|
# [H106] Don't put vim configuration in source files.
|
|
# [H203] Use assertIs(Not)None to check for None.
|
|
# [H904] Delay string interpolations at logging calls.
|
|
enable-extensions = H106,H203,H904
|
|
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,tools,scripts
|
|
|
|
[doc8]
|
|
extensions = .rst, .yaml, .mistral
|
|
# Maximal line length should be 80.
|
|
max-line-length = 80
|
|
|
|
[hacking]
|
|
import_exceptions = mistral._i18n
|
|
|
|
[flake8:local-plugins]
|
|
extension =
|
|
M001 = checks:CheckForLoggingIssues
|
|
M319 = checks:no_assert_equal_true_false
|
|
M320 = checks:no_assert_true_false_is_not
|
|
M327 = checks:check_python3_xrange
|
|
M328 = checks:check_python3_no_iteritems
|
|
M329 = checks:check_python3_no_iterkeys
|
|
M330 = checks:check_python3_no_itervalues
|
|
O323 = checks:check_oslo_namespace_imports
|
|
paths = ./mistral/hacking
|
|
|
|
[testenv:lower-constraints]
|
|
deps =
|
|
-c{toxinidir}/lower-constraints.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
-r{toxinidir}/requirements.txt
|