mirror of
https://github.com/golang/go
synced 2024-11-18 09:04:49 -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])
|
||||
if stack == "" ||
|
||||
strings.Contains(stack, "os/signal.signal_recv") ||
|
||||
strings.Contains(stack, "created by net.startServer") ||
|
||||
strings.Contains(stack, "created by testing.RunTests") ||
|
||||
strings.Contains(stack, "closeWriteAndWait") ||
|
||||
@ -56,8 +57,9 @@ func interestingGoroutines() (gs []string) {
|
||||
|
||||
// Verify the other tests didn't leave any goroutines running.
|
||||
func goroutineLeaked() bool {
|
||||
if testing.Short() {
|
||||
// not counting goroutines for leakage in -short mode
|
||||
if testing.Short() || runningBenchmarks() {
|
||||
// Don't worry about goroutine leaks in -short mode or in
|
||||
// benchmark mode. Too distracting when there are false positives.
|
||||
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) {
|
||||
http.DefaultTransport.(*http.Transport).CloseIdleConnections()
|
||||
if testing.Short() {
|
||||
|
Loading…
Reference in New Issue
Block a user