7fea75e6fb
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>
77 lines
2.5 KiB
INI
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
|