LifePlay-Revival/Docs/Migration/etat/BOSS/COMMUN-21-TESTS.md
2026-10-21 09:36:04 +02:00

24 KiB

Fiche COMMUN-21-FIT — Niveau N1 — Modèle prévu sonnet | utilisé claude-sonnet-5-5 — Agent lp-writer (rôle A-DOC) — Skills sk-protocol, lp-doc, lp-lot

COMMUN-21-TESTS : fiche de tests commune de la build Development COMMUN-21 (F6 redirection des sauvegardes, KEY2 confirmation des touches) (2026-10-20)

Demande de Big Boss (local_104ff22d), 2026-10-20, sur ordre de l'utilisateur : « Oui, lance la build Development COMMUN-21 (F6 redirection des sauvegardes, KEY2 confirmation des touches) et prépare le cahier de tests. » Cette fiche reprend FIX1-F6-SPEC.md § 7.2 (E1 à E8), FIX1-F6-IMPL.md § 5, FIX1-F6-VAL.md (réserves), le lot REL-SAV (etat\REL\SAV\REL-SAV-SPEC.md § 3), KEY2-BUILD-04.md § 3 (preuve en 5 points) et KEY2-DIAG-03.md, puis des non-régressions courtes. Fiche prête : § 1 (MD5, heure) à compléter par Big Boss à la remise de la build. Rédigée sans copie UE, sans MCP, sans lancer le jeu. Aucun contenu de jeu : chaque action est décrite par sa fonction. Forme reprise de COMMUN-20-TESTS.md.

Porte J4 : au plus tard le 2026-10-23 au soir (FIX1-F6-SPEC.md § 7.2). F6 est acceptée si E1 à E8 sont conformes ce soir-là ; sinon retour arrière à froid, F6 passe en build 2 (FIX1-F6-SPEC.md § 3). Les cas F6 de cette fiche doivent donc être joués avant cette date.

Hors fiche : E9 (build Shipping, sur accord de l'utilisateur, %LOCALAPPDATA%\LifePlay-Revival\Saved\Saves\…) ; la branche « pièce cachée » et ERR-145 ; le libellé de l'axe de zoom (ScrollDownUp) ; les réserves 1 à 3 de FIX1-F6-VAL.md § 5 (concurrence, .. dans un chemin, cas limites de Saves/), sans effet attendu à l'écran.

1. Build testé

Élément Valeur
Chemin de la build D:\Game\LifePlay_Build_5.8_Development_COM21\Windows\ (lancer Windows\LifePlay.exe) ; confirmé par Big Boss à la remise ; pas de dossier Content\Saves livré dans l'archive (relevé du builder)
Exe Windows\LifePlay\Binaries\Win64\LifePlay.exe
MD5 de l'exe 811f72f20545613b93eb913f384ca1b2 (identique à Binaries\Win64\LifePlay.exe, compilation FIX1-F6 ; contient aussi KEY2 611c2148), 335 846 400 octets
Date de génération exe lié le 2026-10-20 à 19:09:31 ; paquet BuildDebug.ps1 -SkipBuild lancé à 19:17:55, UAT code 0 en 83 s, CheckPackage PASS, cuisson 0 erreur (0 paquet recuit : aucun asset modifié depuis COM20) ; journal Saved\Logs\portage\BuildDebug_Development_20261020-191755.log
Configuration Development, commune à plusieurs lots
Base HEAD du dépôt + sources non commitées de F6 (ModdingExtraBPLibrary.cpp) et de KEY2 (LPKeyboardSubsystem.cpp)

MD5 des sources attendus (relevés dans les livrables amont) :

  • ModdingExtraBPLibrary.cpp 1f93601c71d126f173fe30636aec0660 (FIX1-F6-IMPL.md § 1 ; FIX1-F6-VAL.md § 3) ;
  • LPKeyboardSubsystem.cpp 611c2148 (KEY2-BUILD-04.md § 1 ; FIX1-F6-VAL.md § 2, B1) ;
  • binaires de contrôle de la dernière compilation de F6 (à titre de repère, la build COM21 peut différer) : LifePlay.exe 811f72f2… dans FIX1-F6-IMPL.md Constats, 181dc8e6 dans KEY2-BUILD-04.md § 2 (deux compilations différentes ; seul le MD5 relevé par Big Boss fait foi).

Lots et correctifs couverts :

  • FIX1-F6 (ERR-042) : les fichiers de partie Saves/… (personnages .lpcharacter) sont écrits sous <Saved>\Saves\… au lieu de <jeu>\Content\Saves ; lecture au même endroit, avec repli par slot sur l'ancien Content\Saves ; _session jamais de repli ; interrupteur -LPNoSavesRedirect. VAL statique : PASS-STATIC avec réserves ; aucun essai en jeu (E1 à E9 non faits, FIX1-F6-VAL.md § 2).
  • KEY2-IMPL-03 / BUILD-04 (décision « 1 » sur KEY2-DIAG-03.md) : une touche déjà liée à une autre action n'est plus retirée d'office ; le premier appui avertit, un second appui de la même touche remplace. Construit à 0 erreur ; jamais vu en jeu.

Les deux lots sont dans le même exe : l'essai porte sur « F6 + KEY2 » (FIX1-F6-IMPL.md § 5, B1).

2. Faisabilité

Machine calme : réserve « mesure » non requise.

2.1 Où est le dossier de sauvegarde de cette build (établi)

Source : REL-SAV-SPEC.md § 2 (ligne 45) et § 3 (lignes 50-61) ; FIX1-F6-SPEC.md résumé.

Contexte Racine Saved Dossier des parties (nouveau)
Build Development COM21, sans LPSaveLocation.ini (cas prévu) <build>\Windows\LifePlay\Saved\ <build>\Windows\LifePlay\Saved\Saves\
Development avec LPSaveLocation.ini ([SaveLocation] SaveDir=…) dans <build>\Windows\LifePlay\ <SaveDir>\Saved\ (relance du jeu avec -UserDir) <SaveDir>\Saved\Saves\
Shipping, sans .ini (hors fiche, E9) %LOCALAPPDATA%\LifePlay-Revival\Saved\ %LOCALAPPDATA%\LifePlay-Revival\Saved\Saves\
  • Ancien dossier (ne doit rien recevoir) : <build>\Windows\LifePlay\Content\Saves\.
  • Dans une Development, la garde de relance n'est active que si LPSaveLocation.ini existe (REL-SAV-SPEC.md:45). Vérifier d'abord, avant l'essai :
    Test-Path "D:\Game\LifePlay_Build_5.8_Development_COM21\Windows\LifePlay\LPSaveLocation.ini"
    
    False = cas prévu. True = noter le contenu du fichier au BILAN et relever le dossier <SaveDir>\Saved\Saves à la place.
  • Le journal annonce le dossier retenu : ligne Dossier de sauvegarde : … (relance=…, source=…, motif=…) (REL-SAV-SPEC.md:82) ; lire aussi Saves redirige : racine '…' (cas F6.1).
  • Le dossier de sauvegarde « réel » des parties de l'utilisateur sur les versions précédentes (Shipping) est %LOCALAPPDATA%\LifePlay\Saved (REL-SAV-DOC.md:14) : lecture seule, jamais touché par cet essai.

2.2 Relevés avant et après (à faire à la remise de la build)

Avant l'essai : copier la sauvegarde du joueur, puis relever les deux dossiers. Commandes PowerShell prêtes (adapter $B seulement si la build est ailleurs) :

# Copie de sécurité de la sauvegarde existante (lecture seule sur l'original) ; le dossier de copie est neuf.
$B = "D:\Game\LifePlay_Build_5.8_Development_COM21\Windows\LifePlay"
Copy-Item -Recurse -Path "$env:LOCALAPPDATA\LifePlay\Saved" -Destination "D:\Game\LifePlay_Backup_5.5\COM21-sauvegarde-avant" -ErrorAction SilentlyContinue

# Relevé AVANT : ancien dossier (Content\Saves) et nouveau dossier (Saved\Saves), avec dates et tailles.
Get-ChildItem -Recurse -File "$B\Content\Saves" -ErrorAction SilentlyContinue | Select-Object FullName, Length, LastWriteTime | Format-Table -AutoSize
Get-ChildItem -Recurse -File "$B\Saved\Saves"   -ErrorAction SilentlyContinue | Select-Object FullName, Length, LastWriteTime | Format-Table -AutoSize

# Relevé AVANT avec MD5 (pour comparer exactement à l'après) ; sortie rangée dans un fichier du lot.
Get-ChildItem -Recurse -File "$B\Content\Saves" -ErrorAction SilentlyContinue | Get-FileHash -Algorithm MD5 | Select-Object Hash, Path | Out-File "D:\Game\LifePlay_Backup_5.5\COM21-avant-Content-Saves.txt"
Get-ChildItem -Recurse -File "$B\Saved\Saves"   -ErrorAction SilentlyContinue | Get-FileHash -Algorithm MD5 | Select-Object Hash, Path | Out-File "D:\Game\LifePlay_Backup_5.5\COM21-avant-Saved-Saves.txt"

Dossier absent ou vide = cas normal avant l'essai (FIX1-F6-SPEC.md § 7.2, préparation). Noter au BILAN le nombre de fichiers de chaque dossier.

Après l'essai (après chaque cas F6 qui écrit) : refaire les mêmes deux relevés avec -ErrorAction SilentlyContinue ; pour les MD5, sortie vers …-apres-….txt, puis :

Compare-Object (Get-Content "D:\Game\LifePlay_Backup_5.5\COM21-avant-Content-Saves.txt") (Get-Content "D:\Game\LifePlay_Backup_5.5\COM21-apres-Content-Saves.txt")

Aucune sortie = ancien dossier identique (attendu).

2.3 Journal et témoins

« Journal » = <build>\Windows\LifePlay\Saved\Logs\LifePlay.log (le jeu en sauvegarde un exemplaire horodaté à chaque lancement : lire le fichier du lancement jugé). Motifs exacts de F6, lus dans ModdingExtraBPLibrary.cpp (catégorie LogModdingExtra, niveau Display sauf mention) :

Motif (texte exact du code) Ligne du code Quand
Saves redirige : racine '<chemin>\Saved\Saves' (repli de lecture par slot : '<chemin>\Content\Saves') :73 une fois, au premier accès redirigé
Saves slot '_session' : nouvelle racine :83 première lecture ou écriture de _session
Saves slot '<Slot>' : nouvelle racine :83 première lecture ou écriture d'un slot dans le nouveau dossier
Saves slot '<Slot>' : lu dans l'ancien Content/Saves (repli) :83 slot trouvé seulement dans l'ancien dossier
Saves non redirige (-LPNoSavesRedirect) : ancien chemin Content/Saves :102 avec l'interrupteur, une fois
Saves : <n> lecture(s) nouvelle racine | <m> lecture(s) repli | <k> ecriture(s) (suivi de (redirection desactivee) avec l'interrupteur) :269 bilan LoadTxt (console ModdingExtra.LoadTxtStats, et à la fermeture)
LoadTxt ECHEC | '<chemin>' introuvable ou illisible (Warning) :332 jamais attendu sur un chemin Saves/ pendant F6.1 à F6.4
SaveTxt ECHEC | '<chemin>' (<n> car.) : ecriture impossible (Warning) :361 jamais attendu
GetAllFilesFromFolder | '…' : liste lue dans Content, Saves non redirige pour les listes (FIX1-F6) (Warning) :136 jamais attendu (E7)

Relevé commun du journal pour F6 (commande prête, à lancer après chaque lancement) :

Select-String -Path "D:\Game\LifePlay_Build_5.8_Development_COM21\Windows\LifePlay\Saved\Logs\LifePlay.log" -Pattern 'LogModdingExtra: (Display|Warning): Saves','FIX1-F6','LoadTxt ECHEC','SaveTxt ECHEC','Dossier de sauvegarde'

Témoins de KEY2 (LPKeyboardSubsystem.cpp, catégorie LogLifePlay, Display) :

  • Clavier : <n> actions et <m> axes relus depuis …\LPKeyboard.ini (:1467, au lancement) ;
  • Clavier : <n> actions et <m> axes enregistres dans … (:1509, à chaque écriture du fichier) ;
  • messages de la ligne d'état du menu Clavier (à l'écran, pas au journal) : Capture cancelled. (:978), <touche> is used by <action>. Press it again to replace, Escape to cancel. (:1027), <touche> saved. Removed from: <action>. (:1083).

Compte attendu des actions : 51 au départ (DefaultInput.ini), 50 après un remplacement confirmé, 51 après Reset (KEY2-DIAG-03.md § 1 et § 4). Si le fichier LPKeyboard.ini de la build COM21 est neuf (dossier Saved neuf), il part à 51 ; s'il affiche 50 dès le départ, faire d'abord Reset dans le menu Clavier et le noter au BILAN.

Cas Fonction ou réglage dans la build ? Dépend d'un travail non fini ou d'une observation
.1 à .6 (F6) oui (FIX1-F6, compilée, VAL statique PASS-STATIC avec réserves) jamais vu en jeu ; .4 demande une ancienne partie ; .5 est facultatif
.7 à .11 (KEY2) oui (KEY2-IMPL-03, compilée à 0 erreur) jamais vu en jeu
.12 à .14 oui non-régressions de COMMUN-20 ; POV de scène : voir COMMUN-19.1

3. Cas

Contrôle automatique : motif cherché dans le journal de jeu, lancé avant la remise par Tools\EssaiJournal.ps1 quand il existe. Verdict, Découvreur et Heure restent vides : le BILAN les remplit. « Journal » = Saved\Logs\LifePlay.log de la build. « Ancien dossier » = <build>\Windows\LifePlay\Content\Saves ; « nouveau dossier » = <build>\Windows\LifePlay\Saved\Saves (§ 2.1).

3.1 FIX1-F6 : sauvegardes redirigées

Prérequis communs : § 2.2 fait (copie de la sauvegarde, relevés AVANT des deux dossiers, LPSaveLocation.ini vérifié). Jeu lancé sans argument, sauf le cas .6. Pour chaque cas qui écrit, refaire les relevés APRÈS.

Cas Lot Correctif (CHG / ERR / ticket) Action de l'utilisateur Attendu Contrôle automatique du journal Verdict Découvreur Heure
COMMUN-21.1 FIX1 FIX1-F6 ; ERR-042 ; FIX1-F6-SPEC.md § 7.2 E1, E4 1. Relevés AVANT. 2. Lancer le jeu, Nouvelle partie ; 3. créer un personnage (création complète, jusqu'à la validation) ; 4. relever le nouveau dossier (§ 2.2) sans quitter Le nouveau dossier contient Saves\_session\Characters\*.lpcharacter (fichiers créés, dates du jour) ; l'ancien dossier : relevé APRÈS identique au relevé AVANT (0 fichier créé ou modifié) motif Saves redirige : racine : 1 ligne (recopier la racine annoncée, doit finir par \Saved\Saves) ; motif Saves slot '_session' : nouvelle racine : au moins 1 ; motif LoadTxt ECHEC.*Saves/ et SaveTxt ECHEC : 0
COMMUN-21.2 FIX1 idem ; E2 Dans la partie du cas .1, enregistrer dans un emplacement neuf (nom jamais utilisé) ; relever le nouveau dossier Saved\Saves\<Slot>\Characters\ existe et contient les mêmes familles de fichiers que _session (numérotés, F…, C…, OldPlayer, Player : comparer les noms avec ceux de _session) ; un .sav apparaît dans Saved\SaveGames ; ancien dossier toujours identique motif Saves slot '<Slot>' : nouvelle racine : au moins 1 (le nom du slot est celui choisi) ; motif Saves : .* ecriture\(s\) au bilan : nombre d'écritures > 0
COMMUN-21.3 FIX1 idem ; E3 Quitter le jeu complètement, relancer, puis Continuer (ou Charger l'emplacement du cas .2) ; vérifier que la partie est identique (même personnage, même lieu) Partie rechargée sans message « missing crucial *.lpcharacter files » ; personnage identique ; ancien dossier toujours identique nouvelle session de journal : motif Saves slot '<Slot>' : nouvelle racine : au moins 1 ; motif lu dans l'ancien Content/Saves : 0 ; motif LoadTxt ECHEC sur un chemin Saves/ : 0 ; motif Fatal|Unhandled|Critical error|Assertion failed : 0
COMMUN-21.4 FIX1 idem ; E5, repli de lecture Seulement si l'utilisateur a une ancienne partie : recopier une copie d'un ancien emplacement de partie dans l'ancien dossier Content\Saves\<SlotX> (jamais l'original), avec son .sav dans Saved\SaveGames ; relancer, charger cette partie ; la rejouer un instant, enregistrer dans le même emplacement, quitter, relancer, recharger. Sans ancienne partie : noter « sans objet : aucune ancienne partie » Chargement sans message d'erreur ; après l'enregistrement, Saved\Saves\<SlotX> existe ; le rechargement suivant lit la nouvelle racine ; le dossier copié dans l'ancien dossier reste identique (MD5 avant et après) motif Saves slot '<SlotX>' : lu dans l'ancien Content/Saves \(repli\) : 1 au premier chargement ; motif Saves slot '<SlotX>' : nouvelle racine : 1 après l'enregistrement et le rechargement ; motif LoadTxt ECHEC : 0
COMMUN-21.5 FIX1 idem ; E6, interrupteur (facultatif) Fermer le jeu. Relever les deux dossiers (AVANT), puis lancer : & "D:\Game\LifePlay_Build_5.8_Development_COM21\Windows\LifePlay.exe" -LPNoSavesRedirect ; Nouvelle partie et création d'un personnage ; quitter ; relever les deux dossiers (APRÈS). Après l'essai, relancer sans l'argument pour la suite Ancien comportement : de nouveaux fichiers dans l'ancien dossier Content\Saves\_session\Characters\ ; rien de nouveau dans le nouveau dossier pour cette partie motif Saves non redirige \(-LPNoSavesRedirect\) : 1 ; motif Saves redirige : racine : 0 dans ce journal ; au bilan \(redirection desactivee\)
COMMUN-21.6 FIX1 idem ; E7, E8 Dans une session des cas .1 à .3, ouvrir la console et saisir ModdingExtra.LoadTxtStats (ou fermer le jeu : le bilan s'écrit aussi à la fermeture) ; recopier au BILAN les lignes du bilan LoadTxt Ligne Saves : n lecture(s) nouvelle racine | m lecture(s) repli | k ecriture(s) avec n > 0 et k > 0 après .1 à .3 ; aucune liste n'a visé Saves ; la ligne Cache de donnees pret : <x> fichier(s) : noter x (la référence « même build sans F6 » reste à choisir : réserve de FIX1-F6-VAL.md § 6 ; la build COM20 contient KEY2 sans F6 et peut servir de repère) motif FIX1-F6 : 0 ligne (aucun avertissement de liste sur Saves) ; motif Saves : .* lecture\(s\) nouvelle racine : au moins 1 ; motif LoadTxt CACHE ECART : 0

Constats à relever pour la porte J4 (hors verdict de cas) : durée du chargement d'une partie (le repli ajoute deux tests de dossier par lecture d'un slot, risque R4 de la SPEC : une gêne perceptible est à signaler) ; toute ligne Saves slot '' (fichier posé directement dans Saves/ : cosmétique, FIX1-F6-VAL.md § 5 réserve 3).

3.2 KEY2 : confirmation avant de prendre une touche déjà liée

Prérequis communs : ouvrir le menu Clavier des réglages (menu principal ou pause). Choisir une action de départ dont on connaît la touche d'origine (noter la touche d'origine avant tout changement). L'exemple de la preuve (KEY2-BUILD-04.md § 3) est la flèche « Map Left » (section Map & World) et le pavé 7, déjà liée à l'action « Favorite 7 » (section Favorites). Si le menu indique un autre nom, prendre une flèche et une action du même genre, et le dire. Relever le nombre d'actions du journal avant (Clavier : <n> actions : attendu 51, § 2.3).

Cas Lot Correctif (CHG / ERR / ticket) Action de l'utilisateur Attendu Contrôle automatique du journal Verdict Découvreur Heure
COMMUN-21.7 KEY2 KEY2-IMPL-03 ; KEY2-BUILD-04.md § 3 point 1 ; KEY2-DIAG-03.md § 4 option 1 Dans Map & World, cliquer Change sur une flèche (exemple : Map Left), puis appuyer sur le pavé 7 (déjà pris par Favorite 7) une seule fois, sans maintenir La ligne d'état affiche « … is used by Favorite 7. Press it again to replace, Escape to cancel. » ; rien n'est changé : la flèche garde sa touche d'origine, Favorite 7 garde le pavé 7 ; la capture reste en attente motif Clavier : .* actions et .* axes enregistres : aucune ligne neuve à ce moment ; à la relecture ultérieure, 51 actions (jamais 50)
COMMUN-21.8 KEY2 idem ; point 2 Même montage que .7 (Change, pavé 7 une fois), puis appuyer sur Échap ; ouvrir de nouveau le menu pour relire la flèche et Favorite 7 Ligne d'état « Capture cancelled. » ; la flèche et Favorite 7 gardent leurs touches d'origine ; aucune action perdue motif Clavier : .* enregistres : aucune ligne neuve ; motif Fatal|Unhandled|Critical error|Assertion failed : 0
COMMUN-21.9 KEY2 idem ; point 3 Change sur la même flèche, pavé 7 (message d'avertissement), puis second appui du pavé 7 (appui bref, sans maintenir) Ligne d'état « NumPad 7 saved. Removed from: Favorite 7. » (le nom d'affichage de la touche peut différer, le reste du texte est exact) ; la flèche a le pavé 7 ; Favorite 7 n'a plus le pavé 7 (elle garde l'autre touche qu'elle avait) motif Clavier : 50 actions et 17 axes enregistres : 1 ligne (51 → 50)
COMMUN-21.10 KEY2 idem ; point 4 Après le cas .9, cliquer Reset dans le menu Clavier (confirmer s'il le demande) ; relire la flèche et Favorite 7 Les 51 actions sont rendues : la flèche a sa touche d'origine, Favorite 7 retrouve le pavé 7 ; aucune ligne manquante motif Clavier : 51 actions et 17 axes enregistres : 1 ligne après le Reset ; à la relance suivante : Clavier : 51 actions et 17 axes relus
COMMUN-21.11 KEY2 idem ; point 5 Change sur une flèche, puis maintenir le pavé 7 enfoncé plusieurs secondes (sans relâcher) pour provoquer la répétition de touche ; relâcher Une touche tenue ne remplace pas : la ligne d'état reste sur l'avertissement « … is used by Favorite 7. Press it again… » ; ni « saved » ni « Removed from » ; Favorite 7 garde le pavé 7. Terminer par Échap motif Clavier : .* enregistres : aucune ligne neuve pendant la touche tenue ; 51 actions inchangées

Après .7 à .11 : vérifier que le menu est revenu à l'état d'origine (51 actions) ; sinon Reset et le noter.

3.3 Non-régression

Cas Lot Correctif (CHG / ERR / ticket) Action de l'utilisateur Attendu Contrôle automatique du journal Verdict Découvreur Heure
COMMUN-21.12 KEY2 menu regroupé de KEY2-IMPL-02 (COMMUN-20.1 à .4) Faire défiler tout le menu Clavier et noter l'ordre des titres de section (capture bienvenue) 9 sections dans cet ordre : Movement, Camera, Map & World, Couple (scene), Actions & Interaction, Menus, Time, Favorites, System ; aucune section « Other » ; Pause dans Time, TestScenes dans System ; les flèches présentes dans Map & World et Couple (scene) sans objet : constat visuel
COMMUN-21.13 STM1 STM1-B6 (COMMUN-20.6, .7) Charger la carte de Londres (mode par défaut) ; laisser finir le chargement ; suivre le fleuve en vue de dessus ; regarder ponts et quais ; puis lire la dernière ligne [LPCity] EAU CentralLondon du journal Plus aucune maison générique sur la Tamise ; ponts, quais, jeeps, arbres intacts ; maisons des berges en place motif \[LPCity\] EAU CentralLondon : masque 59 centres : au moins 1 ; epargnees 0 sur la dernière ligne ; recopier N, masquees et centres sans instance
COMMUN-21.14 CAM2 POV de scène (voir COMMUN-19.1 pour la méthode ; COMMUN-20.10) Lancer une scène en pièce visible, passer en POV (tête du personnage 1) ; souris bouton tenu : haut, bas, gauche, droite ; C pour le personnage 2 et recommencer Même comportement qu'au BILAN de COMMUN-19 / COMMUN-20 : la vue bouge à la souris ; noter les sens. F6 et la confirmation des touches ne doivent rien changer ici. Une partie lancée à la scène doit aussi se charger sans erreur (les personnages de la scène viennent du nouveau dossier) motif POV souris : : au moins 1 ligne par geste ; motif Fatal|Unhandled|Critical error|Assertion failed : 0 ; motif LoadTxt ECHEC : 0

Décompte : 14 cas : F6 6 (.1 à .6, dont .4 conditionnel à une ancienne partie et .5 facultatif), KEY2 5 (.7 à .11), non-régression 3 (.12 à .14).

Relevés communs au journal (hors cas) : Fatal|Unhandled|Critical error|Assertion failed = 0 ; Accessed None : aucun nouveau ; toute ligne LogModdingExtra: Display: Saves de la session recopiée au BILAN ; relevé final des deux dossiers (§ 2.2) recopié au BILAN avec le nombre de fichiers de chacun.

4. Cas témoins

Cas VAL statique (chemin) Verdict statique
COMMUN-21.1 à .6 Docs\Migration\etat\REL\FIX1\FIX1-F6-VAL.md PASS-STATIC avec réserves (V1 à V6 conformes, deux compilations à 0 erreur) ; E1 à E9 reportés, aucun essai en jeu
COMMUN-21.7 à .11 Docs\Migration\etat\REL\KEY2\KEY2-BUILD-04.md build seule : compilation à 0 erreur, Compile LPKeyboardSubsystem.cpp ; aucune VAL de comportement, preuve « à faire à la prochaine build d'essai »
COMMUN-21.12 COMMUN-20-TESTS.md (cas .1 à .4) et son BILAN à relever dans le BILAN de COMMUN-20
COMMUN-21.13 COMMUN-20-TESTS.md (cas .6, .7) et son BILAN à relever dans le BILAN de COMMUN-20
COMMUN-21.14 COMMUN-19-TESTS.md (cas .1) et son BILAN à relever dans le BILAN de COMMUN-19

Aucune VAL de comportement n'existe pour les cas .1 à .11 : aucun verdict statique ne vaut pour un cas de jeu.

PubCheck : à lancer par l'auteur après écriture (pwsh -NoProfile -File Tools/PubCheck.ps1 -Fichiers Docs/Migration/etat/BOSS/COMMUN-21-TESTS.md -Depot "D:/Game/LifePlay-master 5.8", stdin sur /dev/null) ; résultat cité au compte rendu.

Tours : 5 / 40

Fichiers à commiter

  • Docs/Migration/etat/BOSS/COMMUN-21-TESTS.md (A).