summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/end2end/test_invocations.py4
-rw-r--r--tests/helpers/fixtures.py19
-rw-r--r--tests/helpers/testutils.py11
-rw-r--r--tests/unit/browser/test_history.py15
-rw-r--r--tests/unit/browser/webengine/test_webengine_cookies.py6
-rw-r--r--tests/unit/browser/webengine/test_webenginedownloads.py6
-rw-r--r--tests/unit/browser/webengine/test_webengineinterceptor.py6
-rw-r--r--tests/unit/browser/webengine/test_webenginesettings.py3
-rw-r--r--tests/unit/browser/webengine/test_webenginetab.py11
-rw-r--r--tests/unit/browser/webkit/test_mhtml.py5
-rw-r--r--tests/unit/browser/webkit/test_tabhistory.py5
-rw-r--r--tests/unit/browser/webkit/test_webkitelem.py4
-rw-r--r--tests/unit/browser/webkit/test_webkitsettings.py5
-rw-r--r--tests/unit/browser/webkit/test_webview.py4
-rw-r--r--tests/unit/completion/test_models.py3
-rw-r--r--tests/unit/config/test_qtargs.py2
-rw-r--r--tests/unit/config/test_qtargs_locale_workaround.py3
-rw-r--r--tests/unit/config/test_websettings.py3
-rw-r--r--tests/unit/javascript/position_caret/test_position_caret.py6
-rw-r--r--tests/unit/javascript/stylesheet/test_stylesheet_js.py7
-rw-r--r--tests/unit/misc/test_elf.py3
-rw-r--r--tests/unit/misc/test_sessions.py6
-rw-r--r--tests/unit/utils/test_debug.py3
-rw-r--r--tests/unit/utils/test_version.py5
24 files changed, 89 insertions, 56 deletions
diff --git a/tests/end2end/test_invocations.py b/tests/end2end/test_invocations.py
index 43cd6995f..baaff6e06 100644
--- a/tests/end2end/test_invocations.py
+++ b/tests/end2end/test_invocations.py
@@ -790,11 +790,11 @@ def test_unavailable_backend(request, quteproc_new):
qtwk_module = "PyQt5.QtWebKitWidgets"
# Note we want to try the *opposite* backend here.
if request.config.webengine:
- pytest.importorskip(qtwe_module)
+ testutils.importorskip_ifnull(qtwe_module)
module = qtwk_module
backend = 'webkit'
else:
- pytest.importorskip(qtwk_module)
+ testutils.importorskip_ifnull(qtwk_module)
module = qtwe_module
backend = 'webengine'
diff --git a/tests/helpers/fixtures.py b/tests/helpers/fixtures.py
index 5225577fe..8a78f5cea 100644
--- a/tests/helpers/fixtures.py
+++ b/tests/helpers/fixtures.py
@@ -41,6 +41,7 @@ from qutebrowser.qt import QtWidgets, QtWebEngineWidgets, QtNetwork
import helpers.stubs as stubsmod
import qutebrowser
+from helpers import testutils
from qutebrowser.config import (config, configdata, configtypes, configexc,
configfiles, configcache, stylesheet)
from qutebrowser.api import config as configapi
@@ -211,7 +212,7 @@ def web_tab_setup(qtbot, tab_registry, session_manager_stub,
@pytest.fixture
def webkit_tab(web_tab_setup, qtbot, cookiejar_and_cache, mode_manager,
widget_container, download_stub, webpage, monkeypatch):
- webkittab = pytest.importorskip('qutebrowser.browser.webkit.webkittab')
+ webkittab = testutils.importorskip_ifnull('qutebrowser.qt.QtWebPage')
monkeypatch.setattr(objects, 'backend', usertypes.Backend.QtWebKit)
@@ -236,8 +237,8 @@ def webengine_tab(web_tab_setup, qtbot, redirect_webengine_data,
tabwidget.current_index = 0
tabwidget.index_of = 0
- webenginetab = pytest.importorskip(
- 'qutebrowser.browser.webengine.webenginetab')
+ webenginetab = testutils.importorskip_ifnull(
+ 'qutebrowser.qt.QtWebEngine')
tab = webenginetab.WebEngineTab(win_id=0, mode_manager=mode_manager,
private=False)
@@ -263,10 +264,10 @@ def webengine_tab(web_tab_setup, qtbot, redirect_webengine_data,
def web_tab(request):
"""A WebKitTab/WebEngineTab."""
if request.param == 'webkit':
- pytest.importorskip('qutebrowser.browser.webkit.webkittab')
+ testutils.importorskip_ifnull('qutebrowser.qt.QtWebKit')
return request.getfixturevalue('webkit_tab')
elif request.param == 'webengine':
- pytest.importorskip('qutebrowser.browser.webengine.webenginetab')
+ testutils.importorskip_ifnull('qutebrowser.qt.QtWebWngine')
return request.getfixturevalue('webengine_tab')
else:
raise utils.Unreachable
@@ -437,7 +438,7 @@ def qnam(qapp):
@pytest.fixture
def webengineview(qtbot, monkeypatch, web_tab_setup):
"""Get a QWebEngineView if QtWebEngine is available."""
- QtWebEngineWidgets = pytest.importorskip('PyQt5.QtWebEngineWidgets')
+ QtWebEngineWidgets = testutils.importorskip_ifnull('PyQt5.QtWebEngineWidgets')
monkeypatch.setattr(objects, 'backend', usertypes.Backend.QtWebEngine)
view = QtWebEngineWidgets.QWebEngineView()
qtbot.add_widget(view)
@@ -448,7 +449,7 @@ def webengineview(qtbot, monkeypatch, web_tab_setup):
@pytest.fixture
def webpage(qnam, monkeypatch):
"""Get a new QWebPage object."""
- QtWebKitWidgets = pytest.importorskip('PyQt5.QtWebKitWidgets')
+ QtWebKitWidgets = testutils.importorskip_ifnull('PyQt5.QtWebKitWidgets')
monkeypatch.setattr(objects, 'backend', usertypes.Backend.QtWebKit)
class WebPageStub(QtWebKitWidgets.QWebPage):
@@ -473,7 +474,7 @@ def webpage(qnam, monkeypatch):
@pytest.fixture
def webview(qtbot, webpage):
"""Get a new QWebView object."""
- QtWebKitWidgets = pytest.importorskip('PyQt5.QtWebKitWidgets')
+ QtWebKitWidgets = testutils.importorskip_ifnull('PyQt5.QtWebKitWidgets')
view = QtWebKitWidgets.QWebView()
qtbot.add_widget(view)
@@ -730,7 +731,7 @@ def webengine_versions(testdata_scheme):
Calling qtwebengine_versions() initializes QtWebEngine, so we depend on
testdata_scheme here, to make sure that happens before.
"""
- pytest.importorskip('PyQt5.QtWebEngineWidgets')
+ testutils.importorskip_ifnull('PyQt5.QtWebEngineWidgets')
return version.qtwebengine_versions()
diff --git a/tests/helpers/testutils.py b/tests/helpers/testutils.py
index 40031a433..d5b9aa60e 100644
--- a/tests/helpers/testutils.py
+++ b/tests/helpers/testutils.py
@@ -28,6 +28,7 @@ import contextlib
import pathlib
import importlib.util
import importlib.machinery
+from typing import Optional, Any
import pytest
@@ -308,3 +309,13 @@ def import_userscript(name):
module = importlib.util.module_from_spec(spec)
spec.loader.exec_module(module)
return module
+
+
+def importorskip_ifnull(
+ modname: str, minversion: Optional[str] = None, reason: Optional[str] = None
+) -> Any:
+ """Wraps pytest.importorskip and also skips if the target is None."""
+ result = pytest.importorskip(modname, minversion, reason)
+ if result is None:
+ raise pytest.Skipped
+ return result
diff --git a/tests/unit/browser/test_history.py b/tests/unit/browser/test_history.py
index e41998b3c..5314672d8 100644
--- a/tests/unit/browser/test_history.py
+++ b/tests/unit/browser/test_history.py
@@ -24,6 +24,7 @@ import logging
import pytest
from qutebrowser.qt import QtWebKit, QtCore
+from helpers import testutils
from qutebrowser.browser import history
from qutebrowser.utils import urlutils, usertypes
from qutebrowser.api import cmdutils
@@ -276,7 +277,7 @@ class TestHistoryInterface:
@pytest.fixture
def hist_interface(self, web_history):
# pylint: disable=invalid-name
- QtWebKit = pytest.importorskip('PyQt5.QtWebKit')
+ QtWebKit = testutils.importorskip_ifnull('PyQt5.QtWebKit')
from qutebrowser.browser.webkit import webkithistory
QWebHistoryInterface = QtWebKit.QWebHistoryInterface
# pylint: enable=invalid-name
@@ -303,16 +304,14 @@ class TestInit:
if history.web_history is not None:
history.web_history.setParent(None)
history.web_history = None
- try:
+ if QtWebKit and QtWebKit.QWebHistoryInterface:
QtWebKit.QWebHistoryInterface.setDefaultInterface(None)
- except ImportError:
- pass
@pytest.mark.parametrize('backend', [usertypes.Backend.QtWebEngine,
usertypes.Backend.QtWebKit])
def test_init(self, backend, qapp, tmpdir, data_tmpdir, monkeypatch, cleanup_init):
if backend == usertypes.Backend.QtWebKit:
- pytest.importorskip('PyQt5.QtWebKitWidgets')
+ testutils.importorskip_ifnull('PyQt5.QtWebKitWidgets')
else:
assert backend == usertypes.Backend.QtWebEngine
@@ -325,10 +324,10 @@ class TestInit:
assert default_interface._history is history.web_history
else:
assert backend == usertypes.Backend.QtWebEngine
- if QtWebKit.QWebHistoryInterface is None:
- default_interface = None
- else:
+ if QtWebKit and QtWebKit.QWebHistoryInterface:
default_interface = QtWebKit.QWebHistoryInterface.defaultInterface()
+ else:
+ default_interface = None
# For this to work, nothing can ever have called
# setDefaultInterface before (so we need to test webengine before
# webkit)
diff --git a/tests/unit/browser/webengine/test_webengine_cookies.py b/tests/unit/browser/webengine/test_webengine_cookies.py
index db50729c7..deba1cdf5 100644
--- a/tests/unit/browser/webengine/test_webengine_cookies.py
+++ b/tests/unit/browser/webengine/test_webengine_cookies.py
@@ -18,11 +18,13 @@
# along with qutebrowser. If not, see <https://www.gnu.org/licenses/>.
import pytest
-from qutebrowser.qt import QtWebEngineWidgets, QtWebEngineCore, QtCore
-pytest.importorskip('PyQt5.QtWebEngineCore')
+
+from helpers import testutils
+testutils.importorskip_ifnull('PyQt5.QtWebEngineCore')
from qutebrowser.browser.webengine import cookies
from qutebrowser.utils import urlmatch
+from qutebrowser.qt import QtWebEngineWidgets, QtWebEngineCore, QtCore
@pytest.fixture
diff --git a/tests/unit/browser/webengine/test_webenginedownloads.py b/tests/unit/browser/webengine/test_webenginedownloads.py
index 546216c0e..620de6ba8 100644
--- a/tests/unit/browser/webengine/test_webenginedownloads.py
+++ b/tests/unit/browser/webengine/test_webenginedownloads.py
@@ -22,9 +22,11 @@ import base64
import dataclasses
import pytest
-pytest.importorskip('PyQt5.QtWebEngineWidgets')
-from qutebrowser.qt import QtWebEngineWidgets
+from helpers import testutils
+testutils.importorskip_ifnull('PyQt5.QtWebEngineWidgets')
+
+from qutebrowser.qt import QtWebEngineWidgets
from qutebrowser.utils import urlutils, usertypes, utils
from qutebrowser.browser.webengine import webenginedownloads
diff --git a/tests/unit/browser/webengine/test_webengineinterceptor.py b/tests/unit/browser/webengine/test_webengineinterceptor.py
index 9c15c7d5c..48aa0a465 100644
--- a/tests/unit/browser/webengine/test_webengineinterceptor.py
+++ b/tests/unit/browser/webengine/test_webengineinterceptor.py
@@ -20,12 +20,10 @@
"""Test interceptor.py for webengine."""
-import pytest
-
-pytest.importorskip('PyQt5.QtWebEngineWidgets')
+from helpers import testutils
+testutils.importorskip_ifnull('PyQt5.QtWebEngineWidgets')
from qutebrowser.qt import QtWebEngineCore
-
from qutebrowser.browser.webengine import interceptor
diff --git a/tests/unit/browser/webengine/test_webenginesettings.py b/tests/unit/browser/webengine/test_webenginesettings.py
index 0f803a172..da3c47db2 100644
--- a/tests/unit/browser/webengine/test_webenginesettings.py
+++ b/tests/unit/browser/webengine/test_webenginesettings.py
@@ -21,7 +21,8 @@ import logging
import pytest
-QtWebEngineWidgets = pytest.importorskip('PyQt5.QtWebEngineWidgets')
+from helpers import testutils
+QtWebEngineWidgets = testutils.importorskip_ifnull('PyQt5.QtWebEngineWidgets')
from qutebrowser.browser.webengine import webenginesettings
from qutebrowser.utils import usertypes
diff --git a/tests/unit/browser/webengine/test_webenginetab.py b/tests/unit/browser/webengine/test_webenginetab.py
index 3d8eec663..aa5182859 100644
--- a/tests/unit/browser/webengine/test_webenginetab.py
+++ b/tests/unit/browser/webengine/test_webenginetab.py
@@ -23,14 +23,15 @@ import logging
import textwrap
import pytest
-QtWebEngineWidgets = pytest.importorskip("PyQt5.QtWebEngineWidgets")
+from qutebrowser.browser import greasemonkey
+from qutebrowser.utils import usertypes
+from helpers import testutils
+
+QtWebEngineWidgets = testutils.importorskip_ifnull("PyQt5.QtWebEngineWidgets")
QWebEnginePage = QtWebEngineWidgets.QWebEnginePage
QWebEngineScriptCollection = QtWebEngineWidgets.QWebEngineScriptCollection
QWebEngineScript = QtWebEngineWidgets.QWebEngineScript
-
-from qutebrowser.browser import greasemonkey
-from qutebrowser.utils import usertypes
-webenginetab = pytest.importorskip(
+webenginetab = testutils.importorskip_ifnull(
"qutebrowser.browser.webengine.webenginetab")
pytestmark = pytest.mark.usefixtures('greasemonkey_manager')
diff --git a/tests/unit/browser/webkit/test_mhtml.py b/tests/unit/browser/webkit/test_mhtml.py
index dabffeb78..529077fb5 100644
--- a/tests/unit/browser/webkit/test_mhtml.py
+++ b/tests/unit/browser/webkit/test_mhtml.py
@@ -25,7 +25,10 @@ import uuid
import pytest
-mhtml = pytest.importorskip('qutebrowser.browser.webkit.mhtml')
+from helpers import testutils
+
+testutils.importorskip_ifnull('qutebrowser.qt.QtWebKit')
+mhtml = testutils.importorskip_ifnull('qutebrowser.browser.webkit.mhtml')
@pytest.fixture(autouse=True)
diff --git a/tests/unit/browser/webkit/test_tabhistory.py b/tests/unit/browser/webkit/test_tabhistory.py
index 3616c8fb2..e362d3f34 100644
--- a/tests/unit/browser/webkit/test_tabhistory.py
+++ b/tests/unit/browser/webkit/test_tabhistory.py
@@ -23,9 +23,10 @@ import dataclasses
from typing import Any
import pytest
-pytest.importorskip('PyQt5.QtWebKit')
-from qutebrowser.qt import QtWebKit
+from helpers import testutils
+testutils.importorskip_ifnull('PyQt5.QtWebKit')
+from qutebrowser.qt import QtWebKit
from qutebrowser.browser.webkit import tabhistory
from qutebrowser.misc.sessions import TabHistoryItem as Item
from qutebrowser.utils import qtutils
diff --git a/tests/unit/browser/webkit/test_webkitelem.py b/tests/unit/browser/webkit/test_webkitelem.py
index 4c3a30b11..2d8619758 100644
--- a/tests/unit/browser/webkit/test_webkitelem.py
+++ b/tests/unit/browser/webkit/test_webkitelem.py
@@ -27,7 +27,9 @@ import itertools
import dataclasses
import pytest
-QWebElement = pytest.importorskip('PyQt5.QtWebKit').QWebElement
+
+from helpers import testutils
+QWebElement = testutils.importorskip_ifnull('PyQt5.QtWebKit').QWebElement
from qutebrowser.browser import browsertab
from qutebrowser.browser.webkit import webkitelem
diff --git a/tests/unit/browser/webkit/test_webkitsettings.py b/tests/unit/browser/webkit/test_webkitsettings.py
index 8b30b85aa..ea4527369 100644
--- a/tests/unit/browser/webkit/test_webkitsettings.py
+++ b/tests/unit/browser/webkit/test_webkitsettings.py
@@ -17,8 +17,9 @@
# You should have received a copy of the GNU General Public License
# along with qutebrowser. If not, see <https://www.gnu.org/licenses/>.
-import pytest
-pytest.importorskip('PyQt5.QtWebKitWidgets')
+from helpers import testutils
+
+testutils.importorskip_ifnull('PyQt5.QtWebKitWidgets')
from qutebrowser.browser.webkit import webkitsettings
diff --git a/tests/unit/browser/webkit/test_webview.py b/tests/unit/browser/webkit/test_webview.py
index fcaaa2256..2b0662b58 100644
--- a/tests/unit/browser/webkit/test_webview.py
+++ b/tests/unit/browser/webkit/test_webview.py
@@ -18,7 +18,9 @@
# along with qutebrowser. If not, see <https://www.gnu.org/licenses/>.
import pytest
-webview = pytest.importorskip('qutebrowser.browser.webkit.webview')
+
+from helpers import testutils
+webview = testutils.importorskip_ifnull('qutebrowser.qt.QtWebKit')
@pytest.fixture
diff --git a/tests/unit/completion/test_models.py b/tests/unit/completion/test_models.py
index ceea3db35..01295c7d9 100644
--- a/tests/unit/completion/test_models.py
+++ b/tests/unit/completion/test_models.py
@@ -40,6 +40,7 @@ from qutebrowser.config import configdata, configtypes
from qutebrowser.utils import usertypes
from qutebrowser.mainwindow import tabbedbrowser
from qutebrowser.qt import QtWebEngineWidgets, QtCore
+from helpers import testutils
def _check_completions(model, expected):
@@ -1342,7 +1343,7 @@ def test_url_completion_benchmark(benchmark, info,
@pytest.fixture
def tab_with_history(fake_web_tab, tabbed_browser_stubs, info, monkeypatch):
"""Returns a fake tab with some fake history items."""
- pytest.importorskip('PyQt5.QtWebEngineWidgets')
+ testutils.importorskip_ifnull('PyQt5.QtWebEngineWidgets')
tab = fake_web_tab(QtCore.QUrl('https://github.com'), 'GitHub', 0)
current_idx = 2
monkeypatch.setattr(
diff --git a/tests/unit/config/test_qtargs.py b/tests/unit/config/test_qtargs.py
index 076ff6e3c..60d29e430 100644
--- a/tests/unit/config/test_qtargs.py
+++ b/tests/unit/config/test_qtargs.py
@@ -126,7 +126,7 @@ class TestWebEngineArgs:
@pytest.fixture(autouse=True)
def ensure_webengine(self, monkeypatch):
"""Skip all tests if QtWebEngine is unavailable."""
- pytest.importorskip("PyQt5.QtWebEngine")
+ testutils.importorskip_ifnull("PyQt5.QtWebEngine")
monkeypatch.setattr(qtargs.objects, 'backend', usertypes.Backend.QtWebEngine)
@pytest.mark.parametrize('backend, qt_version, expected', [
diff --git a/tests/unit/config/test_qtargs_locale_workaround.py b/tests/unit/config/test_qtargs_locale_workaround.py
index 96d619243..2a4d6c81c 100644
--- a/tests/unit/config/test_qtargs_locale_workaround.py
+++ b/tests/unit/config/test_qtargs_locale_workaround.py
@@ -24,9 +24,10 @@ from qutebrowser.qt import QtCore
from qutebrowser.utils import utils
from qutebrowser.config import qtargs
+from helpers import testutils
-pytest.importorskip('PyQt5.QtWebEngineWidgets')
+testutils.importorskip_ifnull('PyQt5.QtWebEngineWidgets')
@pytest.fixture(autouse=True)
diff --git a/tests/unit/config/test_websettings.py b/tests/unit/config/test_websettings.py
index f42563727..4a9ff7cb6 100644
--- a/tests/unit/config/test_websettings.py
+++ b/tests/unit/config/test_websettings.py
@@ -22,6 +22,7 @@ import pytest
from qutebrowser.config import websettings
from qutebrowser.misc import objects
from qutebrowser.utils import usertypes
+from helpers import testutils
@pytest.mark.parametrize([ # noqa: PT006
@@ -80,7 +81,7 @@ def test_parse_user_agent(user_agent, os_info, webkit_version,
def test_user_agent(monkeypatch, config_stub, qapp):
- webenginesettings = pytest.importorskip(
+ webenginesettings = testutils.importorskip_ifnull(
"qutebrowser.browser.webengine.webenginesettings")
monkeypatch.setattr(objects, 'backend', usertypes.Backend.QtWebEngine)
webenginesettings.init_user_agent()
diff --git a/tests/unit/javascript/position_caret/test_position_caret.py b/tests/unit/javascript/position_caret/test_position_caret.py
index 70a1df333..aa92319a6 100644
--- a/tests/unit/javascript/position_caret/test_position_caret.py
+++ b/tests/unit/javascript/position_caret/test_position_caret.py
@@ -21,8 +21,10 @@
import pytest
-QWebSettings = pytest.importorskip("PyQt5.QtWebKit").QWebSettings
-QWebPage = pytest.importorskip("PyQt5.QtWebKitWidgets").QWebPage
+from helpers import testutils
+
+QWebSettings = testutils.importorskip_ifnull("PyQt5.QtWebKit").QWebSettings
+QWebPage = testutils.importorskip_ifnull("PyQt5.QtWebKitWidgets").QWebPage
@pytest.fixture(autouse=True)
diff --git a/tests/unit/javascript/stylesheet/test_stylesheet_js.py b/tests/unit/javascript/stylesheet/test_stylesheet_js.py
index 1eebe3b7f..760bdced1 100644
--- a/tests/unit/javascript/stylesheet/test_stylesheet_js.py
+++ b/tests/unit/javascript/stylesheet/test_stylesheet_js.py
@@ -22,10 +22,11 @@
import pathlib
import pytest
-QtWebEngineWidgets = pytest.importorskip("PyQt5.QtWebEngineWidgets")
-QWebEngineProfile = QtWebEngineWidgets.QWebEngineProfile
-
from qutebrowser.utils import javascript
+from helpers import testutils
+
+QtWebEngineWidgets = testutils.importorskip_ifnull("PyQt5.QtWebEngineWidgets")
+QWebEngineProfile = QtWebEngineWidgets.QWebEngineProfile
DEFAULT_BODY_BG = "rgba(0, 0, 0, 0)"
diff --git a/tests/unit/misc/test_elf.py b/tests/unit/misc/test_elf.py
index 86060bbde..47110db4f 100644
--- a/tests/unit/misc/test_elf.py
+++ b/tests/unit/misc/test_elf.py
@@ -26,6 +26,7 @@ from hypothesis import strategies as hst
from qutebrowser.misc import elf
from qutebrowser.utils import utils
+from helpers import testutils
@pytest.mark.parametrize('fmt, expected', [
@@ -57,7 +58,7 @@ def test_result(qapp, caplog):
If that happens, please report a bug about it!
"""
- pytest.importorskip('PyQt5.QtWebEngineCore')
+ testutils.importorskip_ifnull('PyQt5.QtWebEngineCore')
versions = elf.parse_webenginecore()
assert versions is not None
diff --git a/tests/unit/misc/test_sessions.py b/tests/unit/misc/test_sessions.py
index ddbb0703a..cc87de64d 100644
--- a/tests/unit/misc/test_sessions.py
+++ b/tests/unit/misc/test_sessions.py
@@ -23,15 +23,15 @@ import logging
import pytest
import yaml
-QWebView = pytest.importorskip('PyQt5.QtWebKitWidgets').QWebView
+
+from helpers import testutils
+QWebView = testutils.importorskip_ifnull('PyQt5.QtWebKitWidgets').QWebView
from qutebrowser.misc import sessions
from qutebrowser.misc.sessions import TabHistoryItem as Item
from qutebrowser.utils import objreg, qtutils
from qutebrowser.browser.webkit import tabhistory
from qutebrowser.qt import QtCore
-
-
pytestmark = pytest.mark.qt_log_ignore('QIODevice::read.*: device not open')
webengine_refactoring_xfail = pytest.mark.xfail(
diff --git a/tests/unit/utils/test_debug.py b/tests/unit/utils/test_debug.py
index 4a24d0c44..f81cc29d4 100644
--- a/tests/unit/utils/test_debug.py
+++ b/tests/unit/utils/test_debug.py
@@ -29,6 +29,7 @@ import pytest
from qutebrowser.utils import debug
from qutebrowser.misc import objects
from qutebrowser.qt import QtWidgets, QtCore
+from helpers import testutils
@debug.log_events
@@ -185,7 +186,7 @@ class TestQFlagsKey:
No idea what's happening here exactly...
"""
- qwebpage = pytest.importorskip("PyQt5.QtWebKitWidgets").QWebPage
+ qwebpage = testutils.importorskip_ifnull("PyQt5.QtWebKitWidgets").QWebPage
flags = qwebpage.FindWrapsAroundDocument
flags |= qwebpage.FindBackward
diff --git a/tests/unit/utils/test_version.py b/tests/unit/utils/test_version.py
index d65a91082..9ed7e3b39 100644
--- a/tests/unit/utils/test_version.py
+++ b/tests/unit/utils/test_version.py
@@ -40,6 +40,7 @@ from qutebrowser.config import config, websettings
from qutebrowser.utils import version, usertypes, utils, standarddir
from qutebrowser.misc import pastebin, objects, elf
from qutebrowser.browser import pdfjs
+from helpers import testutils
try:
from qutebrowser.browser.webengine import webenginesettings
@@ -1059,7 +1060,7 @@ class TestChromiumVersion:
@pytest.fixture(autouse=True)
def clear_parsed_ua(self, monkeypatch):
- pytest.importorskip('PyQt5.QtWebEngineWidgets')
+ testutils.importorskip_ifnull('PyQt5.QtWebEngineWidgets')
if webenginesettings is not None:
# Not available with QtWebKit
monkeypatch.setattr(webenginesettings, 'parsed_user_agent', None)
@@ -1341,7 +1342,7 @@ class TestOpenGLInfo:
def test_func(self, qapp):
"""Simply call version.opengl_info() and see if it doesn't crash."""
- pytest.importorskip("PyQt5.QtOpenGL")
+ testutils.importorskip_ifnull("PyQt5.QtOpenGL")
version.opengl_info()
def test_func_fake(self, qapp, monkeypatch):