2a2c49f507
Since our tests don't actually run against the installed package, no point in waiting for an sdist to be built.
179 lines
5.8 KiB
INI
179 lines
5.8 KiB
INI
# 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
|
|
distshare = {toxworkdir}
|
|
skipsdist = true
|
|
|
|
[testenv]
|
|
# https://bitbucket.org/hpk42/tox/issue/246/ - only needed for Windows though
|
|
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_*
|
|
deps =
|
|
-r{toxinidir}/misc/requirements/requirements-pip.txt
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/misc/requirements/requirements-tests.txt
|
|
commands =
|
|
{envpython} scripts/link_pyqt.py --tox {envdir}
|
|
{envpython} scripts/dev/run_pytest.py {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} scripts/dev/run_pytest.py --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} scripts/dev/run_pytest.py --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
|
|
|
|
# This is undocumented, but it's a common typo, so let's make it work
|
|
[testenv:mkenv]
|
|
basepython = {[testenv:mkvenv]basepython}
|
|
commands = {[testenv:mkvenv]commands}
|
|
envdir = {[testenv:mkvenv]envdir}
|
|
usedevelop = {[testenv:mkvenv]usedevelop}
|
|
deps = {[testenv:mkvenv]deps}
|
|
|
|
[testenv:unittests-frozen]
|
|
# cx_Freeze doesn't support Python 3.5 yet
|
|
basepython = python3.4
|
|
passenv = {[testenv]passenv}
|
|
deps =
|
|
{[testenv]deps}
|
|
-r{toxinidir}/misc/requirements/requirements-cxfreeze.txt
|
|
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}
|
|
|
|
[testenv:misc]
|
|
ignore_errors = true
|
|
basepython = python3
|
|
# For global .gitignore files
|
|
passenv = HOME
|
|
deps = -r{toxinidir}/misc/requirements/requirements-pip.txt
|
|
commands =
|
|
{envpython} scripts/dev/misc_checks.py git
|
|
{envpython} scripts/dev/misc_checks.py vcs
|
|
{envpython} scripts/dev/misc_checks.py spelling
|
|
|
|
[testenv:vulture]
|
|
basepython = python3
|
|
deps =
|
|
-r{toxinidir}/misc/requirements/requirements-pip.txt
|
|
-r{toxinidir}/misc/requirements/requirements-vulture.txt
|
|
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}
|
|
-r{toxinidir}/misc/requirements/requirements-pylint.txt
|
|
commands =
|
|
{envpython} scripts/link_pyqt.py --tox {envdir}
|
|
{envpython} -m pylint scripts qutebrowser --output-format=colorized --reports=no {posargs}
|
|
{envpython} scripts/dev/run_pylint_on_tests.py {toxinidir} --output-format=colorized --reports=no {posargs}
|
|
|
|
[testenv:pylint-master]
|
|
basepython = python3
|
|
passenv = {[testenv:pylint]passenv}
|
|
deps =
|
|
{[testenv]deps}
|
|
-r{toxinidir}/misc/requirements/requirements-pylint-master.txt
|
|
commands =
|
|
{envpython} scripts/link_pyqt.py --tox {envdir}
|
|
{envpython} -m pylint scripts qutebrowser --output-format=colorized --reports=no {posargs}
|
|
{envpython} scripts/dev/run_pylint_on_tests.py --output-format=colorized --reports=no {posargs}
|
|
|
|
[testenv:flake8]
|
|
basepython = python3
|
|
passenv =
|
|
deps =
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/misc/requirements/requirements-flake8.txt
|
|
commands =
|
|
{envpython} -m flake8
|
|
|
|
[testenv:pyroma]
|
|
basepython = python3
|
|
passenv =
|
|
deps = -r{toxinidir}/misc/requirements/requirements-pyroma.txt
|
|
commands =
|
|
{envdir}/bin/pyroma .
|
|
|
|
[testenv:check-manifest]
|
|
basepython = python3
|
|
passenv =
|
|
deps = -r{toxinidir}/misc/requirements/requirements-check-manifest.txt
|
|
commands =
|
|
{envdir}/bin/check-manifest --ignore 'qutebrowser/git-commit-id,qutebrowser/html/doc,qutebrowser/html/doc/*,*/__pycache__'
|
|
|
|
[testenv:docs]
|
|
basepython = python3
|
|
whitelist_externals = git
|
|
passenv = TRAVIS_PULL_REQUEST
|
|
deps =
|
|
-r{toxinidir}/misc/requirements/requirements-pip.txt
|
|
-r{toxinidir}/requirements.txt
|
|
commands =
|
|
{envpython} scripts/link_pyqt.py --tox {envdir}
|
|
{envpython} scripts/dev/src2asciidoc.py {posargs}
|
|
{envpython} scripts/dev/check_doc_changes.py {posargs}
|
|
{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
|
|
deps =
|
|
-r{toxinidir}/misc/requirements/requirements-pip.txt
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/misc/requirements/requirements-cxfreeze.txt
|
|
commands =
|
|
{envpython} -m pip install -U setuptools
|
|
{envpython} scripts/link_pyqt.py --tox {envdir}
|
|
{envpython} scripts/dev/freeze.py {posargs}
|
|
|
|
[testenv:pyinstaller]
|
|
basepython = python3
|
|
deps =
|
|
-r{toxinidir}/misc/requirements/requirements-pip.txt
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/misc/requirements/requirements-pyinstaller.txt
|
|
commands =
|
|
{envpython} scripts/link_pyqt.py --tox {envdir}
|
|
{envbindir}/pyinstaller --noconfirm misc/qutebrowser.spec
|
|
|
|
[testenv:eslint]
|
|
deps = -r{toxinidir}/misc/requirements/requirements-pip.txt
|
|
whitelist_externals = eslint
|
|
commands = eslint --color qutebrowser/javascript
|