fix(rust) : deux bancs de santé ne dépendent plus du disque de la machine #25

Merged
hermes-fusion merged 3 commits from fix/rust-clippy into main 2026-10-17 20:30:02 +02:00
Owner

L'écart

Deux bancs exigeaient un libellé de verdict Jaune exactement égal à « aucune passe enregistrée » :

  • crates/pcmirror-serveur/src/etat.rs (test sante_verte_avec_un_marqueur_frais) ;
  • crates/pcmirror-serveur/tests/parite_reference.rs (test sante_suit_le_marqueur_de_sync).

Or sante::evaluer construit ce libellé avec la première alerte (alertes.first()). Sur une machine dont le disque est presque plein, « place libre faible : x % » passe avant.

Mesuré sur le PC de l'opérateur, disque à 8,7 % libre :

libelle = "place libre faible : 8.7 %", alertes = ["place libre faible : 8.9 %", "aucune passe enregistrée"]

Deux bancs rouges, alors que le code est sain. Un banc qui dépend du disque de la machine ne prouve rien.

Le correctif

  • le premier banc asserte que l'absence de passe figure parmi les alertes (et dit son contenu en cas d'échec) ;
  • le second accepte l'une ou l'autre alerte, en gardant ce qu'il doit prouver : un marqueur frais ne rend pas le verdict vert tant qu'aucune passe n'est enregistrée.

Validation locale

vérification résultat
cargo fmt appliqué
cargo clippy --all-targets -- -D warnings 0 avertissement
cargo test 179 tests, 0 échec
front : npm run check / lint / format / test 0 erreur / 0 warning, 69 tests
## L'écart Deux bancs exigeaient un libellé de verdict Jaune **exactement** égal à « aucune passe enregistrée » : - `crates/pcmirror-serveur/src/etat.rs` (test `sante_verte_avec_un_marqueur_frais`) ; - `crates/pcmirror-serveur/tests/parite_reference.rs` (test `sante_suit_le_marqueur_de_sync`). Or `sante::evaluer` construit ce libellé avec la **première** alerte (`alertes.first()`). Sur une machine dont le disque est presque plein, « place libre faible : x % » passe avant. Mesuré sur le PC de l'opérateur, **disque à 8,7 % libre** : ``` libelle = "place libre faible : 8.7 %", alertes = ["place libre faible : 8.9 %", "aucune passe enregistrée"] ``` Deux bancs rouges, alors que le code est sain. Un banc qui dépend du disque de la machine ne prouve rien. ## Le correctif - le premier banc asserte que l'absence de passe figure **parmi les alertes** (et dit son contenu en cas d'échec) ; - le second accepte l'une ou l'autre alerte, en gardant ce qu'il doit prouver : un marqueur frais ne rend pas le verdict vert tant qu'aucune passe n'est enregistrée. ## Validation locale | vérification | résultat | |---|---| | `cargo fmt` | appliqué | | `cargo clippy --all-targets -- -D warnings` | **0 avertissement** | | `cargo test` | **179 tests, 0 échec** | | front : `npm run check` / `lint` / `format` / `test` | 0 erreur / 0 warning, **69 tests** |
fix(rust): deux bancs de santé ne dépendent plus du disque de la machine
Some checks failed
Contrôles des références / Crate pcmirror (formatage, Clippy, tests) (pull_request) Failing after 1s
Contrôles des références / Références du comportement (pull_request) Successful in 2s
Contrôles des références / Livraison (style des scripts, essai à blanc) (pull_request) Successful in 3s
Contrôles des références / Front d'état (types, lint, format, tests, build, bout en bout) (pull_request) Failing after 40s
6b82f75b33
`sante_verte_avec_un_marqueur_frais` (etat.rs) et `sante_suit_le_marqueur_de_sync`
(parite_reference.rs) exigeaient un libellé de verdict Jaune égal à « aucune passe enregistrée ». Or le
libellé d'un verdict Jaune est sa PREMIÈRE alerte : sur une machine dont le disque est presque plein,
« place libre faible : x % » passe avant. Mesuré sur le PC de l'opérateur (8,7 % libre) : deux bancs
rouges, alors que le code est sain — un banc qui dépend du disque de la machine ne prouve rien.

Le premier asserte désormais que l'absence de passe figure PARMI les alertes ; le second accepte l'une ou
l'autre alerte en gardant ce qu'il doit prouver (un marqueur frais ne rend pas le verdict vert tant
qu'aucune passe n'est enregistrée).

`cargo clippy -D warnings` : 0 avertissement. `cargo test` : 179 tests, 0 échec.
Collaborator

fusion-auto : pas de fusion, la CI est rouge (Front d'état, Crate pcmirror). Le chef de l'atelier renvoie la carte à l'agent ; l'étiquette tombera d'elle-même une fois corrigé.

`fusion-auto` : pas de fusion, la CI est rouge (Front d'état, Crate pcmirror). Le chef de l'atelier renvoie la carte à l'agent ; l'étiquette tombera d'elle-même une fois corrigé.
relance CI (rustfmt et clippy installes sur l'executant)
Some checks failed
Contrôles des références / Références du comportement (pull_request) Successful in 4s
Contrôles des références / Livraison (style des scripts, essai à blanc) (pull_request) Successful in 7s
Contrôles des références / Front d'état (types, lint, format, tests, build, bout en bout) (pull_request) Failing after 1m28s
Contrôles des références / Crate pcmirror (formatage, Clippy, tests) (pull_request) Failing after 2m5s
d6cb6bcd82
relance CI (fuseau Europe/Paris pose sur l'executant)
All checks were successful
Contrôles des références / Références du comportement (pull_request) Successful in 3s
Contrôles des références / Livraison (style des scripts, essai à blanc) (pull_request) Successful in 6s
Contrôles des références / Crate pcmirror (formatage, Clippy, tests) (pull_request) Successful in 2m36s
Contrôles des références / Front d'état (types, lint, format, tests, build, bout en bout) (pull_request) Successful in 2m32s
718190abf5
hermes-fusion deleted branch fix/rust-clippy 2026-10-17 20:30:02 +02:00
Collaborator

Fusionnée automatiquement par fusion-auto (forge) : CI verte, sans conflit.

Fusionnée automatiquement par `fusion-auto` (forge) : CI verte, sans conflit.
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
foXaCe/pc-mirror!25
No description provided.