jenkins-job-builder/tox.ini
Sorin Sbarnea 7fea75e6fb Enable cross testing with python-jenkins
This allows us to spot things that may be broken
by changes made to dependencies.

Adds zull job that tests tips of both projects.

Adds 'tips' tox environment that can be used by
developers to perform the same kind of testing
locally.

Change-Id: I35dbdf6acab1062109dc4b1f1474decd75932504
Signed-off-by: Sorin Sbarnea <ssbarnea@redhat.com>
2018-04-04 18:32:55 +01:00

77 lines
2.5 KiB
INI

[tox]
minversion = 2.2
envlist = docs, pep8, py34, py35, py36, py27, cover
skip_missing_interpreters = true
[testenv]
# Note(Vek): JJB is not compatible with a non-zero PYTHONHASHSEED
setenv =
LANG=en_US.UTF-8
PYTHONDONTWRITEBYTECODE=1
PYTHONHASHSEED=0
SUBUNIT_FORMATTER=tee testr_subunit_log
VIRTUAL_ENV={envdir}
usedevelop = True
install_command = pip install {opts} {packages}
deps = -r{toxinidir}/test-requirements.txt
# cleanup is needed mostly for dev environmnts and assures that if dev
# is switching branch, no lefovers will impact execution.
# No git commands here because test should run even from a source archive.
commands =
- find . -type f -name "*.pyc" -delete
- find . -type d -name "__pycache__" -delete
python setup.py testr --slowest --testr-args='{posargs}'
whitelist_externals =
bash
find
[testenv:tips]
# tests what happens with unreleased version of dependencies, like python-jenkins
install_command = pip install -U {opts} {packages}
ignore_outcome = true
commands =
bash -c "if [ -d {toxinidir}/../python-jenkins ]; then \
pip install -q -U -e 'git+file://{toxinidir}/../python-jenkins#egg=python-jenkins' ; else \
pip install -q -U -e 'git+https://git.openstack.org/openstack/python-jenkins@master#egg=python-jenkins' ; fi "
python setup.py testr --slowest --testr-args='{posargs}'
[testenv:cover]
commands =
python setup.py test --coverage --coverage-package-name=jenkins_jobs
coverage report
[testenv:pep8]
commands = flake8
[testenv:pyflakes]
deps = pyflakes
commands = pyflakes jenkins_jobs tests setup.py
[testenv:compare-xml-config]
commands = jenkins-jobs {posargs:test -o .test/run-conf/default/out/ .test/run-conf/config/}
[testenv:compare-xml-old]
commands = jenkins-jobs test -o .test/old/out/ .test/old/config/
[testenv:compare-xml-new]
commands = jenkins-jobs test -o .test/new/out/ .test/new/config/
[testenv:docs]
commands = python setup.py build_sphinx {posargs}
[testenv:docs-linkcheck]
# If you are behind a proxy, for this test to work you will need to set
# TOX_TESTENV_PASSENV="http_proxy https_proxy no_proxy ..." to pass
# through the proxy environment settings to be able to validate any urls.
commands = python setup.py build_sphinx -b linkcheck
[testenv:venv]
commands = {posargs}
[flake8]
# These are ignored intentionally in openstack-infra projects; please
# don't submit patches that solely correct them or enable them.
ignore = E125,E128,H
show-source = True
exclude = .virtualenv,.venv,.tox,dist,doc,build,*.egg,.test