4402668367
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
106 lines
2.9 KiB
INI
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
|