diff --git a/whisper/whisper_test.go b/whisper/whisper_test.go index b5a919984..1a9a8667a 100644 --- a/whisper/whisper_test.go +++ b/whisper/whisper_test.go @@ -189,13 +189,22 @@ func TestMessageExpiration(t *testing.T) { t.Fatalf("failed to inject message: %v", err) } // Check that the message is inside the cache - if _, ok := node.messages[envelope.Hash()]; !ok { + node.poolMu.RLock() + _, found := node.messages[envelope.Hash()] + node.poolMu.RUnlock() + + if !found { t.Fatalf("message not found in cache") } // Wait for expiration and check cache again time.Sleep(time.Second) // wait for expiration time.Sleep(expirationCycle) // wait for cleanup cycle - if _, ok := node.messages[envelope.Hash()]; ok { + + node.poolMu.RLock() + _, found = node.messages[envelope.Hash()] + node.poolMu.RUnlock() + + if found { t.Fatalf("message not expired from cache") } }