]> Cypherpunks repositories - gostls13.git/commitdiff
net/http: improve test leak checker flakiness
authorBrad Fitzpatrick <bradfitz@golang.org>
Wed, 27 Mar 2013 17:07:22 +0000 (10:07 -0700)
committerBrad Fitzpatrick <bradfitz@golang.org>
Wed, 27 Mar 2013 17:07:22 +0000 (10:07 -0700)
And make it have more useful output on failure.

Update #5005

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/8016046

src/pkg/net/http/z_last_test.go

index a80fb01d0a56fee3372f8f8433dc68c2b9898460..5d97f9db6523eadd04c17016ecdaad19f4a6cec1 100644 (file)
@@ -65,8 +65,6 @@ func afterTest(t *testing.T) {
        if testing.Short() {
                return
        }
-       buf := make([]byte, 1<<20)
-       var stacks string
        var bad string
        badSubstring := map[string]string{
                ").readLoop(":                                  "a Transport",
@@ -75,9 +73,10 @@ func afterTest(t *testing.T) {
                "timeoutHandler":                               "a TimeoutHandler",
                "net.(*netFD).connect(":                        "a timing out dial",
        }
+       var stacks string
        for i := 0; i < 4; i++ {
                bad = ""
-               stacks = string(buf[:runtime.Stack(buf, true)])
+               stacks = strings.Join(interestingGoroutines(), "\n\n")
                for substr, what := range badSubstring {
                        if strings.Contains(stacks, substr) {
                                bad = what
@@ -90,6 +89,5 @@ func afterTest(t *testing.T) {
                // shutting down, so give it some time.
                time.Sleep(250 * time.Millisecond)
        }
-       gs := interestingGoroutines()
-       t.Errorf("Test appears to have leaked %s:\n%s", bad, strings.Join(gs, "\n\n"))
+       t.Errorf("Test appears to have leaked %s:\n%s", bad, stacks)
 }