qutebrowser/tox.ini

241 lines
6.7 KiB
INI
Raw Normal View History

# 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]
2015-10-06 06:44:45 +02:00
envlist = py34,py35,misc,vulture,pep257,pyflakes,pep8,mccabe,pylint,pyroma,check-manifest
[testenv]
# 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
passenv = PYTHON DISPLAY XAUTHORITY HOME USERNAME USER CI TRAVIS XDG_*
2015-03-30 22:09:56 +02:00
deps =
-r{toxinidir}/requirements.txt
2015-11-02 07:47:48 +01:00
beautifulsoup4==4.4.1
coverage==4.0.2
2015-11-02 07:47:48 +01:00
decorator==4.0.4
Flask==0.10.1
glob2==0.4.1
httpbin==0.4.0
hypothesis==1.14.0
itsdangerous==0.24
Mako==1.0.3
parse==1.6.6
parse-type==0.3.4
py==1.4.30
pytest==2.7.3 # rq.filter: <2.8.0
2015-11-02 07:47:48 +01:00
pytest-bdd==2.15.0
pytest-capturelog==0.7
2015-11-02 07:47:48 +01:00
pytest-cov==2.2.0
pytest-faulthandler==1.0.1
2015-11-02 07:47:48 +01:00
pytest-html==1.7
pytest-mock==0.8.1
pytest-qt==1.9.0
pytest-sugar==0.5.1
pytest-travis-fold==1.2.0
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
tox: Update werkzeug to 0.11. Version 0.11 ------------ Released on November 8th 2015, codename Gleisbaumaschine. - Added ``reloader_paths`` option to ``run_simple`` and other functions in ``werkzeug.serving``. This allows the user to completely override the Python module watching of Werkzeug with custom paths. - Many custom cached properties of Werkzeug's classes are now subclasses of Python's ``property`` type. - ``bind_to_environ`` now doesn't differentiate between implicit and explicit default port numbers in ``HTTP_HOST``. - ``BuildErrors`` are now more informative. They come with a complete sentence as error message, and also provide suggestions. - Fix a bug in the user agent parser where Safari's build number instead of version would be extracted. - Fixed issue where RedisCache set_many was broken for twemproxy, which doesn't support the default MULTI command. - ``mimetype`` parameters on request and response classes are now always converted to lowercase. - Changed cache so that cache never expires if timeout is 0. This also fixes an issue with redis setex - Werkzeug now assumes ``UTF-8`` as filesystem encoding on Unix if Python detected it as ASCII. - New optional `has` method on caches. - Fixed various bugs in `parse_options_header`. - If the reloader is enabled the server will now open the socket in the parent process if this is possible. This means that when the reloader kicks in the connection from client will wait instead of tearing down. This does not work on all Python versions. - Implemented PIN based authentication for the debugger. This can optionally be disabled but is discouraged. This change was necessary as it has been discovered that too many people run the debugger in production. - Devserver no longer requires SSL module to be installed. Version 0.10.5 -------------- (bugfix release, release date yet to be decided) - Reloader: Correctly detect file changes made by moving temporary files over the original, which is e.g. the case with PyCharm. - Fix bool behavior of ``werkzeug.datastructures.ETags`` under Python 3
2015-11-09 09:46:36 +01:00
Werkzeug==0.11
2015-11-02 07:47:48 +01:00
wheel==0.26.0
xvfbwrapper==0.2.5
commands =
{envpython} scripts/link_pyqt.py --tox {envdir}
{envpython} -m py.test --strict -rfEsw --cov --cov-report xml --cov-report=html --cov-report= {posargs:tests}
{envpython} scripts/dev/check_coverage.py {posargs}
[testenv:mkvenv]
basepython = python3
commands = {envpython} scripts/link_pyqt.py --tox {envdir}
envdir = {toxinidir}/.venv
usedevelop = true
2015-03-26 09:18:21 +01:00
[testenv:unittests-frozen]
# cx_Freeze doesn't support Python 3.5 yet
basepython = python3.4
passenv = {[testenv]passenv}
skip_install = true
deps =
{[testenv]deps}
cx_Freeze==4.3.4
commands =
{envpython} scripts/link_pyqt.py --tox {envdir}
{envpython} scripts/dev/freeze_tests.py build_exe -b {envdir}/build
{envdir}/build/run-frozen-tests --strict -rfEsw {posargs}
2015-09-28 21:55:35 +02:00
[testenv:unittests-nodisp]
basepython = python3
passenv = {[testenv]passenv}
deps = {[testenv]deps}
setenv =
DISPLAY=
QUTE_NO_DISPLAY_OK=1
2015-09-28 21:55:35 +02:00
commands =
{envpython} scripts/link_pyqt.py --tox {envdir}
{envpython} -m py.test --strict -rfEw {posargs:tests}
2015-09-28 21:55:35 +02:00
[testenv:misc]
basepython = python3
# For global .gitignore files
passenv = HOME
2015-10-05 23:27:19 +02:00
deps =
commands =
{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}
{envpython} scripts/dev/run_vulture.py
[testenv:pylint]
basepython = python3.4
skip_install = true
setenv = PYTHONPATH={toxinidir}/scripts/dev
passenv =
deps =
{[testenv]deps}
2015-10-05 06:53:56 +02:00
{[testenv:misc]deps}
astroid==1.3.8
pylint==1.4.4
logilab-common==1.1.0
commands =
{envpython} scripts/link_pyqt.py --tox {envdir}
{envpython} -m pylint scripts qutebrowser --rcfile=.pylintrc --output-format=colorized --reports=no --expected-line-ending-format=LF
{envpython} scripts/dev/run_pylint_on_tests.py --rcfile=.pylintrc --output-format=colorized --reports=no --expected-line-ending-format=LF
2015-10-26 18:51:41 +01:00
[testenv:pylint-tip]
basepython = python3
skip_install = true
setenv = {[testenv:pylint]setenv}
passenv = {[testenv:pylint]passenv}
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}
{envpython} -m pylint scripts qutebrowser --rcfile=.pylintrc --output-format=colorized --reports=no --expected-line-ending-format=LF
{envpython} scripts/dev/run_pylint_on_tests.py --rcfile=.pylintrc --output-format=colorized --reports=no --expected-line-ending-format=LF
[testenv:pep257]
basepython = python3
skip_install = true
2015-06-10 18:33:15 +02:00
passenv = PYTHON LANG
tox: Update pep257 to 0.7.0. Upstream changelog: New Features - Added the D104 error code - "Missing docstring in public package". This new error is turned on by default. Missing docstring in __init__.py files which previously resulted in D100 errors ("Missing docstring in public module") will now result in D104. - Added the D105 error code - "Missing docstring in magic method'. This new error is turned on by default. Missing docstrings in magic method which previously resulted in D102 error ("Missing docstring in public method") will now result in D105. Note that exceptions to this rule are variadic magic methods - specifically __init__, __call__ and __new__, which will be considered non-magic and missing docstrings in them will result in D102. - Support the option to exclude all error codes. Running pep257 with --select= (or select= in the configuration file) will exclude all errors which could then be added one by one using add-select. Useful for projects new to pep257. - Added check D211: No blank lines allowed before class docstring. This change is a result of a change to the official PEP257 convention. Therefore, D211 will now be checked by default instead of D203, which required a single blank line before a class docstring. - Configuration files are now handled correctly. The closer a configuration file is to a checked file the more it matters. Configuration files no longer support explain, source, debug, verbose or count. Bug Fixes - On Python 2.x, D302 ("Use u""" for Unicode docstrings") is not reported if unicode_literals is imported from __future__. - Fixed a bug where there was no executable for pep257 on Windows.
2015-10-10 12:59:45 +02:00
deps = pep257==0.7.0
# Disabled checks:
2015-07-21 10:26:57 +02:00
# D102: Missing docstring in public method (will be handled by others)
# D103: Missing docstring in public function (will be handled by others)
tox: Update pep257 to 0.7.0. Upstream changelog: New Features - Added the D104 error code - "Missing docstring in public package". This new error is turned on by default. Missing docstring in __init__.py files which previously resulted in D100 errors ("Missing docstring in public module") will now result in D104. - Added the D105 error code - "Missing docstring in magic method'. This new error is turned on by default. Missing docstrings in magic method which previously resulted in D102 error ("Missing docstring in public method") will now result in D105. Note that exceptions to this rule are variadic magic methods - specifically __init__, __call__ and __new__, which will be considered non-magic and missing docstrings in them will result in D102. - Support the option to exclude all error codes. Running pep257 with --select= (or select= in the configuration file) will exclude all errors which could then be added one by one using add-select. Useful for projects new to pep257. - Added check D211: No blank lines allowed before class docstring. This change is a result of a change to the official PEP257 convention. Therefore, D211 will now be checked by default instead of D203, which required a single blank line before a class docstring. - Configuration files are now handled correctly. The closer a configuration file is to a checked file the more it matters. Configuration files no longer support explain, source, debug, verbose or count. Bug Fixes - On Python 2.x, D302 ("Use u""" for Unicode docstrings") is not reported if unicode_literals is imported from __future__. - Fixed a bug where there was no executable for pep257 on Windows.
2015-10-10 12:59:45 +02:00
# D104: Missing docstring in public package (will be handled by others)
# D105: Missing docstring in magic method (will be handled by others)
# D209: Blank line before closing """ (removed from PEP257)
tox: Update pep257 to 0.7.0. Upstream changelog: New Features - Added the D104 error code - "Missing docstring in public package". This new error is turned on by default. Missing docstring in __init__.py files which previously resulted in D100 errors ("Missing docstring in public module") will now result in D104. - Added the D105 error code - "Missing docstring in magic method'. This new error is turned on by default. Missing docstrings in magic method which previously resulted in D102 error ("Missing docstring in public method") will now result in D105. Note that exceptions to this rule are variadic magic methods - specifically __init__, __call__ and __new__, which will be considered non-magic and missing docstrings in them will result in D102. - Support the option to exclude all error codes. Running pep257 with --select= (or select= in the configuration file) will exclude all errors which could then be added one by one using add-select. Useful for projects new to pep257. - Added check D211: No blank lines allowed before class docstring. This change is a result of a change to the official PEP257 convention. Therefore, D211 will now be checked by default instead of D203, which required a single blank line before a class docstring. - Configuration files are now handled correctly. The closer a configuration file is to a checked file the more it matters. Configuration files no longer support explain, source, debug, verbose or count. Bug Fixes - On Python 2.x, D302 ("Use u""" for Unicode docstrings") is not reported if unicode_literals is imported from __future__. - Fixed a bug where there was no executable for pep257 on Windows.
2015-10-10 12:59:45 +02:00
# D211: Now b lank lines allowed before class docstring
# (PEP257 got changed, but let's stick to the old standard)
# D402: First line should not be function's signature (false-positives)
tox: Update pep257 to 0.7.0. Upstream changelog: New Features - Added the D104 error code - "Missing docstring in public package". This new error is turned on by default. Missing docstring in __init__.py files which previously resulted in D100 errors ("Missing docstring in public module") will now result in D104. - Added the D105 error code - "Missing docstring in magic method'. This new error is turned on by default. Missing docstrings in magic method which previously resulted in D102 error ("Missing docstring in public method") will now result in D105. Note that exceptions to this rule are variadic magic methods - specifically __init__, __call__ and __new__, which will be considered non-magic and missing docstrings in them will result in D102. - Support the option to exclude all error codes. Running pep257 with --select= (or select= in the configuration file) will exclude all errors which could then be added one by one using add-select. Useful for projects new to pep257. - Added check D211: No blank lines allowed before class docstring. This change is a result of a change to the official PEP257 convention. Therefore, D211 will now be checked by default instead of D203, which required a single blank line before a class docstring. - Configuration files are now handled correctly. The closer a configuration file is to a checked file the more it matters. Configuration files no longer support explain, source, debug, verbose or count. Bug Fixes - On Python 2.x, D302 ("Use u""" for Unicode docstrings") is not reported if unicode_literals is imported from __future__. - Fixed a bug where there was no executable for pep257 on Windows.
2015-10-10 12:59:45 +02:00
commands = {envpython} -m pep257 scripts tests qutebrowser --ignore=D102,D103,D104,D105,D209,D211,D402 '--match=(?!resources|test_*).*\.py'
[testenv:pyflakes]
basepython = python3
# https://github.com/fschulze/pytest-flakes/issues/6
setenv = LANG=en_US.UTF-8
passenv =
deps =
-r{toxinidir}/requirements.txt
apipkg==1.4
execnet==1.4.1
2015-06-26 22:41:30 +02:00
py==1.4.30
pyflakes==1.0.0
pytest==2.8.2
pytest-cache==1.0
pytest-flakes==1.0.1
commands =
{envpython} -m py.test -q --flakes --ignore=tests --noconftest
[testenv:pep8]
basepython = python3
passenv =
deps =
-r{toxinidir}/requirements.txt
apipkg==1.4
execnet==1.4.1
pep8==1.6.2
2015-06-26 22:41:30 +02:00
py==1.4.30
2015-10-07 18:14:35 +02:00
pytest==2.8.2
pytest-cache==1.0
pytest-pep8==1.0.6
commands =
{envpython} -m py.test -q --pep8 --ignore=tests --noconftest
[testenv:mccabe]
basepython = python3
passenv =
deps =
-r{toxinidir}/requirements.txt
apipkg==1.4
execnet==1.4.1
mccabe==0.3.1
2015-06-26 22:41:30 +02:00
py==1.4.30
2015-10-07 18:14:35 +02:00
pytest==2.8.2
pytest-cache==1.0
pytest-mccabe==0.1
commands =
{envpython} -m py.test -q --mccabe --ignore=tests --noconftest
[testenv:pyroma]
basepython = python3
skip_install = true
passenv =
deps =
pyroma==1.8.3
docutils==0.12
commands =
{envdir}/bin/pyroma .
[testenv:check-manifest]
basepython = python3
skip_install = true
passenv =
deps =
check-manifest==0.27
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]
basepython = python3
skip_install = true
whitelist_externals = git
passenv =
2015-03-26 09:18:21 +01:00
deps =
-r{toxinidir}/requirements.txt
2015-03-26 09:18:21 +01:00
commands =
{envpython} scripts/link_pyqt.py --tox {envdir}
2015-06-28 23:04:18 +02:00
{envpython} scripts/dev/src2asciidoc.py
git --no-pager diff --exit-code --stat
2015-03-26 09:18:21 +01:00
{envpython} scripts/asciidoc2html.py {posargs}
[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
deps =
-r{toxinidir}/requirements.txt
cx_Freeze==4.3.4
commands =
{envpython} scripts/link_pyqt.py --tox {envdir}
{envpython} scripts/dev/freeze.py {posargs}
[testenv:eslint]
skip_install = True
deps =
whitelist_externals = eslint
commands = eslint qutebrowser