A mutant the node series missed but the long series killed was still counted as a survivor, so the committed audit overstated what escapes the tests. It now has its own column: 15 of the 137 survivors move there, leaving 122; the committed files are regenerated from their own results, without a rerun. The audit itself now runs in the long series on a small fixture tree: long-series replay, exit code 0 with survivors, exit 2 and nothing written when the baseline fails. The committed audit files are read back and must match what rediger writes. Checked: 3868 node and 105 long tests from the index alone. --- FR --- [IMP] mutation : tués par la série longue à part, audit éprouvé entier Un mutant que la série node manquait et que la série longue tuait comptait encore comme survivant : l'audit commis surestimait ce qui échappe aux épreuves. Il a sa colonne : 15 des 137 survivants y passent, il en reste 122 ; les fichiers commis sont réengendrés de leurs propres résultats, sans rejeu. L'audit tourne entier dans la série longue sur un petit arbre : rejeu long, sortie 0 avec survivants, sortie 2 et rien d'écrit quand la ligne de base tombe. Les fichiers commis sont relus et doivent égaler ce que rediger écrit. Vérifié : 3868 node et 105 longues depuis l'index seul. Assisted-by: Claude Opus 5.5
20 lines
892 B
JavaScript
20 lines
892 B
JavaScript
// © 2026 TechnoLibre (http://www.technolibre.ca)
|
|
// License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl)
|
|
|
|
// Module inventé du petit arbre que test/mutation.long.test.js audite par
|
|
// scripts/mutation/audit.js, posé en src/moteur/bornes.js d'un dossier
|
|
// temporaire. Chaque fonction porte des sites dont l'issue est connue sous
|
|
// bornes.epreuve.js (la série node) et bornes.longue.js (la série longue).
|
|
|
|
// Le plus grand de deux nombres. « a > b » → « a >= b » rend le même nombre
|
|
// pour tout couple : un survivant que ni l'une ni l'autre série ne tue.
|
|
export function plusGrand(a, b) {
|
|
return a > b ? a : b;
|
|
}
|
|
|
|
// Le triple d'un nombre. La série node n'en lit que le type, la série longue
|
|
// la valeur : « n * 3 » → « n / 3 », « n * 4 », « n * 0 » survivent à la
|
|
// première et meurent sous la seconde.
|
|
export function triple(n) {
|
|
return n * 3;
|
|
}
|