packer/rpc: Fix tests that swallowed errors in goroutines
This commit is contained in:
parent
142dc846d4
commit
f62bc25f18
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue