python-jenkins/tox.ini
Guillaume DeMengin 70dc3e4f71 Fix CI tests
Adjust some of the dependencies.

multi_key_dict is not shipped by OpenStack Zuul templates
`build-openstack-docs-pti` or `openstack-cover-jobs` we thus need to
depend on `requirements.txt`.

setuptools v66.0.0 removed support for PEP 440 non-conforming versions.
It provides pkg_resources which we use in PluginVersion.

Tox `whitelist_externals` has been renamed `allowlist_externals`.

Signed-off-by: Antoine Musso <hashar@free.fr>
Change-Id: Ie791c2bb0e7b3784913f45768d2f3db4c66ccae5
2023-03-16 21:06:36 +01:00

70 lines
1.9 KiB
INI

[tox]
minversion = 2.0
skipsdist = True
envlist = py{34,27,35,36}, linters
[testenv]
setenv =
PYTHONDONTWRITEBYTECODE=1
VIRTUAL_ENV={envdir}
usedevelop = True
install_command = pip install {opts} {packages}
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands =
- find . -type f -name "*.pyc" -delete
- find . -type d -name "__pycache__" -delete
stestr run --slowest {posargs}
allowlist_externals =
bash
find
[testenv:tips]
basepython = python3
# tests what happens with unreleased version of dependencies, like jenkins-job-builder
install_command = pip install -U {opts} {packages}
commands =
bash -c "if [ -d {toxinidir}/../jenkins-job-builder ]; then \
pip install -q -U -e 'git+file://{toxinidir}/../jenkins-job-builder#egg=jenkins-job-builder' ; else \
pip install -q -U -e 'https://opendev.org/jjb/python-jenkins@master#egg=jenkins-job-builder' ; fi "
stestr run --slowest {posargs}
[testenv:cover]
basepython = python3
setenv =
{[testenv]setenv}
PYTHON=coverage run --source jenkins --parallel-mode
commands =
stestr run {posargs}
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
[testenv:linters]
basepython = python3
commands =
pre-commit run --all
# pep8 was replaced by linter, kept here till we remove it from project-config
[testenv:pep8]
basepython = python3
commands =
pre-commit run --all
[testenv:docs]
basepython = python3
commands = python setup.py build_sphinx -W
[testenv:venv]
basepython = python3
commands = {posargs}
[testenv:bindep]
basepython = python3
# 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