summaryrefslogtreecommitdiff
path: root/tox.ini
blob: 90cc8d766cf687918bf09ac2000bb1106d56404d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
[tox]
envlist = py26,py27,py33,pep8
minversion = 1.6
skipsdist = True

[testenv]
# Note the hash seed is set to 0 until neutron can be tested with a
# random hash seed successfully.
setenv = VIRTUAL_ENV={envdir}
         PYTHONHASHSEED=0
usedevelop = True
install_command = pip install -U {opts} {packages}
deps = -r{toxinidir}/requirements.txt
       -r{toxinidir}/test-requirements.txt
commands =
  python -m neutron.openstack.common.lockutils python setup.py testr --slowest --testr-args='{posargs}'

[testenv:hashtest]
# This is the same as default environment, but with a random PYTHONHASHSEED.
# You can also specify a specific hashseed (for test repeatability) as follows:
#   tox --hashseed 1235130571 -e hashtest
setenv = VIRTUAL_ENV={envdir}

[testenv:functional]
setenv = OS_TEST_PATH=./neutron/tests/functional
commands =
  python -m neutron.openstack.common.lockutils python setup.py testr --slowest --testr-args='{posargs}'

[testenv:dsvm-functional]
setenv = OS_TEST_PATH=./neutron/tests/functional
         OS_SUDO_TESTING=1
         OS_ROOTWRAP_CMD=sudo /usr/local/bin/neutron-rootwrap /etc/neutron/rootwrap.conf
         OS_FAIL_ON_MISSING_DEPS=1
sitepackages=True
commands =
  python -m neutron.openstack.common.lockutils python setup.py testr --slowest --testr-args='{posargs}'

[tox:jenkins]
sitepackages = True
downloadcache = ~/cache/pip

[testenv:pep8]
commands =
  flake8
  neutron-db-manage check_migration
  bash -c "find neutron -type f -regex '.*\.pot?' -print0|xargs -0 -n 1 msgfmt --check-format -o /dev/null"
whitelist_externals = bash

[testenv:i18n]
commands = python ./tools/check_i18n.py ./neutron ./tools/i18n_cfg.py

[testenv:cover]
commands =
  python -m neutron.openstack.common.lockutils python setup.py testr --coverage --testr-args='{posargs}'

[testenv:venv]
commands = {posargs}

[testenv:docs]
commands = python setup.py build_sphinx

[flake8]
# E125 continuation line does not distinguish itself from next logical line
# E126 continuation line over-indented for hanging indent
# E128 continuation line under-indented for visual indent
# E129 visually indented line with same indent as next logical line
# E251 unexpected spaces around keyword / parameter equals
# E265 block comment should start with ‘# ‘
# E713 test for membership should be ‘not in’
# F402 import module shadowed by loop variable
# F811 redefinition of unused variable
# F812 list comprehension redefines name from line
# H104 file contains nothing but comments
# H237 module is removed in Python 3
# H305 imports not grouped correctly
# H307 like imports should be grouped together
# H401 docstring should not start with a space
# H402 one line docstring needs punctuation
# H405 multi line docstring summary not separated with an empty line
# H904 Wrap long lines in parentheses instead of a backslash
# TODO(marun) H404 multi line docstring should start with a summary
ignore = E125,E126,E128,E129,E251,E265,E713,F402,F811,F812,H104,H237,H305,H307,H401,H402,H404,H405,H904
show-source = true
builtins = _
exclude = .venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build,tools,.ropeproject,rally-scenarios

[hacking]
import_exceptions = neutron.openstack.common.gettextutils
local-check-factory = neutron.hacking.checks.factory