Improve version.opengl_vendor()
On Windows with OpenGL ES we can't use versionFunctions, so we just return None early. Also, this fixes some lint and adds a smoke test.
This commit is contained in:
parent
b8a32c577f
commit
912cea6e7d
@ -380,12 +380,15 @@ def version():
|
|||||||
|
|
||||||
|
|
||||||
def opengl_vendor(): # pragma: no cover
|
def opengl_vendor(): # pragma: no cover
|
||||||
"""Get the OpenGL vendor used."""
|
"""Get the OpenGL vendor used.
|
||||||
|
|
||||||
|
This returns a string such as 'nouveau' or
|
||||||
|
'Intel Open Source Technology Center'; or None if the vendor can't be
|
||||||
|
determined.
|
||||||
|
"""
|
||||||
# We're doing those imports here because this is only available with Qt 5.4
|
# We're doing those imports here because this is only available with Qt 5.4
|
||||||
# or newer.
|
# or newer.
|
||||||
from PyQt5.QtWidgets import QOpenGLWidget
|
from PyQt5.QtGui import QOpenGLContext, QOpenGLVersionProfile, QOffscreenSurface
|
||||||
from PyQt5.QtOpenGL import QGLWidget
|
|
||||||
from PyQt5.QtGui import QOpenGLContext, QSurfaceFormat, QOpenGLVersionProfile, QOffscreenSurface
|
|
||||||
assert QApplication.instance()
|
assert QApplication.instance()
|
||||||
assert QOpenGLContext.currentContext() is None
|
assert QOpenGLContext.currentContext() is None
|
||||||
|
|
||||||
@ -393,6 +396,10 @@ def opengl_vendor(): # pragma: no cover
|
|||||||
surface.create()
|
surface.create()
|
||||||
|
|
||||||
ctx = QOpenGLContext()
|
ctx = QOpenGLContext()
|
||||||
|
if ctx.isOpenGLES():
|
||||||
|
# Can't use versionFunctions there
|
||||||
|
return None
|
||||||
|
|
||||||
ok = ctx.create()
|
ok = ctx.create()
|
||||||
assert ok
|
assert ok
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ import pkg_resources
|
|||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
import qutebrowser
|
import qutebrowser
|
||||||
from qutebrowser.utils import version, usertypes
|
from qutebrowser.utils import version, usertypes, qtutils
|
||||||
from qutebrowser.browser import pdfjs
|
from qutebrowser.browser import pdfjs
|
||||||
|
|
||||||
|
|
||||||
@ -918,3 +918,10 @@ def test_version_output(git_commit, frozen, style, with_webkit,
|
|||||||
|
|
||||||
expected = template.rstrip('\n').format(**substitutions)
|
expected = template.rstrip('\n').format(**substitutions)
|
||||||
assert version.version() == expected
|
assert version.version() == expected
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.skipif(not qtutils.version_check('5.4'),
|
||||||
|
reason="Needs Qt >= 5.4.")
|
||||||
|
def test_opengl_vendor():
|
||||||
|
"""Simply call version.opengl_vendor() and see if it doesn't crash."""
|
||||||
|
return version.opengl_vendor()
|
||||||
|
Loading…
Reference in New Issue
Block a user