From b473b56ebf00e6b4d6cf16664f93e1958fbe2080 Mon Sep 17 00:00:00 2001 From: "Anderson A. Giacomolli" Date: Tue, 10 Nov 2026 01:49:06 -0300 Subject: [PATCH] Wait for the send back line in the retry test The bot writes the end of a send outage to the log after the send returns, so the fake server can hold the message before the line exists. The test now waits for the line instead of reading the log once, which made it fail now and then, also inside nix build. --- telegram_test.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/telegram_test.go b/telegram_test.go index 2166bdf..60e9e86 100644 --- a/telegram_test.go +++ b/telegram_test.go @@ -268,7 +268,13 @@ func TestBotTriesAgainAfterFailures(t *testing.T) { require.Contains(t, logs.String(), "<4>receive failed retry=1ms: 502") require.Contains(t, logs.String(), "<6>receive back after=") require.Contains(t, logs.String(), "<4>send failed retry=1s: 429") - require.Contains(t, logs.String(), "<6>send back after=") + + // The bot logs the end of the outage after the send returns, so the line + // can come after the fake server has the message. + require.Eventually(t, func() bool { + return strings.Contains(logs.String(), "<6>send back after=") + }, 10*time.Second, time.Millisecond) + require.NotContains(t, logs.String(), telegramTestToken) } -- 2.53.0