
Python 2.7 is deprecated now, and some dependencies have dropped their support for it. We should also just drop support for it rather than pinning the dependency versions. This commit also switches to a generic Python 3 tox environment, adds additional test jobs for more Python 3 versions, and cleans up some Python 2 compatibility cruft. Change-Id: I3e7cc1713dec1bada4a85f75362c4fa4f89ceae6
78 lines
2.1 KiB
INI
78 lines
2.1 KiB
INI
[tox]
|
|
minversion = 2.9.1
|
|
skipsdist = True
|
|
envlist = py3,pep8
|
|
|
|
[testenv]
|
|
basepython = python3
|
|
usedevelop = True
|
|
install_command = pip install -U {opts} {packages}
|
|
passenv = OS_* STORYBOARD_*
|
|
setenv =
|
|
VIRTUAL_ENV={envdir}
|
|
OS_LOG_CAPTURE={env:OS_LOG_CAPTURE:true}
|
|
OS_STDOUT_CAPTURE={env:OS_STDOUT_CAPTURE:true}
|
|
OS_STDERR_CAPTURE={env:OS_STDERR_CAPTURE:true}
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands = stestr run {posargs}
|
|
stestr slowest
|
|
whitelist_externals = bash
|
|
|
|
[testenv:sqlite]
|
|
setenv =
|
|
{[testenv]setenv}
|
|
STORYBOARD_TEST_DB=sqlite:///{envtmpdir}
|
|
|
|
[testenv:pep8]
|
|
commands = flake8
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[testenv:docs]
|
|
deps = -r{toxinidir}/doc/requirements.txt
|
|
commands =
|
|
rm -rf doc/html doc/build
|
|
rm -rf doc/source/apidoc doc/source/api
|
|
sphinx-build -W -b html doc/source doc/build/html
|
|
whitelist_externals = rm
|
|
|
|
[testenv:cover]
|
|
setenv =
|
|
{[testenv]setenv}
|
|
PYTHON=coverage run --source storyboard --parallel-mode
|
|
commands =
|
|
stestr run {posargs}
|
|
coverage combine
|
|
coverage html -d cover
|
|
coverage xml -o cover/coverage.xml
|
|
|
|
[flake8]
|
|
# E125 and E128 are ignored on purpose, they are invalid pep8
|
|
# The following rules should either be addressed or determined to be
|
|
# skippable long term.
|
|
# E265 is ignored to make switch to newer hacking easier
|
|
# H405 is ignored to make switch to newer hacking easier
|
|
ignore = E125,E128,E265,H405
|
|
builtins = _
|
|
show-source = True
|
|
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build
|
|
|
|
[testenv:bindep]
|
|
# Do not install any requirements. We want this to be fast and work even if
|
|
# system dependencies are missing, since it's used to tell you what system
|
|
# dependencies are missing! This also means that bindep must be installed
|
|
# separately, outside of the requirements files.
|
|
deps = bindep
|
|
commands = bindep test
|
|
|
|
[testenv:lpimport]
|
|
# The Launchpad bug import tool uses launchpadlib, which is not a typical
|
|
# runtime dependency of anything else in StoryBoard
|
|
deps = launchpadlib
|
|
commands = storyboard-migrate {posargs}
|
|
|
|
[hacking]
|
|
import_exceptions = storyboard._i18n
|