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 150 151 152 153 154
|
[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}
PYTEST_REPORT = {env:PYTEST_REPORT:{toxinidir}/.test_results/{envname}_report.html}
TESTS_DIR = "tests/unit"
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 =
pytest -vv \ # base command
--html={env:PYTEST_REPORT} \ # html report
--self-contained-html \ # embedded css
--durations=10 \ # get a list of the slowest 10 tests
-n auto \ # launch tests in parallel
{posargs:{env:TESTS_DIR}}
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]
skip_install = true
commands = flake8
[testenv:mypy]
skip_install = true
deps = {[testenv]deps}
-r{toxinidir}/types-requirements.txt
commands = mypy {posargs:"rally"}
[testenv:samples]
setenv =
TESTS_DIR = "tests/samples"
[testenv:venv]
commands = {posargs}
[testenv:functional]
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
stestr
setenv =
TESTS_DIR = "tests/functional"
[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
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.Option.* class will be.*: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:
# 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:
ignore:eventletutils module is deprecated and will be removed\.:DeprecationWarning:
|