]> Cypherpunks repositories - gostls13.git/commitdiff
net: deflake TestDialerDualStackFDLeak
authorMikio Hara <mikioh.mikioh@gmail.com>
Thu, 19 May 2016 08:36:47 +0000 (17:36 +0900)
committerBrad Fitzpatrick <bradfitz@golang.org>
Thu, 19 May 2016 14:31:49 +0000 (14:31 +0000)
Fixes #14717.
Updates #15157.

Change-Id: I7238b4fe39f3670c2dfe09b3a3df51a982f261ed
Reviewed-on: https://go-review.googlesource.com/23244
Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/net/dial_test.go

index 93cffca93d26892389a709fc9a182e002b08c683..a07c5850e11408b48db5e772fdf222c0a52efa00 100644 (file)
@@ -128,13 +128,16 @@ func TestDialerDualStackFDLeak(t *testing.T) {
                t.Skipf("%s does not have full support of socktest", runtime.GOOS)
        case "windows":
                t.Skipf("not implemented a way to cancel dial racers in TCP SYN-SENT state on %s", runtime.GOOS)
-       case "openbsd":
-               testenv.SkipFlaky(t, 15157)
        }
        if !supportsIPv4 || !supportsIPv6 {
                t.Skip("both IPv4 and IPv6 are required")
        }
 
+       closedPortDelay, expectClosedPortDelay := dialClosedPort()
+       if closedPortDelay > expectClosedPortDelay {
+               t.Errorf("got %v; want <= %v", closedPortDelay, expectClosedPortDelay)
+       }
+
        before := sw.Sockets()
        origTestHookLookupIP := testHookLookupIP
        defer func() { testHookLookupIP = origTestHookLookupIP }()
@@ -163,7 +166,7 @@ func TestDialerDualStackFDLeak(t *testing.T) {
        const N = 10
        var wg sync.WaitGroup
        wg.Add(N)
-       d := &Dialer{DualStack: true, Timeout: 100 * time.Millisecond}
+       d := &Dialer{DualStack: true, Timeout: 100*time.Millisecond + closedPortDelay}
        for i := 0; i < N; i++ {
                go func() {
                        defer wg.Done()