diff options
author | Florian Bruhin <git@the-compiler.org> | 2017-03-07 22:04:54 +0100 |
---|---|---|
committer | Florian Bruhin <git@the-compiler.org> | 2017-03-07 22:06:33 +0100 |
commit | 89eb5224b0e29050ae183e5bef97e2ea4c8914b9 (patch) | |
tree | ff2abc4b0760226ef2012099552ec225c18b95e1 | |
parent | 1f850b8de94a467d42e030534d65557735209c02 (diff) | |
download | qutebrowser-89eb5224b0e29050ae183e5bef97e2ea4c8914b9.tar.gz qutebrowser-89eb5224b0e29050ae183e5bef97e2ea4c8914b9.zip |
Fix compiled version check
Fixes #2412
(cherry picked from commit 7c9d004bbc4d576ad32dcba8338567636bf39a3c)
-rw-r--r-- | qutebrowser/utils/qtutils.py | 5 | ||||
-rw-r--r-- | tests/unit/utils/test_qtutils.py | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/qutebrowser/utils/qtutils.py b/qutebrowser/utils/qtutils.py index 10c28a7ab..6fc5956a6 100644 --- a/qutebrowser/utils/qtutils.py +++ b/qutebrowser/utils/qtutils.py @@ -88,9 +88,12 @@ def version_check(version, op=operator.ge, strict=False): op: The operator to use for the check. strict: If given, also check the compiled Qt version. """ + if strict: + assert op in [operator.ge, operator.lt], op parsed = pkg_resources.parse_version(version) result = op(pkg_resources.parse_version(qVersion()), parsed) - if result and strict: + if ((strict and op == operator.ge and result) or + (strict and op == operator.lt and not result)): result = op(pkg_resources.parse_version(QT_VERSION_STR), parsed) return result diff --git a/tests/unit/utils/test_qtutils.py b/tests/unit/utils/test_qtutils.py index 162845b1a..6600363d8 100644 --- a/tests/unit/utils/test_qtutils.py +++ b/tests/unit/utils/test_qtutils.py @@ -52,6 +52,9 @@ import overflow_test_cases # strict=True ('5.4.0', '5.3.0', '5.4.0', operator.ge, False), ('5.4.0', '5.4.0', '5.4.0', operator.ge, True), + + ('5.4.0', '5.3.0', '5.4.0', operator.lt, True), + ('5.4.0', '5.4.0', '5.4.0', operator.lt, False), ]) def test_version_check(monkeypatch, qversion, compiled, version, op, expected): """Test for version_check(). |