aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Marks <pmarks@google.com>2015-07-27 14:39:32 -0700
committerPaul Marks <pmarks@google.com>2015-07-28 05:04:36 +0000
commit85a5fce7adfcd45dafd7303a174608ba0a97a1c7 (patch)
tree1caa8ddd0cd6083bbaf79ca120dc0034bf4b4da2
parent669f5be2ac6f761f8c917baa2ba899ed7f64bc14 (diff)
downloadgo-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.go21
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)