b1dea6eacd
Add a bindep.txt file containing a cross-platform list of dependencies needed for running included tox-based tests. Also include a tox environment for convenience calling the bindep[*] utility to list any missing system requirements. This change is self-testing. For bindep.txt see also http://docs.openstack.org/infra/manual/drivers.html#package-requirements [*] http://docs.openstack.org/infra/bindep/ Change-Id: I4046952603dddcd7290ec13be26fd09ea7fc608a
72 lines
2.3 KiB
INI
72 lines
2.3 KiB
INI
[tox]
|
|
envlist = py27,pep8,functest
|
|
minversion = 1.6
|
|
skipsdist = True
|
|
|
|
[testenv]
|
|
usedevelop = True
|
|
install_command = pip install --allow-external netifaces --allow-insecure netifaces -U {opts} {packages}
|
|
whitelist_externals=bash
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
NOSE_WITH_COVERAGE=1
|
|
NOSE_COVER_BRANCHES=1
|
|
NOSE_COVER_PACKAGE=swiftonfile
|
|
deps =
|
|
# Note: pip supports installing from git repos.
|
|
# https://pip.pypa.io/en/latest/reference/pip_install.html#git
|
|
# Example: git+https://github.com/openstack/swift.git@2.0.0
|
|
https://launchpad.net/swift/liberty/2.5.0/+download/swift-2.5.0.tar.gz
|
|
PyECLib==1.0.7
|
|
-r{toxinidir}/test-requirements.txt
|
|
changedir = {toxinidir}/test/unit
|
|
commands = nosetests -v {posargs}
|
|
passenv = SWIFT_* *_proxy
|
|
|
|
[testenv:cover]
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
NOSE_WITH_COVERAGE=1
|
|
NOSE_COVER_BRANCHES=1
|
|
NOSE_COVER_HTML=1
|
|
NOSE_COVER_HTML_DIR={toxinidir}/cover
|
|
|
|
[testenv:functest]
|
|
changedir = {toxinidir}
|
|
commands = bash ./.functests -q
|
|
|
|
[testenv:pep8]
|
|
changedir = {toxinidir}
|
|
commands =
|
|
flake8 swiftonfile test setup.py
|
|
flake8 --filename=swiftonfile* bin
|
|
|
|
[testenv:venv]
|
|
changedir = {toxinidir}
|
|
commands = {posargs}
|
|
|
|
[flake8]
|
|
# it's not a bug that we aren't using all of hacking, ignore:
|
|
# F812: list comprehension redefines ...
|
|
# H101: Use TODO(NAME)
|
|
# H202: assertRaises Exception too broad
|
|
# H233: Python 3.x incompatible use of print operator
|
|
# H234: assertEquals is deprecated, use assertEqual
|
|
# H301: one import per line
|
|
# H306: imports not in alphabetical order (time, os)
|
|
# H401: docstring should not start with a space
|
|
# H403: multi line docstrings should end on a new line
|
|
# H404: multi line docstring should start without a leading new line
|
|
# H405: multi line docstring summary not separated with an empty line
|
|
# H501: Do not use self.__dict__ for string formatting
|
|
# H703: Multiple positional placeholders
|
|
ignore = F812,H101,H202,H233,H234,H301,H306,H401,H403,H404,H405,H501,H703
|
|
exclude = .venv,.tox,dist,doc,*egg,test
|
|
show-source = True
|
|
|
|
[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
|