2015-03-26 08:00:20 +01:00
|
|
|
# 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]
|
2016-01-30 23:23:21 +01:00
|
|
|
envlist = py34,py35-cov,misc,vulture,pydocstyle,flake8,pylint,pyroma,check-manifest
|
2015-03-26 08:00:20 +01:00
|
|
|
|
|
|
|
[testenv]
|
2015-05-16 14:22:56 +02:00
|
|
|
# https://bitbucket.org/hpk42/tox/issue/246/ - only needed for Windows though
|
2015-08-07 06:38:12 +02:00
|
|
|
setenv =
|
|
|
|
QT_QPA_PLATFORM_PLUGIN_PATH={envdir}/Lib/site-packages/PyQt5/plugins/platforms
|
|
|
|
PYTEST_QT_API=pyqt5
|
2015-11-02 06:36:30 +01:00
|
|
|
passenv = PYTHON DISPLAY XAUTHORITY HOME USERNAME USER CI TRAVIS XDG_*
|
2015-03-30 22:09:56 +02:00
|
|
|
deps =
|
2015-05-27 07:45:09 +02:00
|
|
|
-r{toxinidir}/requirements.txt
|
2015-11-02 07:47:48 +01:00
|
|
|
beautifulsoup4==4.4.1
|
2015-11-24 21:35:29 +01:00
|
|
|
coverage==4.0.3
|
2016-02-08 23:46:41 +01:00
|
|
|
decorator==4.0.9
|
2015-11-02 07:47:48 +01:00
|
|
|
Flask==0.10.1
|
|
|
|
glob2==0.4.1
|
2016-01-27 22:20:07 +01:00
|
|
|
httpbin==0.4.1
|
2016-01-10 21:42:57 +01:00
|
|
|
hypothesis==2.0.0
|
2015-11-02 07:47:48 +01:00
|
|
|
itsdangerous==0.24
|
|
|
|
Mako==1.0.3
|
|
|
|
parse==1.6.6
|
|
|
|
parse-type==0.3.4
|
2015-11-28 20:38:20 +01:00
|
|
|
py==1.4.31
|
2016-01-24 01:02:14 +01:00
|
|
|
pytest==2.8.7
|
2015-12-20 20:11:49 +01:00
|
|
|
pytest-bdd==2.16.0
|
2016-01-24 16:56:12 +01:00
|
|
|
pytest-catchlog==1.2.2
|
2016-01-30 23:33:17 +01:00
|
|
|
pytest-cov==2.2.1
|
2015-12-16 23:09:02 +01:00
|
|
|
pytest-faulthandler==1.3.0
|
2015-11-02 07:47:48 +01:00
|
|
|
pytest-html==1.7
|
2016-01-28 06:22:00 +01:00
|
|
|
pytest-mock==0.10.1
|
2016-01-08 09:38:29 +01:00
|
|
|
pytest-qt==1.11.0
|
2016-01-08 10:06:00 +01:00
|
|
|
pytest-instafail==0.3.0
|
2015-11-04 23:15:51 +01:00
|
|
|
pytest-travis-fold==1.2.0
|
2016-01-07 21:03:48 +01:00
|
|
|
pytest-repeat==0.2
|
2016-02-08 06:54:47 +01:00
|
|
|
pytest-rerunfailures==1.0.1
|
2015-11-02 07:47:48 +01:00
|
|
|
six==1.10.0
|
|
|
|
termcolor==1.1.0
|
2015-10-20 23:32:04 +02:00
|
|
|
vulture==0.8.1
|
2015-12-20 17:26:19 +01:00
|
|
|
Werkzeug==0.11.3
|
2016-02-07 12:31:08 +01:00
|
|
|
wheel==0.29.0
|
2016-01-31 13:06:28 +01:00
|
|
|
xvfbwrapper==0.2.8
|
2016-02-06 16:35:29 +01:00
|
|
|
cherrypy==5.0.1
|
2016-01-24 20:01:14 +01:00
|
|
|
commands =
|
|
|
|
{envpython} scripts/link_pyqt.py --tox {envdir}
|
2016-01-24 21:10:22 +01:00
|
|
|
{envpython} -m py.test {posargs:tests}
|
2016-01-24 20:01:14 +01:00
|
|
|
|
|
|
|
[testenv:py35-cov]
|
|
|
|
basepython = python3.5
|
|
|
|
setenv = {[testenv]setenv}
|
|
|
|
passenv = {[testenv]passenv}
|
|
|
|
deps = {[testenv]deps}
|
|
|
|
commands =
|
|
|
|
{envpython} scripts/link_pyqt.py --tox {envdir}
|
2016-01-24 21:10:22 +01:00
|
|
|
{envpython} -m py.test --cov --cov-report xml --cov-report=html --cov-report= {posargs:tests}
|
2016-01-24 20:01:14 +01:00
|
|
|
{envpython} scripts/dev/check_coverage.py {posargs}
|
|
|
|
|
|
|
|
[testenv:py34-cov]
|
|
|
|
basepython = python3.4
|
|
|
|
setenv = {[testenv]setenv}
|
|
|
|
passenv = {[testenv]passenv}
|
|
|
|
deps = {[testenv]deps}
|
2015-08-31 21:26:30 +02:00
|
|
|
commands =
|
|
|
|
{envpython} scripts/link_pyqt.py --tox {envdir}
|
2016-01-24 21:10:22 +01:00
|
|
|
{envpython} -m py.test --cov --cov-report xml --cov-report=html --cov-report= {posargs:tests}
|
2015-10-05 19:06:00 +02:00
|
|
|
{envpython} scripts/dev/check_coverage.py {posargs}
|
2015-08-08 21:11:38 +02:00
|
|
|
|
|
|
|
[testenv:mkvenv]
|
2015-09-30 06:37:00 +02:00
|
|
|
basepython = python3
|
2015-08-08 21:11:38 +02:00
|
|
|
commands = {envpython} scripts/link_pyqt.py --tox {envdir}
|
|
|
|
envdir = {toxinidir}/.venv
|
|
|
|
usedevelop = true
|
2016-01-19 06:19:54 +01:00
|
|
|
deps =
|
|
|
|
-r{toxinidir}/requirements.txt
|
2015-03-26 09:18:21 +01:00
|
|
|
|
2015-06-18 11:07:23 +02:00
|
|
|
[testenv:unittests-frozen]
|
2015-10-24 16:18:09 +02:00
|
|
|
# cx_Freeze doesn't support Python 3.5 yet
|
|
|
|
basepython = python3.4
|
2015-08-08 21:11:38 +02:00
|
|
|
passenv = {[testenv]passenv}
|
2015-06-18 11:07:23 +02:00
|
|
|
skip_install = true
|
|
|
|
deps =
|
2015-10-05 19:06:00 +02:00
|
|
|
{[testenv]deps}
|
2015-06-18 11:07:23 +02:00
|
|
|
cx_Freeze==4.3.4
|
|
|
|
commands =
|
|
|
|
{envpython} scripts/link_pyqt.py --tox {envdir}
|
2015-06-28 22:31:30 +02:00
|
|
|
{envpython} scripts/dev/freeze_tests.py build_exe -b {envdir}/build
|
2016-01-24 21:10:22 +01:00
|
|
|
{envdir}/build/run-frozen-tests {posargs}
|
2015-06-18 11:07:23 +02:00
|
|
|
|
2015-09-28 21:55:35 +02:00
|
|
|
[testenv:unittests-nodisp]
|
|
|
|
basepython = python3
|
|
|
|
passenv = {[testenv]passenv}
|
|
|
|
deps = {[testenv]deps}
|
2015-09-28 22:19:33 +02:00
|
|
|
setenv =
|
|
|
|
DISPLAY=
|
2016-01-06 08:36:40 +01:00
|
|
|
QUTE_NO_DISPLAY=1
|
2015-09-28 21:55:35 +02:00
|
|
|
commands =
|
|
|
|
{envpython} scripts/link_pyqt.py --tox {envdir}
|
2016-01-24 21:10:22 +01:00
|
|
|
{envpython} -m py.test {posargs:tests}
|
2015-09-28 21:55:35 +02:00
|
|
|
|
2015-03-26 08:00:20 +01:00
|
|
|
[testenv:misc]
|
2015-11-30 07:00:20 +01:00
|
|
|
ignore_errors = true
|
2015-08-08 21:11:38 +02:00
|
|
|
basepython = python3
|
2015-08-08 14:46:23 +02:00
|
|
|
# For global .gitignore files
|
|
|
|
passenv = HOME
|
2015-10-05 23:27:19 +02:00
|
|
|
deps =
|
2015-03-26 08:00:20 +01:00
|
|
|
commands =
|
2015-06-28 22:31:30 +02:00
|
|
|
{envpython} scripts/dev/misc_checks.py git
|
|
|
|
{envpython} scripts/dev/misc_checks.py vcs
|
|
|
|
{envpython} scripts/dev/misc_checks.py spelling
|
2015-10-05 23:27:19 +02:00
|
|
|
|
|
|
|
[testenv:vulture]
|
|
|
|
basepython = python3
|
|
|
|
deps = vulture==0.8.1
|
|
|
|
commands =
|
|
|
|
{envpython} scripts/link_pyqt.py --tox {envdir}
|
2015-10-04 23:02:03 +02:00
|
|
|
{envpython} scripts/dev/run_vulture.py
|
2015-03-26 08:00:20 +01:00
|
|
|
|
|
|
|
[testenv:pylint]
|
2015-11-30 07:38:49 +01:00
|
|
|
basepython = python3
|
2015-11-30 07:00:20 +01:00
|
|
|
ignore_errors = true
|
2015-03-26 08:00:20 +01:00
|
|
|
skip_install = true
|
2015-12-01 08:07:42 +01:00
|
|
|
setenv = PYTHONPATH={toxinidir}/scripts/dev
|
2015-08-08 21:11:38 +02:00
|
|
|
passenv =
|
2015-03-26 08:00:20 +01:00
|
|
|
deps =
|
2015-10-05 19:06:00 +02:00
|
|
|
{[testenv]deps}
|
2015-10-05 06:53:56 +02:00
|
|
|
{[testenv:misc]deps}
|
2016-01-18 07:38:34 +01:00
|
|
|
astroid==1.4.4
|
|
|
|
pylint==1.5.4
|
2015-12-29 14:47:42 +01:00
|
|
|
requests==2.9.1
|
2015-03-26 08:00:20 +01:00
|
|
|
commands =
|
2015-06-09 18:28:57 +02:00
|
|
|
{envpython} scripts/link_pyqt.py --tox {envdir}
|
2015-12-01 22:51:03 +01:00
|
|
|
{envpython} -m pylint scripts qutebrowser --output-format=colorized --reports=no
|
|
|
|
{envpython} scripts/dev/run_pylint_on_tests.py {toxinidir} --output-format=colorized --reports=no
|
2015-10-26 18:51:41 +01:00
|
|
|
|
|
|
|
[testenv:pylint-tip]
|
|
|
|
basepython = python3
|
|
|
|
skip_install = true
|
2015-12-15 11:49:06 +01:00
|
|
|
setenv = {[testenv:pylint]setenv}
|
|
|
|
passenv = {[testenv:pylint]passenv}
|
2015-10-26 18:51:41 +01:00
|
|
|
deps =
|
|
|
|
{[testenv]deps}
|
|
|
|
{[testenv:misc]deps}
|
|
|
|
hg+https://bitbucket.org/logilab/astroid
|
|
|
|
hg+https://bitbucket.org/logilab/pylint
|
|
|
|
commands =
|
|
|
|
{envpython} scripts/link_pyqt.py --tox {envdir}
|
2015-12-01 22:51:03 +01:00
|
|
|
{envpython} -m pylint scripts qutebrowser --output-format=colorized --reports=no
|
|
|
|
{envpython} scripts/dev/run_pylint_on_tests.py --output-format=colorized --reports=no
|
2015-03-26 08:00:20 +01:00
|
|
|
|
2016-01-30 23:23:21 +01:00
|
|
|
[testenv:pydocstyle]
|
2015-08-08 21:11:38 +02:00
|
|
|
basepython = python3
|
2015-03-26 08:00:20 +01:00
|
|
|
skip_install = true
|
2015-06-10 18:33:15 +02:00
|
|
|
passenv = PYTHON LANG
|
2016-01-30 23:23:21 +01:00
|
|
|
deps = pydocstyle==1.0.0
|
2016-01-30 23:30:12 +01:00
|
|
|
commands = {envpython} -m pydocstyle scripts tests qutebrowser
|
2015-03-26 08:00:20 +01:00
|
|
|
|
2016-01-21 18:11:31 +01:00
|
|
|
[testenv:flake8]
|
2015-08-08 21:11:38 +02:00
|
|
|
basepython = python3
|
|
|
|
passenv =
|
2015-03-26 08:00:20 +01:00
|
|
|
deps =
|
2015-05-17 01:18:19 +02:00
|
|
|
-r{toxinidir}/requirements.txt
|
2016-01-30 23:32:29 +01:00
|
|
|
flake8==2.5.2
|
2016-01-21 22:01:27 +01:00
|
|
|
flake8-debugger==1.4.0
|
2016-01-21 22:16:24 +01:00
|
|
|
pep8-naming==0.3.3
|
2016-01-21 22:53:53 +01:00
|
|
|
flake8-putty==0.2.0
|
2016-01-27 06:41:00 +01:00
|
|
|
ebb-lint==0.4.4
|
2016-01-22 17:46:33 +01:00
|
|
|
flake8-copyright==0.1
|
2016-01-27 22:30:58 +01:00
|
|
|
mccabe==0.4.0
|
2016-01-21 18:11:31 +01:00
|
|
|
pep8==1.7.0
|
|
|
|
pyflakes==1.0.0
|
2016-01-22 19:00:29 +01:00
|
|
|
flake8-string-format==0.2.1
|
2016-01-22 19:13:23 +01:00
|
|
|
flake8-deprecated==0.2
|
2016-01-22 19:17:55 +01:00
|
|
|
flake8-mock==0.2
|
2016-01-22 19:40:10 +01:00
|
|
|
flake8-pep3101==0.2
|
2015-03-26 08:00:20 +01:00
|
|
|
commands =
|
2016-01-21 18:11:31 +01:00
|
|
|
{envpython} -m flake8
|
2015-03-26 08:00:20 +01:00
|
|
|
|
|
|
|
[testenv:pyroma]
|
2015-08-08 21:11:38 +02:00
|
|
|
basepython = python3
|
2015-03-26 20:19:55 +01:00
|
|
|
skip_install = true
|
2015-08-08 21:11:38 +02:00
|
|
|
passenv =
|
2015-03-26 08:00:20 +01:00
|
|
|
deps =
|
2015-11-09 09:46:02 +01:00
|
|
|
pyroma==1.8.3
|
2015-03-26 08:00:20 +01:00
|
|
|
docutils==0.12
|
|
|
|
commands =
|
|
|
|
{envdir}/bin/pyroma .
|
|
|
|
|
|
|
|
[testenv:check-manifest]
|
2015-08-08 21:11:38 +02:00
|
|
|
basepython = python3
|
2015-03-26 20:19:55 +01:00
|
|
|
skip_install = true
|
2015-08-08 21:11:38 +02:00
|
|
|
passenv =
|
2015-03-26 08:00:20 +01:00
|
|
|
deps =
|
2016-01-30 23:31:01 +01:00
|
|
|
check-manifest==0.31
|
2015-03-26 08:00:20 +01:00
|
|
|
commands =
|
|
|
|
{envdir}/bin/check-manifest --ignore 'qutebrowser/git-commit-id,qutebrowser/html/doc,qutebrowser/html/doc/*,*/__pycache__'
|
2015-03-26 09:18:21 +01:00
|
|
|
|
|
|
|
[testenv:docs]
|
2015-08-08 21:11:38 +02:00
|
|
|
basepython = python3
|
2015-03-26 20:19:55 +01:00
|
|
|
skip_install = true
|
2015-03-26 20:37:53 +01:00
|
|
|
whitelist_externals = git
|
2015-08-08 21:11:38 +02:00
|
|
|
passenv =
|
2015-03-26 09:18:21 +01:00
|
|
|
deps =
|
2015-05-17 01:18:19 +02:00
|
|
|
-r{toxinidir}/requirements.txt
|
2015-03-26 09:18:21 +01:00
|
|
|
commands =
|
2015-06-09 18:28:57 +02:00
|
|
|
{envpython} scripts/link_pyqt.py --tox {envdir}
|
2015-06-28 23:04:18 +02:00
|
|
|
{envpython} scripts/dev/src2asciidoc.py
|
2015-03-26 20:37:53 +01:00
|
|
|
git --no-pager diff --exit-code --stat
|
2015-03-26 09:18:21 +01:00
|
|
|
{envpython} scripts/asciidoc2html.py {posargs}
|
2015-04-03 00:05:20 +02:00
|
|
|
|
2015-06-23 18:36:10 +02:00
|
|
|
[testenv:cxfreeze-windows]
|
|
|
|
# PYTHON is actually required when using this env, but the entire tox.ini would
|
|
|
|
# fail if we didn't have a fallback defined.
|
|
|
|
basepython = {env:PYTHON:}/python.exe
|
|
|
|
skip_install = true
|
2015-09-11 19:43:29 +02:00
|
|
|
deps =
|
|
|
|
-r{toxinidir}/requirements.txt
|
|
|
|
cx_Freeze==4.3.4
|
2015-06-23 18:36:10 +02:00
|
|
|
commands =
|
|
|
|
{envpython} scripts/link_pyqt.py --tox {envdir}
|
2015-06-28 22:31:30 +02:00
|
|
|
{envpython} scripts/dev/freeze.py {posargs}
|
2015-10-08 06:12:46 +02:00
|
|
|
|
|
|
|
[testenv:eslint]
|
|
|
|
skip_install = True
|
|
|
|
deps =
|
|
|
|
whitelist_externals = eslint
|
|
|
|
commands = eslint qutebrowser
|