qutebrowser/tox.ini

226 lines
5.9 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,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.9
2015-11-02 07:47:48 +01:00
Flask==0.10.1
glob2==0.4.1
httpbin==0.4.1
hypothesis==3.1.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
tox: Update pytest to 2.9.0. New Features - New pytest.mark.skip mark, which unconditionally skips marked tests. - --doctest-glob may now be passed multiple times in the command-line. - New -rp and -rP reporting options give the summary and full output of passing tests, respectively. - pytest.mark.xfail now has a strict option which makes XPASS tests to fail the test suite, defaulting to False. There’s also a xfail_strict ini option that can be used to configure it project-wise. - Parser.addini now supports options of type bool. - New ALLOW_BYTES doctest option strips b prefixes from byte strings in doctest output (similar to ALLOW_UNICODE). - give a hint on KeyboardInterrupt to use the –fulltrace option to show the errors - catch IndexError exceptions when getting exception source location. This fixes pytest internal error for dynamically generated code (fixtures and tests) where source lines are fake by intention Changes - Important: py.code has been merged into the pytest repository as pytest._code. This decision was made because py.code had very few uses outside pytest and the fact that it was in a different repository made it difficult to fix bugs on its code in a timely manner. The team hopes with this to be able to better refactor out and improve that code. This change shouldn’t affect users, but it is useful to let users aware if they encounter any strange behavior. Keep in mind that the code for pytest._code is private and experimental, so you definitely should not import it explicitly! Please note that the original py.code is still available in pylib. - pytest_enter_pdb now optionally receives the pytest config object. - Removed code and documentation for Python 2.5 or lower versions, including removal of the obsolete _pytest.assertion.oldinterpret module. - Comparisons now always show up in full when CI or BUILD_NUMBER is found in the environment, even when -vv isn’t used. - --lf and --ff now support long names: --last-failed and --failed-first respectively. - Added expected exceptions to pytest.raises fail message - Collection only displays progress (“collecting X items”) when in a terminal. This avoids cluttering the output when using --color=yes to obtain colors in CI integrations systems Bug Fixes - The -s and -c options should now work under xdist; Config.fromdictargs now represents its input much more faithfully. - support Python 3.5’s @ operator in assertion rewriting. - Fix formatting utf-8 explanation messages. - Fix traceback style docs to describe all of the available options (auto/long/short/line/native/no), with auto being the default since v2.6. - junit record_xml_property doesn’t allow multiple records with same name.
2016-03-02 07:08:04 +01:00
pytest==2.9.0
pytest-bdd==2.16.0
pytest-catchlog==1.2.2
pytest-cov==2.2.1
pytest-faulthandler==1.3.0
pytest-html==1.8.0
pytest-mock==0.11.0
pytest-qt==1.11.0
pytest-instafail==0.3.0
pytest-travis-fold==1.2.0
pytest-repeat==0.2
pytest-rerunfailures==1.0.1
pytest-xvfb==0.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
Werkzeug==0.11.4
wheel==0.29.0
cherrypy==5.0.1
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
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
./scripts/dev/pylint_checkers
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
passenv = {[testenv:pylint]passenv}
2015-10-26 18:51:41 +01:00
deps =
{[testenv]deps}
{[testenv:misc]deps}
2016-03-09 21:19:40 +01:00
git+https://github.com/PyCQA/astroid.git
git+https://github.com/PyCQA/pylint.git
requests==2.9.1
./scripts/dev/pylint_checkers
2015-10-26 18:51:41 +01:00
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
2016-01-21 18:11:31 +01:00
[testenv:flake8]
basepython = python3
passenv =
deps =
-r{toxinidir}/requirements.txt
flake8==2.5.4
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
2016-03-02 08:18:37 +01:00
pyflakes==1.1.0
flake8-string-format==0.2.1
flake8-deprecated==1.0
2016-01-22 19:17:55 +01:00
flake8-mock==0.2
flake8-pep3101==0.3
flake8-docstrings==0.2.5
pep257==0.7.0 # still needed by flake8-docstrings but ignored
pydocstyle==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==2.0.2
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