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 146 147 148 149
|
[tox]
minversion = 4.0.0
ignore_basepython_conflict = true
envlist = py38,py39,py310,pep8
[testenv]
extras = {env:RALLY_EXTRAS:}
setenv = VIRTUAL_ENV={envdir}
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_ALL=C
PYTHONHASHSEED=0
TOX_ENV_NAME={envname}
allowlist_externals = find
rm
make
deps =
-c ./upper-constraints.txt
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
usedevelop = True
commands =
find . -type f -name "*.pyc" -delete
python3 {toxinidir}/tests/ci/pytest_launcher.py tests/unit --posargs={posargs}
distribute = false
basepython = python3
passenv =
http_proxy
HTTP_PROXY
https_proxy
HTTPS_PROXY
no_proxy
NO_PROXY
REQUESTS_CA_BUNDLE
HOME
REPORTS_ROOT
PYTEST_REPORT
[testenv:pep8]
deps = -r{toxinidir}/test-requirements.txt
skip_install = true
commands = flake8
distribute = false
[testenv:venv]
basepython = python3
commands = {posargs}
[testenv:debug]
commands = oslo_debug_helper -t tests {posargs}
[testenv:functional]
basepython = python3
sitepackages = True
commands =
find . -type f -name "*.pyc" -delete
{toxinidir}/tests/ci/rally_functional_job.sh {posargs}
allowlist_externals = find
rm
make
{toxinidir}/tests/ci/rally_functional_job.sh
[testenv:cover]
commands = {toxinidir}/tests/ci/cover.sh {posargs}
allowlist_externals = {toxinidir}/tests/ci/cover.sh
[testenv:genconfig]
basepython = python3
commands =
oslo-config-generator --config-file etc/rally/rally-config-generator.conf
[testenv:requirements]
deps =
# do not use upper-constraints file
requests[security]
-r{toxinidir}/requirements.txt
commands = python {toxinidir}/tests/ci/sync_requirements.py {posargs}
[flake8]
# H105 Don't use author tags
# E731 do not assign a lambda expression, use a def
# W503 line break before binary operator
ignore = 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 = {toxinidir}/tests/ci/rally_self_job.sh {toxinidir}/rally-jobs/self-rally.yaml
[pytest]
filterwarnings =
error
ignore:the imp module is deprecated in favour of importlib.*:DeprecationWarning
# 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:
# raised by designateclient?!
ignore:dns.hash module will be removed in future versions. Please use hashlib instead.:DeprecationWarning
# should be fixed at rally framework (raised by functional job)
ignore:.*EngineFacade is deprecated; please use oslo_db.sqlalchemy.enginefacade*:
ignore:.*unclosed file <_io.TextIOWrapper name='/tmp/rally.log'::
ignore:.*mysql_enable_ndb.*::
ignore:.*distutils Version classes are deprecated.*::
# pytest-cov
ignore:The --rsyncdir command line argument and rsyncdirs config variable are deprecated.:DeprecationWarning:
ignore:::.*requests.*
# python 3.11
ignore:'cgi' is deprecated and slated for removal in Python 3.13: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:
# python 3.8
ignore:Deprecated call to `pkg_resources.declare_namespace*:DeprecationWarning:
|