Lot 4 : /api/ram et /api/vram servis par Rust

RAM lue dans /proc/meminfo, jauges des cartes par un seul nvidia-smi
partagé entre tous les onglets (cache de deux secondes, une minute quand
nvidia-smi est absent), comme le Go.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
MichaelandClaude Opus 5.5 committed 2026-10-14 17:48:58 +02:00
1 parent dc6a001581
commit b98ee5c3e7
2 files changed
+36 -1

No files matched your search

+15
View File
@@ -65,3 +65,18 @@ async fn routes_portees_protegees_par_la_cle() {
assert_eq!(code, StatusCode::OK, "{path}");
}
}
#[tokio::test]
async fn ram_et_vram() {
let t = tempfile::tempdir().unwrap();
let (f, go, _stop) = fakego::start(t.path().into()).await;
let (code, _, body) = fakego::get(f, "/api/ram", &[]).await;
assert_eq!(code, StatusCode::OK);
let v: serde_json::Value = serde_json::from_slice(&body).unwrap();
assert!(v["used"].is_i64() && v["total"].is_i64(), "{v}");
let (code, _, body) = fakego::get(f, "/api/vram", &[]).await;
assert_eq!(code, StatusCode::OK);
let v: serde_json::Value = serde_json::from_slice(&body).unwrap();
assert!(v.is_array(), "{v}");
assert!(go.relayed.lock().unwrap().is_empty());
}