From a9ca32bed941ac1401de1eb71d711233ef09ebec Mon Sep 17 00:00:00 2001 From: m3ta-chiron Date: Sat, 24 Oct 2026 10:37:46 +0200 Subject: [PATCH] =?UTF-8?q?test:=20Ruhezeit-Testfenster=20von=20=C2=B11=20?= =?UTF-8?q?auf=20=E2=88=923/+4=20Minuten=20verbreitern?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit TestRuhezeitDiscard kippte, wenn der Lauf (Daemon-Start, Race-Detector) über eine Minutengrenze lief: um hh:mm:59 gestartet, war das Fenster hh:mm−1 bis hh:mm+1 beim Prüfen schon inaktiv. Der im Ledger notierte Timing-Flake. Co-Authored-By: Claude Fable 5.1 --- test/ratelimit_test.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/test/ratelimit_test.go b/test/ratelimit_test.go index 68f6c4d..22199fe 100644 --- a/test/ratelimit_test.go +++ b/test/ratelimit_test.go @@ -14,12 +14,14 @@ import ( "time" ) -// fensterUm legt ein Ruhezeit-Fenster um die aktuelle lokale Zeit (±1 Min, -// Minute-Auflösung reicht) — so ist das Fenster unabhängig von der Uhrzeit -// des Testlaufs sicher aktiv. +// fensterUm legt ein Ruhezeit-Fenster um die aktuelle lokale Zeit — von +// vor drei Minuten bis in vier Minuten — so ist das Fenster unabhängig von +// der Uhrzeit des Testlaufs sicher aktiv, auch wenn der Test (Daemon-Start, +// Race-Detector, langsame CI) über eine Minutengrenze läuft. (±1 Minute +// war zu knapp: ein Lauf um hh:mm:59 kippte in die Inaktivität.) func fensterUm() string { now := time.Now() - return now.Add(-time.Minute).Format("15:04") + "-" + now.Add(time.Minute).Format("15:04") + return now.Add(-3*time.Minute).Format("15:04") + "-" + now.Add(4*time.Minute).Format("15:04") } // lawStatus ist die Gesetz-Sicht aus GET /status.