8211183567
test_caret.py crashes on Travis with this stack: ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so QSGBatchRenderer::Renderer::renderBatches() () from .../site-packages/PyQt5/Qt/lib/libQt5Quick.so.5 QSGBatchRenderer::Renderer::render() () from .../site-packages/PyQt5/Qt/lib/libQt5Quick.so.5 QSGRenderer::renderScene(QSGBindable const&) () from .../site-packages/PyQt5/Qt/lib/libQt5Quick.so.5 QSGRenderer::renderScene(unsigned int) () from .../site-packages/PyQt5/Qt/lib/libQt5Quick.so.5 QSGDefaultRenderContext::renderNextFrame(QSGRenderer*, unsigned int) () from .../site-packages/PyQt5/Qt/lib/libQt5Quick.so.5 QQuickWindowPrivate::renderSceneGraph(QSize const&) () from .../site-packages/PyQt5/Qt/lib/libQt5Quick.so.5 QQuickRenderControl::render() () from .../site-packages/PyQt5/Qt/lib/libQt5Quick.so.5 ?? () from .../site-packages/PyQt5/Qt/lib/libQt5QuickWidgets.so.5 ?? () from .../site-packages/PyQt5/Qt/lib/libQt5QuickWidgets.so.5 QObject::event(QEvent*) () from .../site-packages/PyQt5/Qt/lib/libQt5Core.so.5 QWidget::event(QEvent*) () from .../site-packages/PyQt5/Qt/lib/libQt5Widgets.so.5 QQuickWidget::event(QEvent*) () from .../site-packages/PyQt5/Qt/lib/libQt5QuickWidgets.so.5 ?? () from .../site-packages/PyQt5/Qt/lib/libQt5WebEngineWidgets.so.5 QApplicationPrivate::notify_helper(QObject*, QEvent*) () from .../site-packages/PyQt5/Qt/lib/libQt5Widgets.so.5 QApplication::notify(QObject*, QEvent*) () from .../site-packages/PyQt5/Qt/lib/libQt5Widgets.so.5 sipQApplication::notify(QObject*, QEvent*) () from .../site-packages/PyQt5/QtWidgets.so QCoreApplication::notifyInternal2(QObject*, QEvent*) () from .../site-packages/PyQt5/Qt/lib/libQt5Core.so.5 QTimerInfoList::activateTimers() () from .../site-packages/PyQt5/Qt/lib/libQt5Core.so.5 ?? () from .../site-packages/PyQt5/Qt/lib/libQt5Core.so.5 g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from .../site-packages/PyQt5/Qt/lib/libQt5Core.so.5 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from .../site-packages/PyQt5/Qt/lib/libQt5Core.so.5
204 lines
6.6 KiB
INI
204 lines
6.6 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 = py36-pyqt511-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
|
|
setenv =
|
|
QT_QPA_PLATFORM_PLUGIN_PATH={envdir}/Lib/site-packages/PyQt5/plugins/platforms
|
|
PYTEST_QT_API=pyqt5
|
|
pyqt{,56,571,59,510,511}: LINK_PYQT_SKIP=true
|
|
pyqt{,56,571,59,510,511}: 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 QT_QUICK_BACKEND
|
|
basepython =
|
|
py35: {env:PYTHON:python3.5}
|
|
py36: {env:PYTHON:python3.6}
|
|
py37: {env:PYTHON:python3.7}
|
|
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
|
|
pyqt59: PyQt5==5.9.2
|
|
pyqt510: PyQt5==5.10.1
|
|
pyqt511: PyQt5==5.11.2
|
|
commands =
|
|
{envpython} scripts/link_pyqt.py --tox {envdir}
|
|
{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
|
|
|
|
# Older PyQt for Python 3.5
|
|
# 5.11.2: https://www.riverbankcomputing.com/pipermail/pyqt/2018-July/040511.html
|
|
# 5.10.1: https://github.com/qutebrowser/qutebrowser/issues/3662
|
|
[testenv:mkvenv-pypi-old]
|
|
basepython = {env:PYTHON:python3.5}
|
|
envdir = {toxinidir}/.venv
|
|
commands = {envpython} -c ""
|
|
usedevelop = true
|
|
deps =
|
|
-r{toxinidir}/requirements.txt
|
|
PyQt5==5.10
|
|
sip==4.19.8
|
|
|
|
[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
|
|
|
|
[testenv:vulture]
|
|
basepython = {env:PYTHON:python3}
|
|
deps =
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/misc/requirements/requirements-vulture.txt
|
|
-r{toxinidir}/misc/requirements/requirements-pyqt.txt
|
|
setenv = PYTHONPATH={toxinidir}
|
|
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]
|
|
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}
|
|
|
|
[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}
|
|
deps =
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/misc/requirements/requirements-tests.txt
|
|
-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 = {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__'
|
|
|
|
[testenv:docs]
|
|
basepython = {env:PYTHON:python3}
|
|
whitelist_externals = git
|
|
passenv = TRAVIS TRAVIS_PULL_REQUEST
|
|
deps =
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/misc/requirements/requirements-pyqt.txt
|
|
commands =
|
|
{envpython} scripts/dev/src2asciidoc.py {posargs}
|
|
{envpython} scripts/dev/check_doc_changes.py {posargs}
|
|
{envpython} scripts/asciidoc2html.py {posargs}
|
|
|
|
[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
|
|
deps =
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/misc/requirements/requirements-pyinstaller.txt
|
|
-r{toxinidir}/misc/requirements/requirements-pyqt.txt
|
|
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
|
|
commands = eslint --color --report-unused-disable-directives .
|