Python API for managing jobs and nodes in a Jenkins CI instance
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

68 lines
1.9 KiB

[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}/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 '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