[tox] minversion = 2.0 skipsdist = True ignore_basepython_conflict = true envlist = py36,py37,py38,pep8,samples [testenv] extras = {env:RALLY_EXTRAS:} setenv = VIRTUAL_ENV={envdir} HOME={homedir} LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=C PYTHONHASHSEED=0 TOX_ENV_NAME={envname} whitelist_externals = find rm make deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt install_command = pip install -c ./upper-constraints.txt -U {opts} {packages} usedevelop = True commands = find . -type f -name "*.pyc" -delete python {toxinidir}/tests/ci/pytest_launcher.py tests/unit --posargs={posargs} distribute = false basepython = python3.6 passenv = PYTEST_REPORT http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY [testenv:pep8] commands = flake8 distribute = false [testenv:py36] basepython = python3.6 [testenv:py37] basepython = python3.7 [testenv:py38] basepython = python3.8 [testenv:venv] commands = {posargs} [testenv:functional] commands = find . -type f -name "*.pyc" -delete python {toxinidir}/tests/ci/pytest_launcher.py tests/functional --posargs={posargs} [testenv:functional-py38] basepython = python3.8 commands = find . -type f -name "*.pyc" -delete python {toxinidir}/tests/ci/pytest_launcher.py tests/functional --posargs={posargs} [testenv:cover] commands = {toxinidir}/tests/ci/cover.sh {posargs} [testenv:docs] deps = -c{toxinidir}/upper-constraints.txt -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt -r{toxinidir}/doc/requirements.txt commands = rm -rf doc/build sphinx-build -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 [hacking] import_exceptions = rally.common.i18n local-check-factory = tests.hacking.checks.factory [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-py38] basepython = python3.8 commands = find . -type f -name "*.pyc" -delete mkdir -p .test_results python3 {toxinidir}/tests/ci/rally_self_job.py --task {toxinidir}/rally-jobs/self-rally.yaml --plugins-path {toxinidir}/rally-jobs/plugins [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 ignore:.*EngineFacade is deprecated; please use oslo_db.sqlalchemy.enginefacade*: # instead of ignoring all modules, let's list only libraries that are failing ignore:invalid escape sequence:DeprecationWarning:.*netaddr.* ignore:invalid escape sequence:DeprecationWarning:.*prettytable ignore:invalid escape sequence:DeprecationWarning:.*subunit.* ignore:invalid escape sequence:DeprecationWarning:.*testtools.* # python 3.7 ignore:Using or importing the ABCs:DeprecationWarning:unittest2.* # python 3.8 ignore:::.*netaddr.strategy.*