From d22a087d8e24c7237292fd15a10b624ec2802210 Mon Sep 17 00:00:00 2001 From: Michael SCHAL Date: Fri, 16 Oct 2026 15:36:47 +0200 Subject: [PATCH] =?UTF-8?q?Tests=20:=20trace=20du=20bench=20v=C3=A9rifi?= =?UTF-8?q?=C3=A9e=20sans=20longueur=20de=20prompt=20en=20dur?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit bail_travail_annexe_et_trace attendait prompt_n = 2036 : la longueur du dernier prompt suit le corpus de code du bench, c'est-à-dire l'UI embarquée (internal/loki/ui/index.html). Toute retouche de l'interface cassait donc ce test (ci / rust rouge après l'ajout de la pause des téléchargements et du choix de la seconde carte Strata). Le test vérifie désormais la forme de la trace relayée (prompt_ms = prompt_n / 2, débits du faux moteur) pour un prompt non vide. Le journal de parité du bench, lui, se régénère avec LOKI_PARITY_UPDATE=1 comme les autres. Co-Authored-By: Claude Opus 5.5 --- rust/loki-rs/tests/bench.rs | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/rust/loki-rs/tests/bench.rs b/rust/loki-rs/tests/bench.rs index 89c7d9c..4952e71 100644 --- a/rust/loki-rs/tests/bench.rs +++ b/rust/loki-rs/tests/bench.rs @@ -469,12 +469,19 @@ async fn bail_travail_annexe_et_trace() { *bn.go.side_jobs.lock().unwrap(), vec!["begin 1".to_string(), "end 1 true".to_string()] ); + // La longueur du prompt suit le corpus de code, c'est-à-dire l'UI + // embarquée : la vérifier en dur cassait le test à chaque retouche de + // l'interface. On vérifie la forme de la trace. + let perfs = bn.go.bench_perfs.lock().unwrap().clone(); + assert_eq!(perfs.len(), 1, "{perfs:?}"); + let n = perfs[0]["prompt_n"].as_i64().unwrap_or(0); + assert!(n > 0, "{perfs:?}"); assert_eq!( - *bn.go.bench_perfs.lock().unwrap(), - vec![json!({ - "prompt_n": 2036, "prompt_ms": 1018.0, "prompt_per_second": 2000.0, + perfs[0], + json!({ + "prompt_n": n, "prompt_ms": n as f64 / 2.0, "prompt_per_second": 2000.0, "predicted_n": 300, "predicted_per_second": 50.0, - })] + }) ); // La clé de l'API locale accompagne les requêtes du bench. let auth = bn.fake.lock().unwrap().auth.clone();