# 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. [tox] envlist = unittests,misc,pep257,flake8,pylint,pyroma,check-manifest [testenv] basepython = python3 [testenv:mkvenv] commands = {envpython} scripts/link_pyqt.py --tox {envdir} envdir = {toxinidir}/.venv usedevelop = true [testenv:unittests] setenv = QT_QPA_PLATFORM_PLUGIN_PATH={envsitepackagesdir}/PyQt5/plugins/platforms deps = py==1.4.26 pytest==2.7.0 pytest-capturelog==0.7 pytest-qt==1.3.0 pytest-mock==0.4.2 # We don't use {[testenv:mkvenv]commands} here because that seems to be broken # on Ubuntu Trusty. commands = {envpython} scripts/link_pyqt.py --tox {envdir} {envpython} -m py.test [testenv:coverage] deps = {[testenv:unittests]deps} coverage==3.7.1 pytest-cov==1.8.1 pytest-capturelog==0.7 pytest-qt==1.3.0 pytest-mock==0.4.2 cov-core==1.15.0 commands = {[testenv:mkvenv]commands} {envpython} -m py.test --cov qutebrowser --cov-report term --cov-report html [testenv:misc] commands = {envpython} scripts/misc_checks.py git {envpython} scripts/misc_checks.py vcs qutebrowser scripts tests {envpython} scripts/misc_checks.py spelling qutebrowser scripts tests [testenv:pylint] skip_install = true setenv = PYTHONPATH={toxinidir}/scripts deps = -rrequirements.txt astroid==1.3.6 beautifulsoup4==4.3.2 pylint==1.4.3 logilab-common==0.63.2 six==1.9.0 commands = {[testenv:mkvenv]commands} {envdir}/bin/pylint scripts qutebrowser --rcfile=.pylintrc --output-format=colorized --reports=no {envpython} scripts/run_pylint_on_tests.py --rcfile=.pylintrc --output-format=colorized --reports=no [testenv:pep257] skip_install = true deps = pep257==0.5.0 # Disabled checks: # D102: Docstring missing, will be handled by others # D209: Blank line before closing """ (removed from PEP257) # D402: First line should not be function's signature (false-positives) commands = {envpython} -m pep257 scripts tests qutebrowser --ignore=D102,D209,D402 '--match=(?!resources|test_content_disposition).*\.py' [testenv:flake8] skip_install = true deps = -rrequirements.txt pyflakes==0.8.1 pep8==1.5.7 # rq.filter: <1.6.0 flake8==2.4.0 commands = {[testenv:mkvenv]commands} {envdir}/bin/flake8 scripts tests qutebrowser --config=.flake8 [testenv:pyroma] skip_install = true deps = pyroma==1.7 docutils==0.12 commands = {[testenv:mkvenv]commands} {envdir}/bin/pyroma . [testenv:check-manifest] skip_install = true deps = check-manifest==0.24 commands = {[testenv:mkvenv]commands} {envdir}/bin/check-manifest --ignore 'qutebrowser/git-commit-id,qutebrowser/html/doc,qutebrowser/html/doc/*,*/__pycache__' [testenv:docs] skip_install = true whitelist_externals = git deps = -rrequirements.txt commands = {[testenv:mkvenv]commands} {envpython} scripts/src2asciidoc.py git --no-pager diff --exit-code --stat {envpython} scripts/asciidoc2html.py {posargs} [pytest] norecursedirs = .tox .venv