qutebrowser/tox.ini

230 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]
envlist = py34,py35-cov,misc,vulture,pydocstyle,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.1
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.7
pytest-bdd==2.16.0
pytest-catchlog==1.2.2
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.10.1
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 {posargs:tests}
[testenv:py35-cov]
basepython = python3.5
setenv = {[testenv]setenv}
passenv = {[testenv]passenv}
deps = {[testenv]deps}
commands =
{envpython} scripts/link_pyqt.py --tox {envdir}
{envpython} -m py.test --cov --cov-report xml --cov-report=html --cov-report= {posargs:tests}
{envpython} scripts/dev/check_coverage.py {posargs}
[testenv:py34-cov]
basepython = python3.4
setenv = {[testenv]setenv}
passenv = {[testenv]passenv}
deps = {[testenv]deps}
commands =
{envpython} scripts/link_pyqt.py --tox {envdir}
{envpython} -m py.test --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 {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 {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:pydocstyle]
basepython = python3
skip_install = true
2015-06-10 18:33:15 +02:00
passenv = PYTHON LANG
deps = pydocstyle==1.0.0
2016-01-30 23:30:12 +01:00
commands = {envpython} -m pydocstyle scripts tests qutebrowser
2016-01-21 18:11:31 +01:00
[testenv:flake8]
basepython = python3
passenv =
deps =
-r{toxinidir}/requirements.txt
flake8==2.5.2
flake8-debugger==1.4.0
pep8-naming==0.3.3
flake8-putty==0.2.0
ebb-lint==0.4.4
flake8-copyright==0.1
mccabe==0.4.0
2016-01-21 18:11:31 +01:00
pep8==1.7.0
pyflakes==1.0.0
flake8-string-format==0.2.1
flake8-deprecated==0.2
2016-01-22 19:17:55 +01:00
flake8-mock==0.2
flake8-pep3101==0.2
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.31
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