From 64f705af2ffdbed6dc3199f40cbc37fde7fc9206 Mon Sep 17 00:00:00 2001 From: Lucia Date: Sun, 2 Nov 2025 22:54:32 +1300 Subject: [PATCH] Extended the wait logic --- eth/sync_test.go | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/eth/sync_test.go b/eth/sync_test.go index dc295f2790..0ad2942e80 100644 --- a/eth/sync_test.go +++ b/eth/sync_test.go @@ -88,17 +88,23 @@ func testSnapSyncDisabling(t *testing.T, ethVer uint, snapVer uint) { if err := empty.handler.downloader.BeaconSync(ethconfig.SnapSync, full.chain.CurrentBlock(), nil); err != nil { t.Fatal("sync failed:", err) } - // Downloader internally has to wait for a timer (3s) to be expired before - // exiting. Poll after to determine if sync is disabled. - time.Sleep(time.Second * 3) - for timeout := time.After(time.Second); ; { + // Instead of relying on a fixed sleep, poll for the flag within a generous deadline + // to accommodate slow CI runners + checkTicker := time.NewTicker(100 * time.Millisecond) + defer checkTicker.Stop() + + checkDeadline := time.NewTimer(6 * time.Second) + defer checkDeadline.Stop() + + for { + if !empty.handler.snapSync.Load() { + return + } select { - case <-timeout: + case <-checkTicker.C: + continue + case <-checkDeadline.C: t.Fatalf("snap sync not disabled after successful synchronisation") - case <-time.After(100 * time.Millisecond): - if !empty.handler.snapSync.Load() { - return - } } } }