]> Cypherpunks repositories - gostls13.git/commitdiff
net: Set finalDeadline from TestDialParallel to avoid leaked sockets.
authorPaul Marks <pmarks@google.com>
Mon, 27 Jul 2015 21:39:32 +0000 (14:39 -0700)
committerPaul Marks <pmarks@google.com>
Tue, 28 Jul 2015 05:04:36 +0000 (05:04 +0000)
I've also changed TestDialSerialAsyncSpuriousConnection for consistency,
although it always computes a finalDeadline of zero.

Note that #11225 is the root cause of the socket leak; this just hides
it from the unit test by restoring the shorter timeout.

Fixes #11878

Change-Id: Ie0037dd3bce6cc81d196765375489f8c61be74c2
Reviewed-on: https://go-review.googlesource.com/12712
Reviewed-by: Russ Cox <rsc@golang.org>
Run-TryBot: Paul Marks <pmarks@google.com>

src/net/dial_test.go

index aa916d4dcb41c9cd127a3c65712763189e768039..669fcc8ce10736e2a285068d0683d44f4a0d9a81 100644 (file)
@@ -386,13 +386,15 @@ func TestDialParallel(t *testing.T) {
 
                primaries := makeAddrs(tt.primaries, dss.port)
                fallbacks := makeAddrs(tt.fallbacks, dss.port)
+               d := Dialer{
+                       FallbackDelay: fallbackDelay,
+                       Timeout:       slowTimeout,
+               }
                ctx := &dialContext{
-                       Dialer: Dialer{
-                               FallbackDelay: fallbackDelay,
-                               Timeout:       slowTimeout,
-                       },
-                       network: "tcp",
-                       address: "?",
+                       Dialer:        d,
+                       network:       "tcp",
+                       address:       "?",
+                       finalDeadline: d.deadline(time.Now()),
                }
                startTime := time.Now()
                c, err := dialParallel(ctx, primaries, fallbacks)
@@ -513,9 +515,12 @@ func TestDialSerialAsyncSpuriousConnection(t *testing.T) {
        }
        defer ln.Close()
 
+       d := Dialer{}
        ctx := &dialContext{
-               network: "tcp",
-               address: "?",
+               Dialer:        d,
+               network:       "tcp",
+               address:       "?",
+               finalDeadline: d.deadline(time.Now()),
        }
 
        results := make(chan dialResult)