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>
diff --git a/src/net/dial_test.go b/src/net/dial_test.go
index aa916d4..669fcc8 100644
--- a/src/net/dial_test.go
+++ b/src/net/dial_test.go
@@ -386,13 +386,15 @@
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 @@
}
defer ln.Close()
+ d := Dialer{}
ctx := &dialContext{
- network: "tcp",
- address: "?",
+ Dialer: d,
+ network: "tcp",
+ address: "?",
+ finalDeadline: d.deadline(time.Now()),
}
results := make(chan dialResult)