diff --git a/utils/hub_test.go b/utils/hub_test.go index 3ecd5a0a61..c9b40a4817 100644 --- a/utils/hub_test.go +++ b/utils/hub_test.go @@ -9,11 +9,17 @@ import ( func TestHubSendEmpty(t *testing.T) { hub := NewHub() // Send to empty hub should silently drop - if r, w, err := hub.Send(&beam.Message{Name: "hello", Args: nil}, beam.R|beam.W); err != nil { + r, w, err := hub.Send(&beam.Message{Name: "hello", Args: nil}, beam.R|beam.W) + // Send must not return an error + if err != nil { t.Fatal(err) - } else if r != nil { + } + // We set beam.R, so a valid receiver must be returned + if r == nil { t.Fatalf("%#v", r) - } else if w != nil { + } + // We set beam.W, so a valid receiver must be returned + if w == nil { t.Fatalf("%#v", w) } } diff --git a/utils/stack.go b/utils/stack.go index 1309402b83..a8b1f6baea 100644 --- a/utils/stack.go +++ b/utils/stack.go @@ -38,7 +38,7 @@ func (s *StackSender) Send(msg *beam.Message, mode int) (r beam.Receiver, w beam return r, w, err } // Silently drop messages if no valid backend is available. - return nil, nil, nil + return NopSender{}.Send(msg, mode) } func (s *StackSender) Add(dst beam.Sender) *StackSender {