* component registry shutdown() now cleans up the component list this ensures that no old components are left when running unit tests. * Added class BaseTestCase that all tests that create components should inherit from. It verifies the compoent list before and after the tests are run.
154 lines
3.7 KiB
INI
154 lines
3.7 KiB
INI
# Tox (http://tox.testrun.org/) is a tool for running tests
|
|
# in multiple virtualenvs. This configuration file will run the
|
|
# test suite on all supported python versions. To use it, "pip install tox"
|
|
# and then run "tox" from this directory.
|
|
|
|
[flake8]
|
|
max-line-length = 120
|
|
builtins = _,__request__
|
|
ignore = E133
|
|
exclude = .tox,.git,dist,build
|
|
|
|
[tox]
|
|
envlist = py27, py26, flake8, isort, docs
|
|
minversion=1.8
|
|
|
|
[testenv]
|
|
setenv = PYTHONPATH = {env:PYTHONPATH}:{env:PWD}
|
|
sitepackages = True
|
|
deps =
|
|
twisted
|
|
service_identity
|
|
mako
|
|
chardet
|
|
pyopenssl
|
|
pyxdg
|
|
pytest
|
|
whitelist_externals = py.test
|
|
commands = {envpython} setup.py test
|
|
|
|
[pytest]
|
|
python_functions = test_
|
|
norecursedirs = .tox .git dist build
|
|
pep8maxlinelength = 120
|
|
whitelist_externals= {[testenv]whitelist_externals}
|
|
commands = py.test deluge
|
|
|
|
[testenv:testcoverage]
|
|
install_command = pip install {opts} {packages}
|
|
deps =
|
|
{[testenv]deps}
|
|
pytest-cov
|
|
coverage
|
|
whitelist_externals =
|
|
{[testenv]whitelist_externals}
|
|
coverage
|
|
commands =
|
|
coverage run --branch --source=deluge -m py.test deluge/tests/
|
|
coverage report
|
|
# For creating html report
|
|
# coverage html -d docs/build/htmlcoverage
|
|
|
|
[testenv:pydef]
|
|
commands =
|
|
python -c "import libtorrent as lt; print lt.version"
|
|
py.test -v -s -m "not (todo or gtkui)" deluge/tests
|
|
|
|
[testenv:pygtkui]
|
|
commands =
|
|
py.test -v -s -m "gtkui" deluge/tests
|
|
|
|
[testenv:todo]
|
|
commands =
|
|
py.test -v -s -m "todo" deluge/tests
|
|
|
|
[testenv:trial]
|
|
setenv = {[testenv]setenv}:{env:PWD}/deluge/tests
|
|
whitelist_externals = trial
|
|
commands =
|
|
trial --reporter=deluge-reporter deluge/tests
|
|
|
|
[testenv:plugins]
|
|
commands = py.test deluge/plugins
|
|
|
|
[testenv:py26]
|
|
basepython = python2.6
|
|
commands = {[testenv:pydef]commands}
|
|
|
|
[testenv:py27]
|
|
basepython = python2.7
|
|
commands = {[testenv:pydef]commands}
|
|
|
|
[testenv:isort]
|
|
deps =
|
|
{[testenv]deps}
|
|
isort
|
|
whitelist_externals =
|
|
{[testenv]whitelist_externals}
|
|
isort
|
|
commands = python -c "import subprocess, sys; output = subprocess.check_output('isort --stdout --diff --recursive deluge docs win32 *.py', shell=True); print output; sys.exit(len(output) != 0)"
|
|
|
|
[testenv:flake8]
|
|
setenv = {[testenv]setenv}
|
|
whitelist_externals =
|
|
{[testenv]whitelist_externals}
|
|
flake8
|
|
deps =
|
|
{[testenv]deps}
|
|
flake8
|
|
pep8-naming
|
|
commands = flake8
|
|
|
|
[testenv:flake8-complexity]
|
|
setenv = {[testenv]setenv}
|
|
whitelist_externals =
|
|
{[testenv]whitelist_externals}
|
|
flake8
|
|
sh
|
|
deps =
|
|
{[testenv:flake8]deps}
|
|
mccabe
|
|
commands = flake8 --exit-zero --max-complexity 15 deluge
|
|
|
|
# We do not have all dependencies on RTD and travis so we exclude the
|
|
# site packages (sitepackages=False) when building docs so that local
|
|
# tests have a similar environment.
|
|
|
|
[docsbase]
|
|
sitepackages = False
|
|
changedir = docs
|
|
install_command = pip install {opts} {packages}
|
|
whitelist_externals =
|
|
{[testenv]whitelist_externals}
|
|
sphinx-build
|
|
deps =
|
|
{[testenv]deps}
|
|
sphinx
|
|
sphinxcontrib-napoleon
|
|
pillow
|
|
commands = sphinx-build -E -W -b html -d build/doctrees source build/html
|
|
|
|
[testenv:docs]
|
|
sitepackages = {[docsbase]sitepackages}
|
|
changedir = {[docsbase]changedir}
|
|
install_command = {[docsbase]install_command}
|
|
whitelist_externals = {[docsbase]whitelist_externals}
|
|
deps = {[docsbase]deps}
|
|
commands = sphinx-build -v -E -T -b html -d build/doctrees source build/html
|
|
|
|
[testenv:docscoverage]
|
|
sitepackages = {[docsbase]sitepackages}
|
|
changedir = {[docsbase]changedir}
|
|
install_command = {[docsbase]install_command}
|
|
whitelist_externals =
|
|
{[docsbase]whitelist_externals}
|
|
mkdir
|
|
deps =
|
|
{[docsbase]deps}
|
|
coverage
|
|
pytest-cov
|
|
commands =
|
|
mkdir -p build/doccoverage
|
|
sphinx-build -W -b coverage -d build/doctrees source build/doccoverage
|
|
py.test --doctest-glob='*.rst'
|