deluge/tox.ini

139 lines
3.4 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
[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 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'