16a04df3d0
Manila's test framework is pretty old and requires update. Changes: - usage of nose replaced with testr - now all the tests are thread safe - added new options for run_tests.sh, such as --concurrency, --debug, etc... - new '--concurrency' option for run_tests.sh defaults to 1, examples: ./run_tests.sh # will run in 1 thread ./run_tests.sh --concurrency 2 # will run tests in 2 threads - added tools/colorizer.py for colorizing output of testrun with run_tests.sh - tests running with tox use as much threads as cores available by default - examples of testrun with tox: tox # will run test suites defined with 'envlist' in tox.ini, now it is pep8,py26,py27 tox -epy27 # amount of threads is equal to amount of cores tox -epy27 -- --concurrency=2 # amount of threads is 2 tox -epy27 -- --concurrency=4 # amount of threads is 4 - Added 'Database' class to manila.test module, for more conveniant db testing - updated policy file 'manila/tests/policy.json' to allow share-network actions - removed nose-related requirements - added new requirements for testrepository, subunit With merge of this change all old installed virtual environments become incompatible and should be removed with "rm -rf .tox .venv" before testrun. Implements blueprint testr-with-unittests Change-Id: I9579ecd538e29d478dbc12adc7dcc33fc668b397
50 lines
1.2 KiB
INI
50 lines
1.2 KiB
INI
[tox]
|
|
minversion = 1.6
|
|
skipsdist = True
|
|
envlist = py26,py27,pep8
|
|
|
|
[testenv]
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
usedevelop = True
|
|
install_command = pip install {opts} {packages}
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands = python setup.py testr --testr-args='{posargs}'
|
|
|
|
[tox:jenkins]
|
|
downloadcache = ~/cache/pip
|
|
|
|
[testenv:pep8]
|
|
commands =
|
|
flake8 {posargs} . manila/common
|
|
flake8 --filename=manila* bin
|
|
|
|
[testenv:genconfig]
|
|
commands =
|
|
bash tools/conf/generate_sample.sh -o etc/manila
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[testenv:cover]
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
commands =
|
|
python setup.py testr --coverage \
|
|
--testr-args='^(?!.*test.*coverage).*$'
|
|
|
|
[testenv:pylint]
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
deps = -r{toxinidir}/requirements.txt
|
|
pylint==0.26.0
|
|
commands = bash tools/lintstack.sh
|
|
|
|
[flake8]
|
|
# TODO: These are not intentionally disabled, reenable when fixed:
|
|
# H237: module is removed in Python 3
|
|
# H405: multi line docstring summary not separated with an empty line
|
|
# H501: Do not use locals() for string formatting
|
|
# H904: Wrap long lines in parentheses instead of a backslash
|
|
ignore = E12,E711,E712,H237,H302,H303,H304,H402,H404,H405,H501,H904,F
|
|
builtins = _
|
|
exclude = .venv,.tox,dist,doc,openstack,*egg
|