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>
This commit is contained in:
Paul Marks 2015-07-27 14:39:32 -07:00
parent 669f5be2ac
commit 85a5fce7ad

View file

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