diff options
author | Florian Bruhin <me@the-compiler.org> | 2024-03-25 17:25:32 +0100 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2024-03-25 23:05:16 +0100 |
commit | ad3ba9fe84166d0c8fe5de59be5f0fc27a251a35 (patch) | |
tree | 1ba74519c8cab91a7a6f0ddaad967bf81ee33259 /tests/unit/browser/webkit/test_certificateerror.py | |
parent | 01f4807eaf8d20dcc3802cd2febf9432568f3935 (diff) | |
download | qutebrowser-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.py | 17 |
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: <></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 |