transport/grpc: deflake TestDialTCPUserTimeout
Supersedes CL https://code-review.googlesource.com/c/google-api-go-client/+/44273.
Change-Id: Iebd0762170df534fccfdde024933f9e48a82391f
Reviewed-on: https://code-review.googlesource.com/c/google-api-go-client/+/44990
Reviewed-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Jean de Klerk <deklerk@google.com>
diff --git a/transport/grpc/dial_socketopt_test.go b/transport/grpc/dial_socketopt_test.go
index 6e31383..ba79f6f 100644
--- a/transport/grpc/dial_socketopt_test.go
+++ b/transport/grpc/dial_socketopt_test.go
@@ -35,19 +35,22 @@
func TestDialTCPUserTimeout(t *testing.T) {
l, err := net.Listen("tcp", ":3000")
if err != nil {
- t.Error(err)
- return
+ t.Fatal(err)
}
defer l.Close()
+ acceptErrCh := make(chan error, 1)
+
go func() {
conn, err := l.Accept()
if err != nil {
- t.Error(err)
+ acceptErrCh <- err
return
}
+ defer conn.Close()
+
if err := conn.Close(); err != nil {
- t.Error(err)
+ acceptErrCh <- err
}
}()
@@ -64,6 +67,12 @@
if timeout != tcpUserTimeoutMilliseconds {
t.Fatalf("expected %v, got %v", tcpUserTimeoutMilliseconds, timeout)
}
+
+ select {
+ case err := <-acceptErrCh:
+ t.Fatalf("Accept failed with: %v", err)
+ default:
+ }
}
func getTCPUserTimeout(conn net.Conn) (int, error) {