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
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user