diff --git a/network/rounds/retrieve_test.go b/network/rounds/retrieve_test.go index 59ebacd4f23a50d05a19c48b2cc9d8f6b5d415ca..856fa05fa3e9b911f6180b0ed368031993c907a1 100644 --- a/network/rounds/retrieve_test.go +++ b/network/rounds/retrieve_test.go @@ -294,15 +294,17 @@ func TestManager_ProcessMessageRetrieval_Quit(t *testing.T) { messageBundleChan := make(chan message.Bundle) testManager.messageBundles = messageBundleChan + // Initialize the message retrieval + go testManager.processMessageRetrieval(mockComms, stop) + // Close the process early, before any logic below can be completed if err := stop.Close(); err != nil { t.Errorf("Failed to signal close to process: %+v", err) } - time.Sleep(250 * time.Millisecond) - - // Initialize the message retrieval - go testManager.processMessageRetrieval(mockComms, stop) + if err := stoppable.WaitForStopped(stop, 300*time.Millisecond); err != nil { + t.Fatalf("Failed to stop stoppable: %+v", err) + } // Construct expected values for checking expectedEphID := ephemeral.Id{1, 2, 3, 4, 5, 6, 7, 8}