zuul/tox.ini
Tobias Henkel 1acaafe6e5
Add new tox-remote job
We need tests that really use ansible against a remote node. Our
current ansible tests are not sufficient for this goal as they run
against localhost. For being able to test restrictions in untrusted
jobs we need tests that run ansible via ssh against a remote node.

This adds a new tox-remote job and a new class of tests that run via
ssh against the interface ip of the test node.

Co-Authored-By: James E. Blair <jeblair@redhat.com>
Change-Id: Iacf670d992bb051560a0c46c313beaa6721489c4
2018-03-12 15:44:51 +01:00

62 lines
1.9 KiB
INI

[tox]
minversion = 1.6
skipsdist = True
envlist = pep8,py35
[testenv]
basepython = python3
setenv = VIRTUAL_ENV={envdir}
OS_TEST_TIMEOUT=150
passenv = ZUUL_TEST_ROOT OS_STDOUT_CAPTURE OS_STDERR_CAPTURE OS_LOG_CAPTURE OS_LOG_DEFAULTS
usedevelop = True
install_command = pip install {opts} {packages}
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands =
python setup.py test --slowest --testr-args='{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.
deps = bindep
commands = bindep test
[testenv:pep8]
# --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.
commands =
flake8 {posargs}
mypy --ignore-missing-imports zuul
[testenv:cover]
commands =
python setup.py test --coverage
[testenv:docs]
commands =
sphinx-build -W -d doc/build/doctrees -b html doc/source/ doc/build/html
[testenv:venv]
commands = {posargs}
[testenv:nodepool]
setenv =
OS_TEST_PATH = ./tests/nodepool
commands = python setup.py test --slowest --testr-args='--concurrency=1 {posargs}'
[testenv:remote]
setenv =
OS_TEST_PATH = ./tests/remote
passenv = ZUUL_TEST_ROOT OS_STDOUT_CAPTURE OS_STDERR_CAPTURE OS_LOG_CAPTURE OS_LOG_DEFAULTS ZUUL_REMOTE_IPV4 ZUUL_SSH_KEY NODEPOOL_ZK_HOST
commands = python setup.py test --slowest --testr-args='--concurrency=1 {posargs}'
[flake8]
# These are ignored intentionally in openstack-infra projects;
# please don't submit patches that solely correct them or enable them.
ignore = E124,E125,E129,E402,E741,H,W503
show-source = True
exclude = .venv,.tox,dist,doc,build,*.egg