From 41451dd92b03be8fe51db16903a634b9b224c20b Mon Sep 17 00:00:00 2001 From: Mikio Hara Date: Sat, 20 Apr 2013 09:04:20 +0900 Subject: [PATCH] net: enable test for runtime.PollDesc leak Update #5219. R=golang-dev, dvyukov, r CC=golang-dev https://golang.org/cl/8602047 --- src/pkg/net/dial_test.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/pkg/net/dial_test.go b/src/pkg/net/dial_test.go index 62b9a6843e..41821e4adb 100644 --- a/src/pkg/net/dial_test.go +++ b/src/pkg/net/dial_test.go @@ -331,14 +331,13 @@ func numFD() int { panic("numFDs not implemented on " + runtime.GOOS) } +var testPoller = flag.Bool("poller", false, "platform supports runtime-integrated poller") + // Assert that a failed Dial attempt does not leak // runtime.PollDesc structures -func TestDialPollDescLeak(t *testing.T) { - // remove once CL 8318044 is submitted - t.Skip("Test skipped pending submission of CL 8318044") - - if testing.Short() { - t.Skip("skipping PollDesc leak test in -short mode") +func TestDialFailPDLeak(t *testing.T) { + if !*testPoller { + t.Skip("test disabled; use -poller to enable") } const loops = 10 @@ -352,10 +351,11 @@ func TestDialPollDescLeak(t *testing.T) { old = new return delta } + d := &Dialer{Timeout: time.Nanosecond} // don't bother TCP with handshaking failcount := 0 for i := 0; i < loops; i++ { for i := 0; i < count; i++ { - conn, err := Dial("tcp", "127.0.0.1:1") + conn, err := d.Dial("tcp", "127.0.0.1:1") if err == nil { t.Error("dial should not succeed") conn.Close() @@ -367,7 +367,7 @@ func TestDialPollDescLeak(t *testing.T) { } // there are always some allocations on the first loop if failcount > 3 { - t.Error("net.Dial leaked memory") + t.Error("detected possible memory leak in runtime") t.FailNow() } } -- 2.48.1