diff options
author | Paul Marks <pmarks@google.com> | 2015-07-27 14:39:32 -0700 |
---|---|---|
committer | Paul Marks <pmarks@google.com> | 2015-07-28 05:04:36 +0000 |
commit | 85a5fce7adfcd45dafd7303a174608ba0a97a1c7 (patch) | |
tree | 1caa8ddd0cd6083bbaf79ca120dc0034bf4b4da2 | |
parent | 669f5be2ac6f761f8c917baa2ba899ed7f64bc14 (diff) | |
download | go-85a5fce7adfcd45dafd7303a174608ba0a97a1c7.tar.gz go-85a5fce7adfcd45dafd7303a174608ba0a97a1c7.zip |
net: Set finalDeadline from TestDialParallel to avoid leaked sockets.
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>
-rw-r--r-- | src/net/dial_test.go | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/net/dial_test.go b/src/net/dial_test.go index aa916d4dcb..669fcc8ce1 100644 --- a/src/net/dial_test.go +++ b/src/net/dial_test.go @@ -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) |