mirror of
https://github.com/golang/go
synced 2024-11-18 11:04:42 -07:00
net/http: add a known goroutine, don't check goroutine leaks in benchmark mode
Change-Id: I8aa070f8093e80ba19f0546d7447caf847a2b388 Reviewed-on: https://go-review.googlesource.com/45912 Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
8d2b3bb7b1
commit
a9fc249f5f
@ -37,6 +37,7 @@ func interestingGoroutines() (gs []string) {
|
|||||||
}
|
}
|
||||||
stack := strings.TrimSpace(sl[1])
|
stack := strings.TrimSpace(sl[1])
|
||||||
if stack == "" ||
|
if stack == "" ||
|
||||||
|
strings.Contains(stack, "os/signal.signal_recv") ||
|
||||||
strings.Contains(stack, "created by net.startServer") ||
|
strings.Contains(stack, "created by net.startServer") ||
|
||||||
strings.Contains(stack, "created by testing.RunTests") ||
|
strings.Contains(stack, "created by testing.RunTests") ||
|
||||||
strings.Contains(stack, "closeWriteAndWait") ||
|
strings.Contains(stack, "closeWriteAndWait") ||
|
||||||
@ -56,8 +57,9 @@ func interestingGoroutines() (gs []string) {
|
|||||||
|
|
||||||
// Verify the other tests didn't leave any goroutines running.
|
// Verify the other tests didn't leave any goroutines running.
|
||||||
func goroutineLeaked() bool {
|
func goroutineLeaked() bool {
|
||||||
if testing.Short() {
|
if testing.Short() || runningBenchmarks() {
|
||||||
// not counting goroutines for leakage in -short mode
|
// Don't worry about goroutine leaks in -short mode or in
|
||||||
|
// benchmark mode. Too distracting when there are false positives.
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -92,6 +94,18 @@ func setParallel(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func runningBenchmarks() bool {
|
||||||
|
for i, arg := range os.Args {
|
||||||
|
if strings.HasPrefix(arg, "-test.bench=") && !strings.HasSuffix(arg, "=") {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
if arg == "-test.bench" && i < len(os.Args)-1 && os.Args[i+1] != "" {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
func afterTest(t testing.TB) {
|
func afterTest(t testing.TB) {
|
||||||
http.DefaultTransport.(*http.Transport).CloseIdleConnections()
|
http.DefaultTransport.(*http.Transport).CloseIdleConnections()
|
||||||
if testing.Short() {
|
if testing.Short() {
|
||||||
|
Loading…
Reference in New Issue
Block a user