# 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 # 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 unittest [testenv:coverage] deps = coverage==3.7.1 commands = {[testenv:mkvenv]commands} {envpython} -m coverage erase {envpython} -m coverage run --branch --source=qutebrowser -m unittest {envpython} -m coverage html {envpython} scripts/print_coverage.py [testenv:misc] commands = {envpython} scripts/misc_checks.py git {envpython} scripts/misc_checks.py vcs qutebrowser scripts [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 [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 qutebrowser --ignore=D102,D209,D402 '--match=(?!resources|test_content_disposition).*\.py' [testenv:flake8] deps = -rrequirements.txt pyflakes==0.8.1 pep8==1.5.7 # rq.filter: <=1.5.7 flake8==2.4.0 commands = {[testenv:mkvenv]commands} {envdir}/bin/flake8 scripts qutebrowser --config=.flake8 [testenv:pyroma] deps = pyroma==1.7 docutils==0.12 commands = {[testenv:mkvenv]commands} {envdir}/bin/pyroma . [testenv:check-manifest] deps = check-manifest==0.23 commands = {[testenv:mkvenv]commands} {envdir}/bin/check-manifest --ignore 'qutebrowser/git-commit-id,qutebrowser/html/doc,qutebrowser/html/doc/*,*/__pycache__' [testenv:docs] deps = -rrequirements.txt commands = {[testenv:mkvenv]commands} {envpython} scripts/src2asciidoc.py {envpython} scripts/misc_checks.py git {envpython} scripts/asciidoc2html.py {posargs}