From f62bc25f18180ca2593c7700ba4c1f3e0e82d264 Mon Sep 17 00:00:00 2001 From: Lars Lehtonen Date: Wed, 11 Sep 2019 05:22:01 -0700 Subject: [PATCH] packer/rpc: Fix tests that swallowed errors in goroutines --- packer/rpc/client_test.go | 13 +++++++++---- packer/rpc/mux_broker_test.go | 14 +++++++++----- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/packer/rpc/client_test.go b/packer/rpc/client_test.go index d087886f7..59a9389b9 100644 --- a/packer/rpc/client_test.go +++ b/packer/rpc/client_test.go @@ -12,14 +12,15 @@ func testConn(t *testing.T) (net.Conn, net.Conn) { } var serverConn net.Conn - doneCh := make(chan struct{}) + errChan := make(chan error) go func() { - defer close(doneCh) + defer close(errChan) defer l.Close() var err error serverConn, err = l.Accept() if err != nil { - t.Fatalf("err: %s", err) + errChan <- err + return } }() @@ -27,7 +28,11 @@ func testConn(t *testing.T) (net.Conn, net.Conn) { if err != nil { t.Fatalf("err: %s", err) } - <-doneCh + + err = <-errChan + if err != nil { + t.Fatalf("err: %s", err) + } return clientConn, serverConn } diff --git a/packer/rpc/mux_broker_test.go b/packer/rpc/mux_broker_test.go index fe0a6118a..9f3f7bcd9 100644 --- a/packer/rpc/mux_broker_test.go +++ b/packer/rpc/mux_broker_test.go @@ -60,18 +60,19 @@ func testYamux(t *testing.T) (client *yamux.Session, server *yamux.Session) { } // Server side - doneCh := make(chan struct{}) + errChan := make(chan error) go func() { - defer close(doneCh) + defer close(errChan) conn, err := l.Accept() l.Close() if err != nil { - t.Fatalf("err: %s", err) + errChan <- err + return } server, err = yamux.Server(conn, nil) if err != nil { - t.Fatalf("err: %s", err) + errChan <- err } }() @@ -86,7 +87,10 @@ func testYamux(t *testing.T) (client *yamux.Session, server *yamux.Session) { } // Wait for the server - <-doneCh + err = <-errChan + if err != nil { + t.Fatalf("err: %s", err) + } return }