summaryrefslogtreecommitdiff
path: root/tests/unit/browser/webkit/test_certificateerror.py
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2024-03-25 17:25:32 +0100
committerFlorian Bruhin <me@the-compiler.org>2024-03-25 23:05:16 +0100
commitad3ba9fe84166d0c8fe5de59be5f0fc27a251a35 (patch)
tree1ba74519c8cab91a7a6f0ddaad967bf81ee33259 /tests/unit/browser/webkit/test_certificateerror.py
parent01f4807eaf8d20dcc3802cd2febf9432568f3935 (diff)
downloadqutebrowser-ad3ba9fe84166d0c8fe5de59be5f0fc27a251a35.tar.gz
qutebrowser-ad3ba9fe84166d0c8fe5de59be5f0fc27a251a35.zip
tests: Avoid accessing Qt statics at import time
With a Qt 6.7 developer build, the tests fail with: ASSERT failure in QtGlobalStatic::ApplicationHolder<QAS>::PlainType* QtGlobalStatic::ApplicationHolder<QAS>::pointer() [with QAS = {anonymous}::Q_QAS_qtlsbLoader; PlainType = QFactoryLoader]: "The application static was used without a QCoreApplication instance", file .../qtbase/src/corelib/kernel/qapplicationstatic.h, line 54 Fatal Python error: Aborted [...] Current thread 0x00007c18bb3f3740 (most recent call first): File ".../tests/unit/browser/webkit/test_certificateerror.py", line 23 in <module> See https://codereview.qt-project.org/c/qt/qtbase/+/495239
Diffstat (limited to 'tests/unit/browser/webkit/test_certificateerror.py')
-rw-r--r--tests/unit/browser/webkit/test_certificateerror.py17
1 files changed, 9 insertions, 8 deletions
diff --git a/tests/unit/browser/webkit/test_certificateerror.py b/tests/unit/browser/webkit/test_certificateerror.py
index 2feb7dcf1..7f5cce9c6 100644
--- a/tests/unit/browser/webkit/test_certificateerror.py
+++ b/tests/unit/browser/webkit/test_certificateerror.py
@@ -18,15 +18,15 @@ class FakeError:
return self.msg
-@pytest.mark.parametrize('errors, expected', [
+@pytest.mark.parametrize('error_factories, expected', [
(
- [QSslError(QSslError.SslError.UnableToGetIssuerCertificate)],
+ [lambda: QSslError(QSslError.SslError.UnableToGetIssuerCertificate)],
['<p>The issuer certificate could not be found</p>'],
),
(
[
- QSslError(QSslError.SslError.UnableToGetIssuerCertificate),
- QSslError(QSslError.SslError.UnableToDecryptCertificateSignature),
+ lambda: QSslError(QSslError.SslError.UnableToGetIssuerCertificate),
+ lambda: QSslError(QSslError.SslError.UnableToDecryptCertificateSignature),
],
[
'<ul>',
@@ -37,13 +37,13 @@ class FakeError:
),
(
- [FakeError('Escaping test: <>')],
+ [lambda: FakeError('Escaping test: <>')],
['<p>Escaping test: &lt;&gt;</p>'],
),
(
[
- FakeError('Escaping test 1: <>'),
- FakeError('Escaping test 2: <>'),
+ lambda: FakeError('Escaping test 1: <>'),
+ lambda: FakeError('Escaping test 2: <>'),
],
[
'<ul>',
@@ -53,8 +53,9 @@ class FakeError:
],
),
])
-def test_html(stubs, errors, expected):
+def test_html(stubs, error_factories, expected):
reply = stubs.FakeNetworkReply(url=QUrl("https://example.com"))
+ errors = [factory() for factory in error_factories]
wrapper = certificateerror.CertificateErrorWrapper(reply=reply, errors=errors)
lines = [line.strip() for line in wrapper.html().splitlines() if line.strip()]
assert lines == expected