trove/tox.ini
Victor Stinner 93f448b577 pep8: exclude .git/ subdirectory
When a git branch is called trove-xxx, "tox -e pep8" fails on
checking .git/logs/refs/heads/trove-xxx. It doesn't make sense to
validate Git branches using flake8.

Simply exclude .git from flake8.

Note: [testenv:pep8] of tox.ini looks for "trove-*" to validate
contrib/trove-guestagent.

Change-Id: I7c5582282a63da8cc1b3bbb6b76a267ef894a5d7
2016-04-20 15:36:43 +02:00

106 lines
3.8 KiB
INI

[tox]
envlist = py34,py27,pep8,checkbuild,checklinks
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
{envpython} run_tests.py
python setup.py testr --slowest
{envpython} generate_examples.py
whitelist_externals = bash
find
[tox:jenkins]
sitepackages = True
[testenv:pep8]
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:py34]
# Use a whitelist of tests known to pass on Python 3, until
# all unit tests will pass on Python 3.
commands =
python -bb -m testtools.run \
trove/tests/unittests/common/test_context.py \
trove/tests/unittests/common/test_exception.py \
trove/tests/unittests/common/test_notification.py \
trove/tests/unittests/common/test_remote.py \
trove/tests/unittests/common/test_stream_codecs.py \
trove/tests/unittests/common/test_template.py \
trove/tests/unittests/common/test_utils.py \
trove/tests/unittests/common/test_wsgi.py
[testenv:debug]
commands = oslo_debug_helper {posargs}
[testenv:cover]
# NOTE(amrith) The setting of the install_command in this location
# is only required because currently infra does not actually
# support constraints files for the cover job, and while
# the environment variable UPPER_CONSTRAINTS_FILE is set, there's
# no file there. It can be removed when infra changes this.
install_command = pip install -U {opts} {packages}
basepython = python2.7
commands =
coverage erase
python setup.py testr --coverage
coverage run -a run_tests.py
coverage html
coverage xml
coverage report
[testenv:venv]
# NOTE(amrith) The setting of the install_command in this location
# is only required because currently infra does not actually
# support constraints files for the venv job, and while
# the environment variable UPPER_CONSTRAINTS_FILE is set, there's
# no file there. It can be removed when infra changes this.
install_command = pip install -U {opts} {packages}
commands = {posargs}
[flake8]
show-source = True
# H301 is ignored on purpose.
# The rest of the ignores are TODOs.
ignore = F821,H237,H238,H301,H404,H405,H501
builtins = _
exclude=.venv,.tox,.git,dist,doc,openstack,*egg,tools,etc,build,*.po,*.pot
filename=*.py,trove-*
[testenv:checklinks]
commands = openstack-doc-test --check-links {posargs}
[testenv:checkbuild]
commands =
openstack-doc-test --check-niceness --check-syntax --check-deletions {posargs}
openstack-doc-test --check-build {posargs}
[testenv:publishdocs]
# NOTE(amrith) The setting of the install_command in this location
# is only required because currently infra does not actually
# support constraints files for the publishdocs job, and while
# the environment variable UPPER_CONSTRAINTS_FILE is set, there's
# no file there. It can be removed when infra changes this.
install_command = pip install -U {opts} {packages}
commands = openstack-doc-test --check-build --publish --force
[testenv:releasenotes]
# NOTE(amrith) The setting of the install_command in this location
# is only required because currently infra does not actually
# support constraints files for the release notes job, and while
# the environment variable UPPER_CONSTRAINTS_FILE is set, there's
# no file there. It can be removed when infra changes this.
install_command = pip install -U {opts} {packages}
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html