qutebrowser/tox.ini

214 lines
6.0 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]
2016-01-21 18:11:31 +01:00
envlist = py34,py35,misc,vulture,pep257,flake8,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.3
decorator==4.0.6
2015-11-02 07:47:48 +01:00
Flask==0.10.1
glob2==0.4.1
httpbin==0.4.0
tox: Update hypothesis to 2.0.0. 2.0.0 - 2016-01-10 ------------------ Codename: A new beginning This release cleans up all of the legacy that accrued in the course of Hypothesis 1.0. These are mostly things that were emitting deprecation warnings in 1.19.0, but there were a few additional changes. In particular: - non-strategy values will no longer be converted to strategies when used in given or find. - FailedHealthCheck is now an error and not a warning. - Handling of non-ascii reprs in user types have been simplified by using raw strings in more places in Python 2. - given no longer allows mixing positional and keyword arguments. - given no longer works with functions with defaults. - given no longer turns provided arguments into defaults - they will not appear in the argspec at all. - the basic() strategy no longer exists. - the n_ary_tree strategy no longer exists. - the average_list_length setting no longer exists. Note: If you're using using recursive() this will cause you a significant slow down. You should pass explicit average_size parameters to collections in recursive calls. - @rule can no longer be applied to the same method twice. - Python 2.6 and 3.3 are no longer officially supported, although in practice they still work fine. This also includes two non-deprecation changes: - given's keyword arguments no longer have to be the rightmost arguments and can appear anywhere in the method signature. - The max_shrinks setting would sometimes not have been respected. 1.19.0 - 2016-01-09 ------------------- Codename: IT COMES This release heralds the beginning of a new and terrible age of Hypothesis 2.0. It's primary purpose is some final deprecations prior to said release. The goal is that if your code emits no warnings under this release then it will probably run unchanged under Hypothesis 2.0 (there are some caveats to this: 2.0 will drop support for some Python versions, and if you're using internal APIs then as usual that may break without warning). It does have two new features: - New @seed() decorator which allows you to manually seed a test. This may be harmlessly combined with and overrides the derandomize setting. - settings objects may now be used as a decorator to fix those settings to a particular @given test. API changes (old usage still works but is deprecated): - Settings has been renamed to settings (lower casing) in order to make the decorator usage more natural. - Functions for the storage directory that were in hypothesis.settings are now in a new hypothesis.configuration module. Additional deprecations: - the average_list_length setting has been deprecated in favour of being explicit. - the basic() strategy has been deprecated as it is impossible to support it under a Conjecture based model, which will hopefully be implemented at some point in the 2.x series. - the n_ary_tree strategy (which was never actually part of the public API) has been deprecated. - Passing settings or random as keyword arguments to given is deprecated (use the new functionality instead) Bug fixes: - No longer emit PendingDeprecationWarning for __iter__ and StopIteration in streaming() values. - When running in health check mode with non strict, don't print quite so many errors for an exception in reify. - When an assumption made in a test or a filter is flaky, tests will now raise Flaky instead of UnsatisfiedAssumption.
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
pytest==2.8.5
pytest-bdd==2.16.0
pytest-catchlog==1.2.1
2015-11-02 07:47:48 +01:00
pytest-cov==2.2.0
pytest-faulthandler==1.3.0
2015-11-02 07:47:48 +01:00
pytest-html==1.7
pytest-mock==0.9.0
pytest-qt==1.11.0
pytest-instafail==0.3.0
pytest-travis-fold==1.2.0
pytest-repeat==0.2
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
Werkzeug==0.11.3
2015-11-02 07:47:48 +01:00
wheel==0.26.0
xvfbwrapper==0.2.7
cherrypy==4.0.0
commands =
{envpython} scripts/link_pyqt.py --tox {envdir}
{envpython} -m py.test --strict -rfEsw --faulthandler-timeout=70 --instafail --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
deps =
-r{toxinidir}/requirements.txt
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=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]
ignore_errors = true
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
ignore_errors = true
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.4.4
pylint==1.5.4
requests==2.9.1
commands =
{envpython} scripts/link_pyqt.py --tox {envdir}
{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
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}
{envpython} -m pylint scripts qutebrowser --output-format=colorized --reports=no
{envpython} scripts/dev/run_pylint_on_tests.py --output-format=colorized --reports=no
[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'
2016-01-21 18:11:31 +01:00
[testenv:flake8]
basepython = python3
passenv =
deps =
-r{toxinidir}/requirements.txt
2016-01-21 18:11:31 +01:00
flake8==2.5.1
flake8-debugger==1.4.0
pep8-naming==0.3.3
flake8-putty==0.2.0
mccabe==0.3.1
2016-01-21 18:11:31 +01:00
pep8==1.7.0
pyflakes==1.0.0
commands =
2016-01-21 18:11:31 +01:00
{envpython} -m flake8
[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.30
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