fix(ci): force PySide6 stubs in updater test
Some checks are pending
Desktop CI / tests (push) Successful in 13s
Desktop Release / release (push) Has started running

- replace any preloaded PySide6 modules with local stubs before importing updater_gui

- prevent headless linux failures from libGL dependency during unit tests
This commit is contained in:
2026-02-15 22:14:48 +03:00
parent bf7e5e599e
commit e22eac6de3

View File

@@ -7,10 +7,8 @@ import types
def _install_pyside6_stubs(): def _install_pyside6_stubs():
if "PySide6" in sys.modules:
return
pyside6_module = types.ModuleType("PySide6") pyside6_module = types.ModuleType("PySide6")
pyside6_module.__path__ = [] # treat as package
qtcore_module = types.ModuleType("PySide6.QtCore") qtcore_module = types.ModuleType("PySide6.QtCore")
qtgui_module = types.ModuleType("PySide6.QtGui") qtgui_module = types.ModuleType("PySide6.QtGui")
qtwidgets_module = types.ModuleType("PySide6.QtWidgets") qtwidgets_module = types.ModuleType("PySide6.QtWidgets")
@@ -63,6 +61,11 @@ def _install_pyside6_stubs():
qtwidgets_module.QPushButton = _Widget qtwidgets_module.QPushButton = _Widget
qtwidgets_module.QHBoxLayout = _Widget qtwidgets_module.QHBoxLayout = _Widget
# Force stubs even if real PySide6 was imported earlier in the process.
for mod_name in list(sys.modules.keys()):
if mod_name == "PySide6" or mod_name.startswith("PySide6."):
del sys.modules[mod_name]
sys.modules["PySide6"] = pyside6_module sys.modules["PySide6"] = pyside6_module
sys.modules["PySide6.QtCore"] = qtcore_module sys.modules["PySide6.QtCore"] = qtcore_module
sys.modules["PySide6.QtGui"] = qtgui_module sys.modules["PySide6.QtGui"] = qtgui_module