
- upgrade flake8 to 3.6.0 - remove use of hacking since pre-commit replaced it - mentioned minimal flake8 version on pre-commit config - fixed newer linting errors - disable W504 as it seems not possible to fix (conflict with W403) - replaced buggy tox deps installation with native pip install, which address the issue of missing to install new deps when the reqs files are updated, developer being forced to to recreate the virtualenv. - prepare for migration from tox-pep8 to tox-linters, now these being just aliases. Change-Id: I310578dce215aaf00a5b2d54716f90da9a1ecb4d Depends-On: https://review.openstack.org/#/c/613726/
87 lines
2.7 KiB
INI
87 lines
2.7 KiB
INI
[tox]
|
|
minversion = 2.2
|
|
envlist = linters, docs, py34, py35, py36, py27, cover
|
|
skip_missing_interpreters = true
|
|
# custom vars (no meaning to tox)
|
|
install_test_deps = pip install -q -r test-requirements.txt
|
|
|
|
[testenv]
|
|
setenv =
|
|
LANG=en_US.UTF-8
|
|
PYTHONDONTWRITEBYTECODE=1
|
|
SUBUNIT_FORMATTER=tee testr_subunit_log
|
|
VIRTUAL_ENV={envdir}
|
|
usedevelop = True
|
|
install_command = pip install {opts} {packages}
|
|
# 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 =
|
|
{[tox]install_test_deps}
|
|
- find . -type f -name "*.pyc" -delete
|
|
- find . -type d -name "__pycache__" -delete
|
|
# test that we can call jjb using both variants with same results
|
|
bash {toxinidir}/tools/test-commands.sh
|
|
stestr run --slowest {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}
|
|
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 "
|
|
stestr run --slowest {posargs}
|
|
|
|
[testenv:cover]
|
|
setenv =
|
|
{[testenv]setenv}
|
|
PYTHON=coverage run --source jenkins_jobs --parallel-mode
|
|
commands =
|
|
{[tox]install_test_deps}
|
|
stestr run {posargs}
|
|
coverage combine
|
|
coverage html -d cover
|
|
coverage xml -o cover/coverage.xml
|
|
|
|
[testenv:linters]
|
|
basepython = python3
|
|
commands =
|
|
{[tox]install_test_deps}
|
|
python -m pre_commit run --all
|
|
|
|
# points to linters, kept only for developer convenience
|
|
[testenv:pep8]
|
|
envdir={toxworkdir}/linters
|
|
commands = {[testenv:linters]commands}
|
|
|
|
[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 =
|
|
{[tox]install_test_deps}
|
|
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}
|