summaryrefslogtreecommitdiff
path: root/tox.ini
blob: 91c2e8f83e56a2643ebee8021756d8962caa35ba (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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
[tox]
envlist = py35,py34,py27,pep8,pylint
minversion = 2.0
skipsdist = True

[testenv]
setenv = VIRTUAL_ENV={envdir}
         OS_LOG_CAPTURE={env:OS_LOG_CAPTURE:true}
         OS_STDOUT_CAPTURE={env:OS_STDOUT_CAPTURE:true}
         OS_STDERR_CAPTURE={env:OS_STDERR_CAPTURE:true}
         PYTHONWARNINGS=default::DeprecationWarning
usedevelop = True
install_command =pip install {opts} {packages}
deps = -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
       -r{toxinidir}/requirements.txt
       -r{toxinidir}/test-requirements.txt
whitelist_externals =
  find
  sh
commands =
  find . -type f -name "*.py[c|o]" -delete
  find . -type d -name "__pycache__" -delete
  stestr run {posargs}
# there is also secret magic in stestr which lets you run in a fail only
# mode. To do this define the TRACE_FAILONLY environmental variable.

[testenv:functional]
setenv = OS_TEST_PATH=./neutron_dynamic_routing/tests/functional
commands =
  stestr run {posargs}
  stestr slowest

[testenv:api]
sitepackages=True
setenv =
 OS_TEST_PATH=./neutron_dynamic_routing/tests/tempest/api/
 OS_TESTR_CONCURRENCY=1
 TEMPEST_CONFIG_DIR={env:TEMPEST_CONFIG_DIR:/opt/stack/tempest/etc}
commands =
  stestr run {posargs}
  stestr slowest

[testenv:dsvm-functional]
setenv =
  OS_TEST_PATH=./neutron_dynamic_routing/tests/functional
  OS_SUDO_TESTING=1
  OS_ROOTWRAP_CMD=sudo {envdir}/bin/neutron-rootwrap {envdir}/etc/neutron/rootwrap.conf
  OS_ROOTWRAP_DAEMON_CMD=sudo {envdir}/bin/neutron-rootwrap-daemon {envdir}/etc/neutron/rootwrap.conf
  OS_FAIL_ON_MISSING_DEPS=1
whitelist_externals =
  sh
  cp
  sudo
commands =
  stestr run {posargs}

[testenv:releasenotes]
basepython = python3
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html

[testenv:pep8]
basepython = python3
commands =
  flake8
  neutron-db-manage --subproject neutron-dynamic-routing --database-connection sqlite:// check_migration
  {[testenv:genconfig]commands}

[testenv:cover]
basepython = python3
setenv =
    {[testenv]setenv}
    PYTHON=coverage run --source neutron_dynamic_routing --parallel-mode
commands =
  stestr run --no-subunit-trace {posargs}
  coverage combine
  coverage html -d cover
  coverage xml -o cover/coverage.xml

[testenv:venv]
basepython = python3
commands = {posargs}

[testenv:docs]
basepython = python3
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
# E265 block comment should start with ‘# ‘
# H405 multi line docstring summary not separated with an empty line
# TODO(marun) H404 multi line docstring should start with a summary
# N530 direct neutron imports not allowed
# TODO(ihrachys) -- reenable N537 when new neutron-lib release is available
# N537 Log messages should not be translated
# H106 Don’t put vim configuration in source files
# H203 Use assertIs(Not)None to check for None
ignore = E125,E126,E128,E129,E265,H404,H405,N530,N537
enable-extensions=H106,H203
show-source = true
exclude = .venv,.git,.tox,dist,doc,*lib/python*,*egg,build,tools,.ropeproject,rally-scenarios
import-order-style = pep8

[testenv:pylint]
deps =
  {[testenv]deps}
  pylint
commands =
  pylint --rcfile=.pylintrc --output-format=colorized {posargs:neutron_dynamic_routing}

[hacking]
import_exceptions = neutron_dynamic_routing._i18n
local-check-factory = neutron_lib.hacking.checks.factory

[testenv:genconfig]
commands = {toxinidir}/tools/generate_config_file_samples.sh

[testenv:lower-constraints]
basepython = python3
deps =
  -c{toxinidir}/lower-constraints.txt
  -r{toxinidir}/test-requirements.txt
  -r{toxinidir}/requirements.txt

[testenv:dev]
# run locally (not in the gate) using editable mode
# https://pip.pypa.io/en/stable/reference/pip_install/#editable-installs
commands =
    pip install -q -e "git+https://git.openstack.org/openstack/neutron#egg=neutron"

[testenv:py3-dev]
basepython = python3
commands =
    {[testenv:dev]commands}
    {[testenv]commands}

[testenv:pep8-dev]
basepython = python3
deps =
    {[testenv]deps}
commands =
    {[testenv:dev]commands}
    {[testenv:pep8]commands}