From 35fe609722ebece0e694dfa8bf4e0212c033bd26 Mon Sep 17 00:00:00 2001 From: dougal Date: Thu, 11 Sep 2025 12:24:27 +0100 Subject: [PATCH] pool: fix flaky unreliability test --- lib/pool/pool_test.go | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/lib/pool/pool_test.go b/lib/pool/pool_test.go index 0be3e2400..5fa05da7c 100644 --- a/lib/pool/pool_test.go +++ b/lib/pool/pool_test.go @@ -16,23 +16,21 @@ import ( // makes the allocations be unreliable func makeUnreliable(bp *Pool) { - const maxFailsInARow = 10 - var allocFails int + var allocCount int + tests := rand.Intn(4) + 1 bp.alloc = func(size int) ([]byte, error) { - if rand.Intn(3) != 0 && allocFails < maxFailsInARow { - allocFails++ + allocCount++ + if allocCount%tests != 0 { return nil, errors.New("failed to allocate memory") } - allocFails = 0 return make([]byte, size), nil } - var freeFails int + var freeCount int bp.free = func(b []byte) error { - if rand.Intn(3) != 0 && freeFails < maxFailsInARow { - freeFails++ + freeCount++ + if freeCount%tests != 0 { return errors.New("failed to free memory") } - freeFails = 0 return nil } }