python-jenkins/tox.ini
Sorin Sbarnea e5e7a097b1
Adopt use of pre-commit hooks
- rename pep8 target to more generic linters
- migrates flake8 execution to pre-commit
- adds yaml linting
- hardening flake8 rules
- setting max-line-lengh to 120 instead of ignoring it.
- bumped minimal sphinx version
- configured sphinx with warnings as errors

Change-Id: I4c598c07297ae6a2160ba6754cec860adbfeb6f2
Signed-off-by: Sorin Sbarnea <ssbarnea@redhat.com>
2018-06-22 13:37:30 +01:00

69 lines
1.9 KiB
INI

[tox]
minversion = 1.6
skipsdist = True
envlist = py{34,27,35}, linters, pypy
[testenv]
setenv =
PYTHONDONTWRITEBYTECODE=1
VIRTUAL_ENV={envdir}
usedevelop = True
install_command = pip install {opts} {packages}
deps = -r{toxinidir}/test-requirements.txt
commands =
- find . -type f -name "*.pyc" -delete
- find . -type d -name "__pycache__" -delete
stestr run --slowest {posargs}
whitelist_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 'git+https://git.openstack.org/openstack-infra/jenkins-job-builder@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