trove/tox.ini
Trevor McCasland be5548cc3a Add translation_checks for i18n
This is the first patch to enable the translation checks.
These translation checks were taken from neutron_lib/hacking

Translation checks include:
 * validate_log_translation: Translate log messages
 * no_translate_debug_logs: Don't transate debug level logs
 * check_raised_localization_exception: Translate exception message

The pep8 tests will fail until all files meet the standards enforced
by these translaiton checks. So this patch is depenedent on the
following:

Depends-On: Ieb7e006de497c974756941608aea91f63e860dc5
Depends-On: I1d0649f240365b7f62b13af6edb1e8dbb5d06597
Depends-On: I48f95b3c090e9b6f91185c14113daae5bc621d0b
Depends-On: I5feafe8945960e34a8d0e038ad4617f39502f19b
Depends-On: If29f7b5df7f6958cec4b26f72babc47ca70f3706
Depends-On: Iddd738c2d9a7c9a57fcd445650d087123dbccfc4
Depends-On: Ifdf426684473fb05cae63877c334e6cf65aa5234
Depends-On: I94a341ba1fb4178e0c358c37ea31623d48938ec6
Depends-On: Ic8664bf105d601909c6efa5cf73db6c27adaf42e
Depends-On: I80f2ea6a20944cfbfdc79a8a71ad744f23aeaac1
Depends-On: If68b38ef5bdeba2fdc28f94d964ef8ce6d15c352
Depends-On: Ia54014fa8e44aacc7935bd73c1ee8d3139a19735
Depends-On: Iea58f4df337c79785dc7afe0e31bcfa7e231f374
Depends-On: I2b0313021fd9599bdaeb375358e8cf834581d493
Depends-On: I56972d16634654b8b71853d6aba10299cc9e2418
Depends-On: If632727fd29ec8d36c6890ebd156a46be70ba783
Depends-On: I1df8d4cba6a3a2ec23e8a1b2aa4ffc03c97b149e
Depends-On: I4070117b6335f4d85f35cc6473653c17d7c14bac
Depends-On: I83f2ccd623588af3fc5f94334b753cebcc3b6c18
Depends-On: I44ac13e9431018e18980e8ff7ff442c7fea68a13
Depends-On: I88284f61b5f37d78ad050a97c679f6bde23d832d
Depends-On: I6fb2bdcc4b83457e08b24599fb4a297ef6ec6c14

Change-Id: Ia2844799a2af8e020470d4c513ad55a51ec36ce1
2017-01-29 03:04:10 +00:00

107 lines
2.9 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-*
[hacking]
import_exceptions = trove.common.i18n
local-check-factory = trove.hacking.translation_checks.factory
[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}