
We want to default to running all tox environments under python 3, so set the basepython value in each environment. We do not want to specify a minor version number, because we do not want to have to update the file every time we upgrade python. We do not want to set the override once in testenv, because that breaks the more specific versions used in default environments like py35 and py36. Change-Id: I56890d9f5d258bc27f94c51c369a774b2978c0fc
71 lines
2.0 KiB
INI
71 lines
2.0 KiB
INI
[tox]
|
|
minversion = 1.6
|
|
skipsdist = True
|
|
envlist = py{34,27,35}, pep8, 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:pep8]
|
|
basepython = python3
|
|
commands = flake8
|
|
|
|
[testenv:docs]
|
|
basepython = python3
|
|
commands = python setup.py build_sphinx
|
|
|
|
[testenv:venv]
|
|
basepython = python3
|
|
commands = {posargs}
|
|
|
|
[flake8]
|
|
; E501 line too long (80 > 79 characters)
|
|
; H301 one import per line
|
|
; H405 multi line docstring summary not separated with an empty line
|
|
; H501 Do not use locals() for string formatting
|
|
ignore = E501,H301,H405,H501
|
|
show-source = True
|
|
exclude = .venv,.tox,dist,doc,build,*.egg
|
|
|
|
[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
|