Plan : corriger deux defauts releves a l'auto-relecture
dossier_donnees() etait utilise par app.py sans figurer dans le contrat Systeme — l'implementation Windows aurait pu l'omettre et ne casser qu'a l'execution. Et les comptes de tests annonces ne s'additionnaient pas depuis 80. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
372df70c62
commit
332afede0e
@ -68,7 +68,7 @@ from contrats import Overlay, Systeme, Transcripteur
|
||||
(Transcripteur, ["warmup", "transcrire"]),
|
||||
(Overlay, ["show", "hide", "set_level", "set_status", "rearmer_garde"]),
|
||||
(Systeme, ["jouer_son", "modificateurs_enfonces", "raccourci_defaut",
|
||||
"chemin_log", "acquerir_verrou_instance"]),
|
||||
"chemin_log", "dossier_donnees", "acquerir_verrou_instance"]),
|
||||
])
|
||||
def test_le_contrat_declare_exactement_ses_methodes(contrat, methodes):
|
||||
declarees = [n for n, _ in inspect.getmembers(contrat, inspect.isfunction)
|
||||
@ -144,6 +144,9 @@ class Systeme(Protocol):
|
||||
def chemin_log(self) -> str:
|
||||
"""Chemin absolu du journal."""
|
||||
|
||||
def dossier_donnees(self) -> str:
|
||||
"""Dossier des données de l'application (verrou d'instance, réglages)."""
|
||||
|
||||
def acquerir_verrou_instance(self, chemin: str):
|
||||
"""Verrou exclusif non bloquant ; rend le fichier, ou None s'il est pris."""
|
||||
```
|
||||
@ -186,7 +189,7 @@ from systeme import choisir_systeme
|
||||
def test_la_fabrique_rend_une_implementation_complete():
|
||||
s = choisir_systeme()
|
||||
for methode in ("jouer_son", "modificateurs_enfonces", "raccourci_defaut",
|
||||
"chemin_log", "acquerir_verrou_instance"):
|
||||
"chemin_log", "dossier_donnees", "acquerir_verrou_instance"):
|
||||
assert callable(getattr(s, methode)), f"{methode} manque"
|
||||
|
||||
|
||||
@ -312,7 +315,7 @@ et, dans chaque test, remplacer `acquire_single_instance_lock(...)` par `choisir
|
||||
- [ ] **Step 6 : Lancer toute la suite**
|
||||
|
||||
Run: `.venv/bin/python -m pytest -q`
|
||||
Expected: PASS — 85 tests (80 + 5 nouveaux)
|
||||
Expected: PASS — **89 tests** (80 au depart, +4 en tache 1, +5 ici)
|
||||
|
||||
- [ ] **Step 7 : Commit**
|
||||
|
||||
@ -519,7 +522,7 @@ def classe_overlay_pour(plateforme=None):
|
||||
- [ ] **Step 5 : Lancer toute la suite**
|
||||
|
||||
Run: `.venv/bin/python -m pytest -q`
|
||||
Expected: PASS — 94 tests
|
||||
Expected: PASS — **91 tests** (+2 pour l'interface)
|
||||
|
||||
- [ ] **Step 6 : Commit**
|
||||
|
||||
@ -674,6 +677,7 @@ class FauxSysteme:
|
||||
def modificateurs_enfonces(self): return False
|
||||
def raccourci_defaut(self): return "<cmd>+<ctrl>+d"
|
||||
def chemin_log(self): return "/tmp/zonza-test.log"
|
||||
def dossier_donnees(self): return "/tmp/zonza-test"
|
||||
def acquerir_verrou_instance(self, chemin): return object()
|
||||
|
||||
|
||||
@ -694,7 +698,7 @@ Le contrôleur appelle `transcrire`, non plus `transcribe` : renommer l'appel da
|
||||
- [ ] **Step 5 : Lancer toute la suite**
|
||||
|
||||
Run: `.venv/bin/python -m pytest -q`
|
||||
Expected: PASS — 95 tests
|
||||
Expected: PASS — **92 tests** (+1 pour la garde d'imports)
|
||||
|
||||
- [ ] **Step 6 : Commit**
|
||||
|
||||
@ -773,7 +777,7 @@ Et dans `_start_hotkey`, lire le raccourci depuis le système :
|
||||
- [ ] **Step 3 : Lancer toute la suite**
|
||||
|
||||
Run: `.venv/bin/python -m pytest -q`
|
||||
Expected: PASS — 95 tests
|
||||
Expected: PASS — **92 tests**
|
||||
|
||||
- [ ] **Step 4 : Reconstruire et vérifier le cdhash**
|
||||
|
||||
@ -811,7 +815,7 @@ git push origin main
|
||||
|
||||
## Vérification finale de l'étape
|
||||
|
||||
- [ ] `.venv/bin/python -m pytest -q` → 95 tests verts
|
||||
- [ ] `.venv/bin/python -m pytest -q` → **92 tests verts** (80 au depart, +12)
|
||||
- [ ] `codesign -dvvv /Applications/Zonza.app | grep CDHash` → identique à avant l'étape
|
||||
- [ ] `[diag] accessibilité accordée : True` dans le journal
|
||||
- [ ] une dictée réelle produit `[texte]` puis `[collage] ok`
|
||||
|
||||
Loading…
Reference in New Issue
Block a user