Revert "Revert "Switch to stestr""

This reverts commit e56801f2e8.

Change-Id: Icbea5ddd744d1fa65a397fb613731315687f9803
This commit is contained in:
James E. Blair 2018-05-16 13:01:52 -07:00
parent 12a4b7f1d2
commit ef23bd4862
6 changed files with 31 additions and 27 deletions

7
.coveragerc Normal file
View File

@ -0,0 +1,7 @@
[run]
branch = True
source = zuul
omit = tests/*
[report]
ignore_errors = True

3
.stestr.conf Normal file
View File

@ -0,0 +1,3 @@
[DEFAULT]
test_path=tests/unit
top_dir=./

View File

@ -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

View File

@ -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.
@ -79,21 +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 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/py35/bin/activate
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/py35/bin/activate
testr failing --list
stestr failing --list
Hanging Tests
-------------
@ -102,7 +102,7 @@ The following will run each test in turn and print the name of the
test as it is run::
. .tox/py35/bin/activate
testr run --subunit | subunit2pyunit
stestr run
You can compare the output of that to::
@ -111,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/

View File

@ -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

23
tox.ini
View File

@ -7,14 +7,18 @@ 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 NODEPOOL_ZK_HOST
usedevelop = True
install_command = pip install {opts} {packages}
whitelist_externals = bash
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
[nodeenv]
install_command = bash tools/pip.sh {opts} {packages}
@ -43,8 +47,13 @@ commands =
[testenv:cover]
install_command = {[nodeenv]install_command}
setenv =
{[testenv]setenv}
commands =
python setup.py test --coverage
stestr run {posargs}
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
[testenv:docs]
commands =
@ -54,17 +63,13 @@ commands =
commands = {posargs}
[testenv:nodepool]
setenv =
OS_TEST_PATH = ./tests/nodepool
install_command = {[nodeenv]install_command}
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
install_command = {[nodeenv]install_command}
commands = python setup.py test --slowest --testr-args='--concurrency=1 {posargs}'
[flake8]
# These are ignored intentionally in openstack-infra projects;