Merge "Switch to stestr"
commit
883223fdb8
|
@ -0,0 +1,7 @@
|
|||
[run]
|
||||
branch = True
|
||||
source = zuul
|
||||
omit = tests/*
|
||||
|
||||
[report]
|
||||
ignore_errors = True
|
|
@ -0,0 +1,3 @@
|
|||
[DEFAULT]
|
||||
test_path=tests/unit
|
||||
top_dir=./
|
|
@ -1,4 +0,0 @@
|
|||
[DEFAULT]
|
||||
test_command=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} OS_LOG_CAPTURE=${OS_LOG_CAPTURE:-1} OS_LOG_DEFAULTS=${OS_LOG_DEFAULTS:-""} ${PYTHON:-python} -m subunit.run discover -t ./ ${OS_TEST_PATH:-./tests/unit} $LISTOPT $IDOPTION
|
||||
test_id_option=--load-list $IDFILE
|
||||
test_list_option=--list
|
27
TESTING.rst
27
TESTING.rst
|
@ -50,6 +50,7 @@ Run The Tests
|
|||
*Navigate to the project's root directory and execute*::
|
||||
|
||||
tox
|
||||
|
||||
Note: completing this command may take a long time (depends on system resources)
|
||||
also, you might not see any output until tox is complete.
|
||||
|
||||
|
@ -68,9 +69,9 @@ Tox will run your entire test suite in the environments specified in the project
|
|||
To run the test suite in just one of the environments in envlist execute::
|
||||
|
||||
tox -e <env>
|
||||
so for example, *run the test suite in py26*::
|
||||
so for example, *run the test suite in py35*::
|
||||
|
||||
tox -e py26
|
||||
tox -e py35
|
||||
|
||||
Run One Test
|
||||
------------
|
||||
|
@ -79,20 +80,20 @@ To run individual tests with tox::
|
|||
|
||||
tox -e <env> -- path.to.module.Class.test
|
||||
|
||||
For example, to *run the basic Zuul test*::
|
||||
For example, to *run a single Zuul test*::
|
||||
|
||||
tox -e py27 -- tests.unit.test_scheduler.TestScheduler.test_jobs_executed
|
||||
tox -e py35 -- tests.unit.test_scheduler.TestScheduler.test_jobs_executed
|
||||
|
||||
To *run one test in the foreground* (after previously having run tox
|
||||
to set up the virtualenv)::
|
||||
|
||||
.tox/py27/bin/python -m testtools.run tests.unit.test_scheduler.TestScheduler.test_jobs_executed
|
||||
.tox/py35/bin/stestr run -t tests.unit.test_scheduler.TestScheduler.test_jobs_executed
|
||||
|
||||
List Failing Tests
|
||||
------------------
|
||||
|
||||
.tox/py27/bin/activate
|
||||
testr failing --list
|
||||
.tox/py35/bin/activate
|
||||
stestr failing --list
|
||||
|
||||
Hanging Tests
|
||||
-------------
|
||||
|
@ -100,8 +101,8 @@ Hanging Tests
|
|||
The following will run each test in turn and print the name of the
|
||||
test as it is run::
|
||||
|
||||
. .tox/py27/bin/activate
|
||||
testr run --subunit | subunit2pyunit
|
||||
. .tox/py35/bin/activate
|
||||
stestr run
|
||||
|
||||
You can compare the output of that to::
|
||||
|
||||
|
@ -110,10 +111,4 @@ You can compare the output of that to::
|
|||
Need More Info?
|
||||
---------------
|
||||
|
||||
More information about testr: https://wiki.openstack.org/wiki/Testr
|
||||
|
||||
More information about nose: https://nose.readthedocs.org/en/latest/
|
||||
|
||||
|
||||
More information about testing OpenStack code can be found here:
|
||||
https://wiki.openstack.org/wiki/Testing
|
||||
More information about stestr: http://stestr.readthedocs.io/en/latest/
|
||||
|
|
|
@ -4,8 +4,7 @@ coverage>=3.6
|
|||
sphinx>=1.5.1,<1.6
|
||||
sphinxcontrib-blockdiag>=1.1.0
|
||||
fixtures>=0.3.14
|
||||
python-subunit
|
||||
testrepository>=0.0.17
|
||||
stestr>=1.0.0 # Apache-2.0
|
||||
testtools>=0.9.32
|
||||
sphinxcontrib-programoutput
|
||||
sphinx-autodoc-typehints
|
||||
|
|
24
tox.ini
24
tox.ini
|
@ -7,13 +7,17 @@ envlist = pep8,py35
|
|||
basepython = python3
|
||||
setenv = VIRTUAL_ENV={envdir}
|
||||
OS_TEST_TIMEOUT=150
|
||||
OS_STDOUT_CAPTURE={env:OS_STDOUT_CAPTURE:1}
|
||||
OS_STDERR_CAPTURE={env:OS_STDERR_CAPTURE:1}
|
||||
OS_LOG_CAPTURE={env:OS_LOG_CAPTURE:1}
|
||||
OS_LOG_DEFAULTS={env:OS_LOG_DEFAULTS:""}
|
||||
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}'
|
||||
commands = stestr run {posargs}
|
||||
stestr slowest
|
||||
|
||||
[testenv:bindep]
|
||||
# Do not install any requirements. We want this to be fast and work even if
|
||||
|
@ -32,8 +36,14 @@ commands =
|
|||
mypy --ignore-missing-imports zuul
|
||||
|
||||
[testenv:cover]
|
||||
setenv =
|
||||
{[testenv]setenv}
|
||||
PYTHON=coverage run --source zuul --parallel-mode
|
||||
commands =
|
||||
python setup.py test --coverage
|
||||
stestr run {posargs}
|
||||
coverage combine
|
||||
coverage html -d cover
|
||||
coverage xml -o cover/coverage.xml
|
||||
|
||||
[testenv:docs]
|
||||
commands =
|
||||
|
@ -43,15 +53,11 @@ commands =
|
|||
commands = {posargs}
|
||||
|
||||
[testenv:nodepool]
|
||||
setenv =
|
||||
OS_TEST_PATH = ./tests/nodepool
|
||||
commands = python setup.py test --slowest --testr-args='--concurrency=1 {posargs}'
|
||||
commands = stestr run --concurrency=1 --test-path ./tests/nodepool {posargs}
|
||||
|
||||
[testenv:remote]
|
||||
setenv =
|
||||
OS_TEST_PATH = ./tests/remote
|
||||
commands = stestr run --concurrency=1 --test-path ./tests/remote {posargs}
|
||||
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;
|
||||
|
|
Loading…
Reference in New Issue