]> Cypherpunks repositories - gostls13.git/commitdiff
net: don't crash DNS flood test on darwin
authorMikio Hara <mikioh.mikioh@gmail.com>
Fri, 13 May 2016 03:13:00 +0000 (12:13 +0900)
committerMikio Hara <mikioh.mikioh@gmail.com>
Sat, 21 May 2016 00:23:53 +0000 (00:23 +0000)
Also renames the test function to TestDNSFlood.

Updates #15659.

Change-Id: Ia562004c43bcc19c2fee9440321c27b591f85da5
Reviewed-on: https://go-review.googlesource.com/23077
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/net/lookup_test.go

index 7d18cbdced7f2004cab9d57331c4b0d849556744..e22d1fbf79b42f1f2d8518b5a3314548770fe0ec 100644 (file)
@@ -371,12 +371,23 @@ func TestReverseAddress(t *testing.T) {
        }
 }
 
-func TestLookupIPDeadline(t *testing.T) {
+func TestDNSFlood(t *testing.T) {
        if !*testDNSFlood {
                t.Skip("test disabled; use -dnsflood to enable")
        }
 
-       const N = 5000
+       var N = 5000
+       if runtime.GOOS == "darwin" {
+               // On Darwin this test consumes kernel threads much
+               // than other platforms for some reason.
+               // When we monitor the number of allocated Ms by
+               // observing on runtime.newm calls, we can see that it
+               // easily reaches the per process ceiling
+               // kern.num_threads when CGO_ENABLED=1 and
+               // GODEBUG=netdns=go.
+               N = 500
+       }
+
        const timeout = 3 * time.Second
        ctxHalfTimeout, cancel := context.WithTimeout(context.Background(), timeout/2)
        defer cancel()