http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59506
--- Comment #2 from Uroš Bizjak <ubizjak at gmail dot com> --- This is the TestSelfConnect testcase (from net/dial_test.go) problem: --cut here-- // Try to connect to that address repeatedly. n := 100000 if testing.Short() { n = 1000 } switch runtime.GOOS { case "darwin", "dragonfly", "freebsd", "netbsd", "openbsd", "plan9", "solaris", "windows": // Non-Linux systems take a long time to figure // out that there is nothing listening on localhost. n = 100 } for i := 0; i < n; i++ { c, err := Dial("tcp", addr) if err == nil { c.Close() t.Errorf("#%d: Dial %q succeeded", i, addr) } } --cut here-- The Dial takes approx a second to timeout on alpha (kernel 3.12.2, glibc 2.15), so the test with 100000 connections timeouts. Changing the number of repetitions to 100 "fixes" the test, while trying with 1000 still timeouts. However, I would like to propose following patch to change Dial to DialTimeout with a millisecond deterministic timeout: --cut here-- Index: go/net/dial_test.go =================================================================== --- go/net/dial_test.go (revision 206123) +++ go/net/dial_test.go (working copy) @@ -147,7 +147,7 @@ n = 100 } for i := 0; i < n; i++ { - c, err := Dial("tcp", addr) + c, err := DialTimeout("tcp", addr, time.Millisecond) if err == nil { c.Close() t.Errorf("#%d: Dial %q succeeded", i, addr) --cut here-- Patched test succeeds without problems (and would probably succeed for other special-cased OSes too), while I believe it still correctly tests for selfconnect misfeature [1],[2]. [1] http://golang.org/issue/2690 [2] http://stackoverflow.com/questions/4949858/