-
Notifications
You must be signed in to change notification settings - Fork 276
/
tox.ini
142 lines (127 loc) · 4.83 KB
/
tox.ini
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
[tox]
minversion = 4.0.0
ignore_basepython_conflict = true
envlist = py39,py312,pep8,samples
[testenv]
extras = {env:RALLY_EXTRAS:}
setenv = VIRTUAL_ENV={envdir}
LANG=en_US.UTF-8
LC_CTYPE="en.US.UTF-8"
LANGUAGE=en_US:en
LC_ALL=C
PYTHONHASHSEED=0
TOX_ENV_NAME={envname}
allowlist_externals = find
rm
make
mkdir
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
-c{toxinidir}/upper-constraints.txt
usedevelop = True
pre_commands = find . -type f -name "*.pyc" -delete
commands = python {toxinidir}/tests/ci/pytest_launcher.py tests/unit --posargs={posargs}
distribute = false
basepython = python3
passenv =
PYTEST_REPORT
http_proxy
HTTP_PROXY
https_proxy
HTTPS_PROXY
no_proxy
NO_PROXY
HOME
[testenv:zuul-ansible-lint]
setenv = VIRTUAL_ENV={envdir}
distribute = false
deps = ansible-lint
commands = ansible-lint --strict --config-file tests/ci/playbooks/.ansible-lint tests/ci/playbooks
[testenv:pep8]
commands = flake8
distribute = false
[testenv:samples]
commands = python {toxinidir}/tests/ci/pytest_launcher.py tests/samples --posargs={posargs}
[testenv:venv]
commands = {posargs}
[testenv:functional]
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
stestr
commands = python {toxinidir}/tests/ci/pytest_launcher.py tests/functional --posargs={posargs}
[testenv:cover]
commands = {toxinidir}/tests/ci/cover.sh {posargs}
allowlist_externals = {toxinidir}/tests/ci/cover.sh
[testenv:docs]
basepython = python3
deps =
-c{toxinidir}/upper-constraints.txt
-r{toxinidir}/doc/requirements.txt
commands =
rm -rf doc/build
sphinx-build -v -b html doc/source doc/build/html
[testenv:genconfig]
commands =
oslo-config-generator --config-file etc/rally/rally-config-generator.conf
[testenv:requirements]
deps = requests[security]
commands = python {toxinidir}/tests/ci/sync_requirements.py {posargs}
[flake8]
# E731 do not assign a lambda expression, use a def
# W503 line break before binary operator
ignore = H703,H105,E731,W503
show-source = true
exclude=.venv,.git,.tox,dist,*lib/python*,*egg,tools,build,setup.py
[flake8:local-plugins]
extension =
N301 = checks:check_assert_methods_from_mock
N310 = checks:check_import_of_logging
N311 = checks:check_import_of_config
N312 = checks:no_use_conf_debug_check
N313 = checks:check_log_warn
N320 = checks:assert_true_instance
N321 = checks:assert_equal_type
N322 = checks:assert_equal_none
N323 = checks:assert_true_or_false_with_in
N324 = checks:assert_equal_in
N326 = checks:assert_equal_true_or_false
N340 = checks:check_no_direct_rally_objects_import
N341 = checks:check_no_oslo_deprecated_import
N342 = checks:check_opts_import_path
N350 = checks:check_quotes
N351 = checks:check_no_constructor_data_struct
N352 = checks:check_dict_formatting_in_string
N354 = checks:check_raises
N355 = checks:check_old_type_class
N356 = checks:check_datetime_alias
N360 = checks:check_db_imports_in_cli
N361 = checks:check_objects_imports_in_cli
paths = ./tests/hacking
[testenv:bindep]
# Do not install any requirements. We want this to be fast and work even if
# system dependencies are missing, since it's used to tell you what system
# dependencies are missing! This also means that bindep must be installed
# separately, outside of the requirements files.
deps = bindep
commands = bindep
[testenv:self]
commands = \
find . -type f -name "*.pyc" -delete
mkdir -p {toxinidir}/.test_results
python3 {toxinidir}/tests/ci/rally_self_job.py --task {toxinidir}/rally-jobs/self-rally.yaml --plugins-path {toxinidir}/rally-jobs/plugins
[pytest]
filterwarnings =
error
# we do not use anything inner from OptionParser, so we do not care about it's parent
ignore:The frontend.OptionParser class will be replaced by a subclass of argparse.ArgumentParser in Docutils 0.21 or later.:DeprecationWarning:
# we do not use Option directly, it is initialized by OptionParser by itself.
# as soon as docutils team get rid of frontend.Option, they will also fix OptionParser
ignore: The frontend.Option class will be removed in Docutils 0.21 or later.:DeprecationWarning:
# python 3.10
ignore:The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives:DeprecationWarning:
ignore:pkg_resources is deprecated as an API:DeprecationWarning:
# pytest-cov & pytest-xdist
ignore:The --rsyncdir command line argument and rsyncdirs config variable are deprecated.:DeprecationWarning:
# python3.11 ?
ignore:datetime\.datetime\.utcnow\(\) is deprecated.*:DeprecationWarning:
ignore:datetime\.datetime\.utcfromtimestamp\(\) is deprecated.*:DeprecationWarning: