diff options
author | Florian Bruhin <me@the-compiler.org> | 2021-04-15 11:00:18 +0200 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2021-04-29 09:34:51 +0200 |
commit | 1167b5c3e83cd8961ba5d680786225f2eaa582f6 (patch) | |
tree | 47ff92c20dd2fa579852cba88f147441bc885680 | |
parent | 7d93098fd0f305f842940d94963c2b9aa6186505 (diff) | |
download | qutebrowser-1167b5c3e83cd8961ba5d680786225f2eaa582f6.tar.gz qutebrowser-1167b5c3e83cd8961ba5d680786225f2eaa582f6.zip |
Add QUTE_QTWEBENGINE_VERSION_OVERRIDE
See https://github.com/NixOS/nixpkgs/pull/119376#issuecomment-820073044
(cherry picked from commit febb921040b6670d9b1694a6ce55ae39384d1306)
-rw-r--r-- | qutebrowser/utils/version.py | 8 | ||||
-rw-r--r-- | tests/unit/utils/test_version.py | 10 |
2 files changed, 16 insertions, 2 deletions
diff --git a/qutebrowser/utils/version.py b/qutebrowser/utils/version.py index 2bac125ed..f5bc5eab2 100644 --- a/qutebrowser/utils/version.py +++ b/qutebrowser/utils/version.py @@ -710,7 +710,7 @@ class WebEngineVersions: ) @classmethod - def from_qt(cls, qt_version: str) -> 'WebEngineVersions': + def from_qt(cls, qt_version: str, *, source: str = 'Qt') -> 'WebEngineVersions': """Get the versions based on the Qt version. This is called if we don't have PYQT_WEBENGINE_VERSION, i.e. with PyQt 5.12. @@ -719,7 +719,7 @@ class WebEngineVersions: return cls( webengine=parsed, chromium=cls._infer_chromium_version(parsed), - source='Qt', + source=source, ) @@ -750,6 +750,10 @@ def qtwebengine_versions(avoid_init: bool = False) -> WebEngineVersions: if webenginesettings.parsed_user_agent is not None: return WebEngineVersions.from_ua(webenginesettings.parsed_user_agent) + override = os.environ.get('QUTE_QTWEBENGINE_VERSION_OVERRIDE') + if override is not None: + return WebEngineVersions.from_qt(override, source='override') + versions = elf.parse_webenginecore() if versions is not None: return WebEngineVersions.from_elf(versions) diff --git a/tests/unit/utils/test_version.py b/tests/unit/utils/test_version.py index b50352e34..734b70468 100644 --- a/tests/unit/utils/test_version.py +++ b/tests/unit/utils/test_version.py @@ -1174,6 +1174,16 @@ class TestChromiumVersion: assert versions.source == 'importlib' assert versions.webengine == expected + @pytest.mark.parametrize('override', [ + utils.VersionNumber(5, 12, 10), + utils.VersionNumber(5, 15, 3), + ]) + def test_override(self, monkeypatch, override): + monkeypatch.setenv('QUTE_QTWEBENGINE_VERSION_OVERRIDE', str(override)) + versions = version.qtwebengine_versions(avoid_init=True) + assert versions.source == 'override' + assert versions.webengine == override + @dataclasses.dataclass class VersionParams: |