
To simplify the launchpadlib dependency installation for the storyboard-migrate utility, use a separate tox testenv specifically for this purpose and put that as its only additional runtime requirement. Name the testenv "lpimport" with the expectation that in time we may also rename the storyboard-migrate utility similarly (so as to disambiguate it from the Alembic migrations we rely on for database schema upgrades). Change-Id: I8bd36bf69c235c8957ae4a161fd22cbe80028cf4
84 lines
2.2 KiB
INI
84 lines
2.2 KiB
INI
[tox]
|
|
minversion = 2.9.1
|
|
skipsdist = True
|
|
envlist = py35,py27,pep8
|
|
|
|
[testenv]
|
|
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]
|
|
basepython = python3
|
|
setenv =
|
|
{[testenv]setenv}
|
|
STORYBOARD_TEST_DB=sqlite:///{envtmpdir}
|
|
|
|
[testenv:pep8]
|
|
basepython = python3
|
|
commands = flake8
|
|
|
|
[testenv:venv]
|
|
basepython = python3
|
|
commands = {posargs}
|
|
|
|
[testenv:docs]
|
|
basepython = python3
|
|
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]
|
|
basepython = python3
|
|
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]
|
|
basepython = python3
|
|
# 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]
|
|
basepython = python3
|
|
# 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
|