Browse Source

Revert "Revert "Switch to stestr""

This reverts commit e56801f2e8.

Change-Id: Icbea5ddd744d1fa65a397fb613731315687f9803
tags/3.1.0
James E. Blair 1 year ago
parent
commit
ef23bd4862
6 changed files with 31 additions and 27 deletions
  1. 7
    0
      .coveragerc
  2. 3
    0
      .stestr.conf
  3. 0
    4
      .testr.conf
  4. 6
    12
      TESTING.rst
  5. 1
    2
      test-requirements.txt
  6. 14
    9
      tox.ini

+ 7
- 0
.coveragerc View File

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

[report]
ignore_errors = True

+ 3
- 0
.stestr.conf View File

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

+ 0
- 4
.testr.conf 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

+ 6
- 12
TESTING.rst 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/

+ 1
- 2
test-requirements.txt 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

+ 14
- 9
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;

Loading…
Cancel
Save