60d3617db2
Many deprecations are triggered early (on imports, for example) before the warnings are enabled by the WarningsFixture in the base test class. To make sure all DeprecationWarning messages are emitted we enable them via the PYTHONWARNINGS environment variable. This copy from 1be35ff039d67c50866f2556ef847b048cbf3578 Change-Id: Ibe67b6b57494d731b49e76c590ac2681ae786c33
103 lines
2.8 KiB
INI
103 lines
2.8 KiB
INI
[tox]
|
|
envlist = py{27,34,35},pep8,apiexamples,cover,api-ref,releasenotes,bandit,fakemodetests,pylint
|
|
minversion = 1.6
|
|
skipsdist = True
|
|
|
|
[testenv]
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
PYTHONWARNINGS=default::DeprecationWarning
|
|
usedevelop = True
|
|
install_command = pip install \
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} \
|
|
-U {opts} {packages}
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands = find ./trove -type f -name "*.pyc" -delete
|
|
rm -f .testrepository/times.dbm
|
|
rm -f trove_test.sqlite
|
|
whitelist_externals = find
|
|
rm
|
|
bash
|
|
|
|
[tox:jenkins]
|
|
sitepackages = True
|
|
|
|
[testenv:pep8]
|
|
basepython = python2.7
|
|
commands =
|
|
flake8
|
|
# Check that .po and .pot files are valid:
|
|
bash -c "find trove -type f -regex '.*\.pot?' -print0 | \
|
|
xargs -0 -n 1 msgfmt --check-format -o /dev/null"
|
|
|
|
[testenv:py27]
|
|
commands = {[testenv]commands}
|
|
ostestr --slowest --serial
|
|
|
|
[py3base]
|
|
commands = ostestr --slowest --blacklist_file=blacklist-py3.txt --serial
|
|
|
|
[testenv:py34]
|
|
commands = {[testenv]commands}
|
|
{[py3base]commands}
|
|
|
|
[testenv:py35]
|
|
commands = {[testenv]commands}
|
|
{[py3base]commands}
|
|
|
|
[testenv:apiexamples]
|
|
commands = {envpython} generate_examples.py
|
|
|
|
[testenv:fakemodetests]
|
|
commands = {envpython} run_tests.py
|
|
|
|
[testenv:debug]
|
|
commands = oslo_debug_helper {posargs}
|
|
|
|
[testenv:cover]
|
|
basepython = python2.7
|
|
commands =
|
|
{[testenv]commands}
|
|
coverage erase
|
|
python setup.py testr --coverage --testr-args="--concurrency=1"
|
|
coverage run -a run_tests.py
|
|
coverage html
|
|
coverage xml
|
|
coverage report
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[flake8]
|
|
show-source = True
|
|
# H301 is ignored on purpose.
|
|
# The rest of the ignores are TODOs.
|
|
ignore = F821,H301,H404,H405,H501
|
|
enable-extensions = H203,H106
|
|
builtins = _
|
|
exclude=.venv,.tox,.git,dist,doc,*egg,tools,etc,build,*.po,*.pot,integration
|
|
filename=*.py,trove-*
|
|
|
|
[testenv:api-ref]
|
|
# This environment is called from CI scripts to test and publish
|
|
# the API Ref to developer.openstack.org.
|
|
commands =
|
|
rm -rf api-ref/build
|
|
sphinx-build -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html
|
|
|
|
[testenv:releasenotes]
|
|
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
|
|
|
[testenv:bandit]
|
|
commands = bandit -r trove -n5 -x tests
|
|
|
|
[testenv:install-guide]
|
|
commands = sphinx-build -a -E -W -d install-guide/build/doctrees -b html install-guide/source install-guide/build/html
|
|
|
|
[testenv:pylint]
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands = {[testenv]commands}
|
|
python tools/trove-pylint.py {posargs:check}
|
|
|