From e22eac6de375ff5df4e563a7bde24c897c560fd5 Mon Sep 17 00:00:00 2001 From: benya Date: Sun, 15 Feb 2026 22:14:48 +0300 Subject: [PATCH] fix(ci): force PySide6 stubs in updater test - replace any preloaded PySide6 modules with local stubs before importing updater_gui - prevent headless linux failures from libGL dependency during unit tests --- tests/test_updater_gui.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tests/test_updater_gui.py b/tests/test_updater_gui.py index b3d5304..e563ca9 100644 --- a/tests/test_updater_gui.py +++ b/tests/test_updater_gui.py @@ -7,10 +7,8 @@ import types def _install_pyside6_stubs(): - if "PySide6" in sys.modules: - return - pyside6_module = types.ModuleType("PySide6") + pyside6_module.__path__ = [] # treat as package qtcore_module = types.ModuleType("PySide6.QtCore") qtgui_module = types.ModuleType("PySide6.QtGui") qtwidgets_module = types.ModuleType("PySide6.QtWidgets") @@ -63,6 +61,11 @@ def _install_pyside6_stubs(): qtwidgets_module.QPushButton = _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.QtCore"] = qtcore_module sys.modules["PySide6.QtGui"] = qtgui_module