zuul/tox.ini
Tobias Henkel 4402668367 Don't set OS_LOG_DEFAULTS if unset
We currently set the OS_LOG_DEFAULTS in tox to an empty string if it's
unset. This essentially overwrites the default levels defined in our
base test class to debug level for everything. This makes the tox logs
hard to read because especially kazoo and gear are very chatty in the
debug level. Further the excessive logging often exceeds the lengh
limitation of stestr when the test fails.

To mitigate this remove OS_LOG_DEFAULTS from setenv and leave it in
passenv so we take the zuul test case default when it's not defined
from outside.

Change-Id: I8f634f1ca5cc028018f181a07e204b55788759fa
2020-02-17 21:41:00 +00:00

106 lines
2.9 KiB
INI

[tox]
minversion = 3.2
skipsdist = True
envlist = pep8,py35{-docker}
ignore_basepython_conflict = True
# TODO(stephenfin): It would be good to set 'requires = tox-docker', but doing
# so borks the tools/pip.sh wrapper we're using here and probably isn't what
# we want in the gate :(
[testenv]
basepython = python3
install_command = bash tools/pip.sh {opts} {packages}
setenv =
VIRTUAL_ENV={envdir}
OS_TEST_TIMEOUT=360
OS_STDOUT_CAPTURE={env:OS_STDOUT_CAPTURE:1}
OS_STDERR_CAPTURE={env:OS_STDERR_CAPTURE:1}
OS_LOG_CAPTURE={env:OS_LOG_CAPTURE:1}
passenv =
ZUUL_TEST_ROOT
OS_STDOUT_CAPTURE
OS_STDERR_CAPTURE
OS_LOG_CAPTURE
OS_LOG_DEFAULTS
NODEPOOL_ZK_HOST
ZUUL_MYSQL_HOST
ZUUL_POSTGRES_HOST
usedevelop = True
whitelist_externals = bash
deps =
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
docker =
docker: zookeeper:3.4
commands =
bash -c 'stestr run --slowest --concurrency=`python -c "import multiprocessing; print(int(multiprocessing.cpu_count()/2))"` {posargs}'
[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.
usedevelop = False
install_command = pip install {opts} {packages}
deps = bindep
commands = bindep test
[testenv:pep8]
install_command = pip install {opts} {packages}
# --ignore-missing-imports tells mypy to not try to follow imported modules
# out of the current tree. As you might expect, we don't want to run static
# type checking on the world - just on ourselves.
deps =
flake8
mypy<0.650
openapi-spec-validator
commands =
flake8 {posargs}
mypy --ignore-missing-imports zuul
openapi-spec-validator web/public/openapi.yaml
[testenv:cover]
setenv =
{[testenv]setenv}
PYTHON=coverage run --source zuul --parallel-mode
commands =
stestr run {posargs}
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
[testenv:docs]
install_command = pip install {opts} {packages}
deps =
-r{toxinidir}/doc/requirements.txt
-r{toxinidir}/test-requirements.txt
commands =
sphinx-build -E -W -d doc/build/doctrees -b html doc/source/ doc/build/html
[testenv:venv]
commands = {posargs}
[testenv:nodepool]
commands =
stestr run --concurrency=1 --test-path ./tests/nodepool {posargs}
[testenv:remote]
passenv =
ZUUL_TEST_ROOT
OS_STDOUT_CAPTURE
OS_STDERR_CAPTURE
OS_LOG_CAPTURE
OS_LOG_DEFAULTS
NODEPOOL_ZK_HOST
ZUUL_REMOTE_IPV4
ZUUL_SSH_KEY
commands =
stestr run --test-path ./tests/remote {posargs}
[flake8]
# These are ignored intentionally in zuul projects;
# please don't submit patches that solely correct them or enable them.
ignore = E124,E125,E129,E252,E402,E741,H,W503,W504
show-source = True
exclude = .venv,.tox,dist,doc,build,*.egg,node_modules