0a9b1e45fc
<long rant deleted> This change enables the hacking extensions ability in trove. That includes bumping the version of hacking that we use, and also adding the enable-extensions like in the [flake8] section. I've enabled two of the hacking extensions here. There are some limitations to the hacking rules that I've enabled so I'm also going to enter two bugs that others can fix (if they so desire). Change-Id: I6d8fc4bc03f948b84ad823e5248d78a4caa5c042 Related-Bug: 1642554 Related-Bug: 1642552
102 lines
2.7 KiB
INI
102 lines
2.7 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}
|
|
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}
|
|
|