trove/tox.ini
jiansong 60d3617db2 Add DeprecationWarning in test environments
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
2016-12-07 05:59:35 +00:00

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}