4746e0bb58
Currently only py27 and py35 (not py34) is tested in the gate, so py34 should no longer be part of the tox environment or part of the PyPi classifier. Change-Id: I81058c5df47c4dae3c331d0030141896b6a9f1bb
87 lines
2.5 KiB
INI
87 lines
2.5 KiB
INI
# noted to use py35 you need virtualenv >= 1.11.4
|
|
[tox]
|
|
envlist = py35,py27,pypy,pep8,docs
|
|
minversion = 2.0
|
|
skipsdist = True
|
|
|
|
[testenv]
|
|
usedevelop = True
|
|
# tox is silly... these need to be separated by a newline....
|
|
whitelist_externals = find
|
|
bash
|
|
passenv = ZUUL_CACHE_DIR
|
|
REQUIREMENTS_PIP_LOCATION
|
|
install_command = {toxinidir}/tools/tox_install.sh {env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages}
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
BRANCH_NAME=master
|
|
CLIENT_NAME=python-novaclient
|
|
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
bash tools/pretty_tox.sh '{posargs}'
|
|
# there is also secret magic in pretty_tox.sh which lets you run in a fail only
|
|
# mode. To do this define the TRACE_FAILONLY environmental variable.
|
|
|
|
[testenv:pep8]
|
|
commands = flake8 {posargs}
|
|
|
|
[testenv:bandit]
|
|
commands = bandit -r novaclient -n5 -x tests
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[testenv:docs]
|
|
commands =
|
|
python setup.py build_sphinx
|
|
|
|
[testenv:releasenotes]
|
|
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
|
|
|
|
|
[testenv:functional]
|
|
basepython = python2.7
|
|
passenv = OS_NOVACLIENT_TEST_NETWORK
|
|
setenv =
|
|
{[testenv]setenv}
|
|
OS_TEST_PATH = ./novaclient/tests/functional
|
|
commands = bash tools/pretty_tox.sh '--concurrency=1 {posargs}'
|
|
|
|
[testenv:functional-py35]
|
|
basepython = python3.5
|
|
passenv = OS_NOVACLIENT_TEST_NETWORK
|
|
setenv =
|
|
{[testenv]setenv}
|
|
OS_TEST_PATH = ./novaclient/tests/functional
|
|
commands = bash tools/pretty_tox.sh '--concurrency=1 {posargs}'
|
|
|
|
[testenv:cover]
|
|
commands =
|
|
python setup.py testr --coverage --testr-args='{posargs}'
|
|
coverage report
|
|
|
|
[flake8]
|
|
# Following checks should be enabled in the future.
|
|
#
|
|
# H404 multi line docstring should start without a leading new line
|
|
# H405 multi line docstring summary not separated with an empty line
|
|
#
|
|
# Following checks are ignored on purpose.
|
|
#
|
|
# Additional checks are also ignored on purpose: F811, F821
|
|
ignore = F811,F821,H404,H405
|
|
show-source = True
|
|
exclude=.venv,.git,.tox,dist,*lib/python*,*egg,build,doc/source/conf.py,releasenotes
|
|
|
|
[hacking]
|
|
import_exceptions = novaclient.i18n
|
|
|
|
[testenv:bindep]
|
|
# 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
|