Suppression des 5 hiddenimports optimum* dans les deux specs V6/CLI. Ajout de EXCLUDED_TORCH_STACK + excludes=EXCLUDED_TORCH_STACK dans Analysis() pour éviter que PyInstaller embarque torch (~+2 Go) via optimum à l'analyse statique. Spec GUI V5 legacy inchangée (garde optimum légitimement). Test anti-dérive ajouté (5 cas). Correctif import pytest inutilisé (version.py). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
36 lines
1.3 KiB
Python
36 lines
1.3 KiB
Python
"""Tests de la résolution de version GUI V6 (P1-7, Plan 3).
|
|
|
|
La version release (schéma 2026.MM.JJ.HHMM) est générée au build Windows dans
|
|
gui_v6/_build_version.py (non commité). En dev, repli sur la version par défaut.
|
|
"""
|
|
import sys
|
|
import types
|
|
|
|
from gui_v6.version import DEFAULT_VERSION, resolve_version
|
|
|
|
|
|
def test_resolve_version_sans_module_build_retourne_defaut(monkeypatch):
|
|
monkeypatch.setitem(sys.modules, "gui_v6._build_version", None)
|
|
# sys.modules[name] = None => ImportError au `from ... import`
|
|
assert resolve_version() == DEFAULT_VERSION
|
|
|
|
|
|
def test_resolve_version_avec_module_build_retourne_version_injectee(monkeypatch):
|
|
fake = types.ModuleType("gui_v6._build_version")
|
|
fake.BUILD_VERSION = "2026.07.02.1130"
|
|
monkeypatch.setitem(sys.modules, "gui_v6._build_version", fake)
|
|
assert resolve_version() == "2026.07.02.1130"
|
|
|
|
|
|
def test_resolve_version_build_version_vide_retourne_defaut(monkeypatch):
|
|
fake = types.ModuleType("gui_v6._build_version")
|
|
fake.BUILD_VERSION = ""
|
|
monkeypatch.setitem(sys.modules, "gui_v6._build_version", fake)
|
|
assert resolve_version() == DEFAULT_VERSION
|
|
|
|
|
|
def test_dunder_version_est_cable_sur_resolve_version():
|
|
import gui_v6
|
|
# En dev (pas de _build_version généré), __version__ == défaut.
|
|
assert gui_v6.__version__ == DEFAULT_VERSION
|