qutebrowser/tox.ini

190 lines
6.2 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 = py36-pyqt59-cov,misc,vulture,flake8,pylint,pyroma,check-manifest,eslint
distshare = {toxworkdir}
skipsdist = true
[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
2018-01-24 06:17:09 +01:00
pyqt{,56,571,58,59,510}: LINK_PYQT_SKIP=true
pyqt{,56,571,58,59,510}: QUTE_BDD_WEBENGINE=true
cov: PYTEST_ADDOPTS=--cov --cov-report xml --cov-report=html --cov-report=
passenv = PYTHON DISPLAY XAUTHORITY HOME USERNAME USER CI TRAVIS XDG_* QUTE_* DOCKER
basepython =
py35: python3.5
py36: python3.6
2015-03-30 22:09:56 +02:00
deps =
-r{toxinidir}/requirements.txt
-r{toxinidir}/misc/requirements/requirements-tests.txt
pyqt: -r{toxinidir}/misc/requirements/requirements-pyqt.txt
pyqt571: PyQt5==5.7.1
pyqt58: PyQt5==5.8.2
pyqt59: PyQt5==5.9.2
2018-01-24 06:17:09 +01:00
pyqt510: PyQt5==5.10
commands =
{envpython} scripts/link_pyqt.py --tox {envdir}
2017-03-18 21:08:07 +01:00
{envpython} -bb -m pytest {posargs:tests}
cov: {envpython} scripts/dev/check_coverage.py {posargs}
# other envs
[testenv:mkvenv]
basepython = {env:PYTHON: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}
# Virtualenv with PyQt5 from PyPI
[testenv:mkvenv-pypi]
basepython = {env:PYTHON:python3}
envdir = {toxinidir}/.venv
commands = {envpython} -c ""
usedevelop = true
deps =
-r{toxinidir}/requirements.txt
-r{toxinidir}/misc/requirements/requirements-pyqt.txt
[testenv:misc]
ignore_errors = true
basepython = {env:PYTHON:python3}
# For global .gitignore files
passenv = HOME
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 = {env:PYTHON:python3}
2016-07-29 08:51:23 +02:00
deps =
-r{toxinidir}/requirements.txt
2016-07-29 08:51:23 +02:00
-r{toxinidir}/misc/requirements/requirements-vulture.txt
2017-09-10 01:44:53 +02:00
-r{toxinidir}/misc/requirements/requirements-pyqt.txt
setenv = PYTHONPATH={toxinidir}
2015-10-05 23:27:19 +02:00
commands =
{envpython} scripts/dev/run_vulture.py
[testenv:vulture-pyqtlink]
basepython = {env:PYTHON:python3}
deps =
-r{toxinidir}/requirements.txt
-r{toxinidir}/misc/requirements/requirements-vulture.txt
setenv = PYTHONPATH={toxinidir}
commands =
{envpython} scripts/link_pyqt.py --tox {envdir}
{[testenv:vulture]commands}
[testenv:pylint]
2017-05-17 13:48:31 +02:00
basepython = {env:PYTHON:python3}
ignore_errors = true
passenv =
deps =
-r{toxinidir}/requirements.txt
-r{toxinidir}/misc/requirements/requirements-tests.txt
-r{toxinidir}/misc/requirements/requirements-pylint.txt
-r{toxinidir}/misc/requirements/requirements-pyqt.txt
commands =
{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}
2015-10-26 18:51:41 +01:00
[testenv:pylint-pyqtlink]
basepython = {env:PYTHON:python3}
ignore_errors = true
passenv =
deps =
-r{toxinidir}/requirements.txt
-r{toxinidir}/misc/requirements/requirements-tests.txt
-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 = {env:PYTHON:python3}
passenv = {[testenv:pylint]passenv}
2015-10-26 18:51:41 +01:00
deps =
-r{toxinidir}/requirements.txt
-r{toxinidir}/misc/requirements/requirements-tests.txt
-r{toxinidir}/misc/requirements/requirements-pylint-master.txt
2015-10-26 18:51:41 +01:00
commands =
{envpython} scripts/link_pyqt.py --tox {envdir}
2016-03-09 21:20:52 +01:00
{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}
2016-01-21 18:11:31 +01:00
[testenv:flake8]
basepython = {env:PYTHON:python3}
passenv =
deps =
-r{toxinidir}/requirements.txt
-r{toxinidir}/misc/requirements/requirements-flake8.txt
commands =
{envpython} -m flake8 {posargs:qutebrowser tests scripts}
[testenv:pyroma]
basepython = {env:PYTHON:python3}
passenv =
deps =
-r{toxinidir}/misc/requirements/requirements-pyroma.txt
commands =
{envdir}/bin/pyroma .
[testenv:check-manifest]
basepython = {env:PYTHON: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__'
2015-03-26 09:18:21 +01:00
[testenv:docs]
basepython = {env:PYTHON:python3}
whitelist_externals = git
passenv = TRAVIS TRAVIS_PULL_REQUEST
2015-03-26 09:18:21 +01:00
deps =
-r{toxinidir}/requirements.txt
2017-09-10 01:44:53 +02:00
-r{toxinidir}/misc/requirements/requirements-pyqt.txt
2015-03-26 09:18:21 +01:00
commands =
{envpython} scripts/dev/src2asciidoc.py {posargs}
{envpython} scripts/dev/check_doc_changes.py {posargs}
2015-03-26 09:18:21 +01:00
{envpython} scripts/asciidoc2html.py {posargs}
2016-03-26 19:54:07 +01:00
[testenv:pyinstaller]
# WORKAROUND for https://github.com/tox-dev/tox/issues/503
install_command = pip install --exists-action w {opts} {packages}
basepython = {env:PYTHON:python3}
passenv = APPDATA HOME
2016-03-26 19:54:07 +01:00
deps =
-r{toxinidir}/requirements.txt
-r{toxinidir}/misc/requirements/requirements-pyinstaller.txt
-r{toxinidir}/misc/requirements/requirements-pyqt.txt
2016-03-26 19:54:07 +01:00
commands =
{envbindir}/pyinstaller --noconfirm misc/qutebrowser.spec
[testenv:eslint]
# This is duplicated in travis_run.sh for Travis CI because we can't get tox in
# the JavaScript environment easily.
basepython = python3
deps =
whitelist_externals = eslint
changedir = {toxinidir}/qutebrowser/javascript
2017-09-29 22:29:18 +02:00
commands = eslint --color --report-unused-disable-directives .