From: Russ Cox Date: Tue, 16 Sep 2014 18:02:59 +0000 (-0400) Subject: net: make TestSelfConnect less fragile X-Git-Tag: go1.4beta1~393 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=95c899f03c0e19f498ef3b4a4820cf9121e249a1;p=gostls13.git net: make TestSelfConnect less fragile We believe TestSelfConnect can accidentally connect to something else listening on or dialing from that port. Fixes #8680. LGTM=bradfitz R=bradfitz CC=golang-codereviews, rlh https://golang.org/cl/136700043 --- diff --git a/src/net/dial_test.go b/src/net/dial_test.go index c5c3236ccf..19e289f2e5 100644 --- a/src/net/dial_test.go +++ b/src/net/dial_test.go @@ -119,6 +119,7 @@ func TestSelfConnect(t *testing.T) { // TODO(brainman): do not know why it hangs. t.Skip("skipping known-broken test on windows") } + // Test that Dial does not honor self-connects. // See the comment in DialTCP. @@ -149,8 +150,12 @@ func TestSelfConnect(t *testing.T) { for i := 0; i < n; i++ { c, err := DialTimeout("tcp", addr, time.Millisecond) if err == nil { + if c.LocalAddr().String() == addr { + t.Errorf("#%d: Dial %q self-connect", i, addr) + } else { + t.Logf("#%d: Dial %q succeeded - possibly racing with other listener", i, addr) + } c.Close() - t.Errorf("#%d: Dial %q succeeded", i, addr) } } }