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/config/test_configtypes.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/config/test_configtypes.py')
-rw-r--r-- | tests/unit/config/test_configtypes.py | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/tests/unit/config/test_configtypes.py b/tests/unit/config/test_configtypes.py index d908e3ac6..bcd257ed7 100644 --- a/tests/unit/config/test_configtypes.py +++ b/tests/unit/config/test_configtypes.py @@ -1874,24 +1874,24 @@ class TestProxy: def klass(self): return configtypes.Proxy - @pytest.mark.parametrize('val, expected', [ - ('system', configtypes.SYSTEM_PROXY), - ('none', QNetworkProxy(QNetworkProxy.ProxyType.NoProxy)), + @pytest.mark.parametrize('val, expected_factory', [ + ('system', lambda: configtypes.SYSTEM_PROXY), + ('none', lambda: QNetworkProxy(QNetworkProxy.ProxyType.NoProxy)), ('socks://example.com/', - QNetworkProxy(QNetworkProxy.ProxyType.Socks5Proxy, 'example.com')), + lambda: QNetworkProxy(QNetworkProxy.ProxyType.Socks5Proxy, 'example.com')), ('socks5://foo:bar@example.com:2323', - QNetworkProxy(QNetworkProxy.ProxyType.Socks5Proxy, 'example.com', 2323, - 'foo', 'bar')), + lambda: QNetworkProxy( + QNetworkProxy.ProxyType.Socks5Proxy, 'example.com', 2323, 'foo', 'bar')), ('pac+http://example.com/proxy.pac', - pac.PACFetcher(QUrl('pac+http://example.com/proxy.pac'))), + lambda: pac.PACFetcher(QUrl('pac+http://example.com/proxy.pac'))), ('pac+file:///tmp/proxy.pac', - pac.PACFetcher(QUrl('pac+file:///tmp/proxy.pac'))), + lambda: pac.PACFetcher(QUrl('pac+file:///tmp/proxy.pac'))), ]) - def test_to_py_valid(self, klass, val, expected): + def test_to_py_valid(self, klass, val, expected_factory): actual = klass().to_py(val) if isinstance(actual, QNetworkProxy): actual = QNetworkProxy(actual) - assert actual == expected + assert actual == expected_factory() @pytest.mark.parametrize('val', [ 'blah', |