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
|
[tox]
minversion = 1.6
envlist = py36,pep8,lint,docs,docs-linkcheck
skipsdist = True
[testenv]
pip_version = pip==20.2.4
usedevelop = True
install_command = pip install -U {opts} {packages}
setenv =
VIRTUAL_ENV={envdir}
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands = py.test -q --basetemp={envtmpdir} {posargs}
[testenv:pep8]
basepython = python3
commands = flake8 {toxinidir}
[testenv:lint]
basepython = python3
commands = pylint --rcfile pylint.rc nfvbench test
[testenv:venv]
basepython = python3
commands = {posargs}
[testenv:cover]
basepython = python3
commands = python setup.py testr --coverage --testr-args='{posargs}'
[flake8]
# H803 skipped on purpose per list discussion.
# E123, E125 skipped as they are invalid PEP-8.
# E117,E126,E127,E128,E211,E226,E231,E252,E305,E731,W503,W504 skipped as they
# are introduced by newer versions of flake8 (update from 2.2.4 to 3.9.2)
# H216,H301,H401 skipped as they are introduced by newer version of hacking
# (update from 0.10.3 to 4.1.0)
max-line-length = 100
show-source = True
#E117: over-indented (comment)
#E126: continuation line over-indented for hanging indent
#E127: continuation line over-indented for visual indent
#E128: continuation line under-indented for visual indent
#E211: whitespace before '('
#E226: missing whitespace around arithmetic operator
#E231: missing whitespace after ','
#E252: missing whitespace around parameter equals
#E302: expected 2 blank linee
#E303: too many blank lines (2)
#E305: expected 2 blank lines after class or function definition, found 1
#E731: do not assign a lambda expression, use a def
#W503: line break before binary operator
#W504: line break after binary operator
#H101: Use TODO(NAME)
#H216: The unittest.mock module should be used rather than the third party mock package unless actually needed. If so, disable the H216 check in hacking config and ensure mock is declared in the project's requirements.
#H233: Python 3.x incompatible use of print operator
#H236: Python 3.x incompatible __metaclass__, use six.add_metaclass()
#H301: one import per line
#H302: import only modules.
#H304: No relative imports
#H306: imports not in alphabetical order
#H401: docstring should not start with a space
#H404: multi line docstring should start without a leading new line
#H405: multi line docstring summary not separated with an empty line
#H904: Wrap long lines in parentheses instead of a backslash
ignore = E117,E123,E125,E126,E127,E128,E211,E226,E231,E252,E302,E303,E305,E731,W503,W504,H101,H104,H216,H233,H236,H301,H302,H304,H306,H401,H404,H405,H803,H904,D102,D100,D107
builtins = _
exclude=venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build,dib-venv
[testenv:docs]
basepython = python3
deps = -rdocs/requirements.txt
commands =
sphinx-build -b html -n -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/html
echo "Generated docs available in {toxinidir}/docs/_build/html"
whitelist_externals = echo
[testenv:docs-linkcheck]
basepython = python3
deps = -rdocs/requirements.txt
passenv = http_proxy https_proxy no_proxy
commands = sphinx-build -b linkcheck -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/linkcheck
|