oslo.cache/tox.ini
Hervé Beraud 83de99cdad Refactoring functional tests based on standard usages
Refactoring the functional tests by using the standard usages [1]
and best pratices available in the oslo.cache documentation.

The main goal of these changes is to help us to
test oslo.cache in the way that quite close to real life usages.

To test new backend now we just need to create the associated test class
dedicated to pass backend's config fixture.

These changes allow to test a new backend by:
- passing the right config to backend by using dedicated config fixture;
- adding the zuul job dedicated to manage functional tests
  against etcd backend;
- adding the right server backend to bindep.

[1] https://docs.openstack.org/oslo.cache/latest/user/usage.html

Change-Id: Iaf196d2d93225afa54e324fb830761049059926e
2020-05-28 14:34:47 +02:00

73 lines
1.7 KiB
INI

[tox]
minversion = 3.2.0
envlist = py37,pep8
ignore_basepython_conflict = True
[testenv]
basepython = python3
whitelist_externals =
find
deps =
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/test-requirements.txt
commands =
find . -type f -name "*.pyc" -delete
stestr run --slowest {posargs}
[testenv:functional]
setenv =
STESTR_TEST_PATH=./oslo_cache/tests/functional/{env:OSLO_BACKEND}
commands =
find . -type f -name "*.pyc" -delete
pifpaf -e OSLO_CACHE_TEST run {env:PIFPAF_DAEMON} -- stestr run --slowest
[testenv:pep8]
deps = {[testenv]deps}
commands =
flake8
# Run security linter
bandit -r oslo_cache -x tests -n5
[testenv:venv]
commands = {posargs}
[testenv:docs]
whitelist_externals = rm
deps =
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/doc/requirements.txt
commands =
rm -fr doc/build
sphinx-build -W --keep-going -b html doc/source doc/build/html
[testenv:cover]
setenv =
PYTHON=coverage run --source oslo_cache --parallel-mode
commands =
stestr run {posargs}
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
[flake8]
show-source = True
ignore = H405,W504,F405
builtins = _
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build
[hacking]
import_exceptions =
[testenv:releasenotes]
whitelist_externals =
rm
deps = {[testenv:docs]deps}
commands =
rm -rf releasenotes/build
sphinx-build -a -E -W -d releasenotes/build/doctrees --keep-going -b html releasenotes/source releasenotes/build/html
[testenv:lower-constraints]
deps =
-c{toxinidir}/lower-constraints.txt
-r{toxinidir}/test-requirements.txt