From d4891f5cfd7fa0b872885b816e3feec0a6a91629 Mon Sep 17 00:00:00 2001 From: Domi31tls Date: Thu, 25 Jun 2026 17:58:05 +0200 Subject: [PATCH] =?UTF-8?q?fix(gui):=20flag=20legacy=20ONNX=20+=20log=20fi?= =?UTF-8?q?chier=20d=C3=A8s=20l'entr=C3=A9e=20frozen=20(P0-5/E1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- Pseudonymisation_Gui_V6.py | 9 +++++++++ tests/unit/test_gui_v6_entry_frozen_flag.py | 16 ++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 tests/unit/test_gui_v6_entry_frozen_flag.py diff --git a/Pseudonymisation_Gui_V6.py b/Pseudonymisation_Gui_V6.py index f4ab55a..7ed8c5c 100644 --- a/Pseudonymisation_Gui_V6.py +++ b/Pseudonymisation_Gui_V6.py @@ -12,6 +12,11 @@ Le mode ``--self-test`` vérifie que tout le socle GUI V6 s'importe correctement from __future__ import annotations import sys +import os + +# Frozen Windows : désactiver le manager ONNX legacy AVANT tout import du cœur, +# pour éviter « cannot load module more than once per process » (hotfix CLI 6c6f653). +os.environ.setdefault("ANON_SKIP_LEGACY_ONNX_MANAGER", "1") def _self_test() -> int: @@ -52,6 +57,10 @@ def main(argv=None) -> int: if "--self-test" in argv: return _self_test() + from gui_v6.logging_setup import setup_file_logging + + setup_file_logging() + from gui_v6.app import AnonymisationApp application = AnonymisationApp() diff --git a/tests/unit/test_gui_v6_entry_frozen_flag.py b/tests/unit/test_gui_v6_entry_frozen_flag.py new file mode 100644 index 0000000..aae5976 --- /dev/null +++ b/tests/unit/test_gui_v6_entry_frozen_flag.py @@ -0,0 +1,16 @@ +import os +import importlib + + +def test_entry_sets_legacy_onnx_flag_on_import(monkeypatch): + monkeypatch.delenv("ANON_SKIP_LEGACY_ONNX_MANAGER", raising=False) + import Pseudonymisation_Gui_V6 as entry + importlib.reload(entry) + assert os.environ.get("ANON_SKIP_LEGACY_ONNX_MANAGER") == "1" + + +def test_entry_does_not_override_explicit_flag(monkeypatch): + monkeypatch.setenv("ANON_SKIP_LEGACY_ONNX_MANAGER", "0") + import Pseudonymisation_Gui_V6 as entry + importlib.reload(entry) + assert os.environ.get("ANON_SKIP_LEGACY_ONNX_MANAGER") == "0"