mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
context: adjust tests to avoid importing "testing" in package context
So that testing can use context in its public API. For #16221. Change-Id: I6263fa7266c336c9490f20164ce79336df44a57e Reviewed-on: https://go-review.googlesource.com/32648 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
parent
2b59b15f6b
commit
606f81eef3
3 changed files with 112 additions and 56 deletions
44
src/context/benchmark_test.go
Normal file
44
src/context/benchmark_test.go
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
// Copyright 2014 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package context_test
|
||||
|
||||
import (
|
||||
. "context"
|
||||
"fmt"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func BenchmarkContextCancelTree(b *testing.B) {
|
||||
depths := []int{1, 10, 100, 1000}
|
||||
for _, d := range depths {
|
||||
b.Run(fmt.Sprintf("depth=%d", d), func(b *testing.B) {
|
||||
b.Run("Root=Background", func(b *testing.B) {
|
||||
for i := 0; i < b.N; i++ {
|
||||
buildContextTree(Background(), d)
|
||||
}
|
||||
})
|
||||
b.Run("Root=OpenCanceler", func(b *testing.B) {
|
||||
for i := 0; i < b.N; i++ {
|
||||
ctx, cancel := WithCancel(Background())
|
||||
buildContextTree(ctx, d)
|
||||
cancel()
|
||||
}
|
||||
})
|
||||
b.Run("Root=ClosedCanceler", func(b *testing.B) {
|
||||
for i := 0; i < b.N; i++ {
|
||||
ctx, cancel := WithCancel(Background())
|
||||
cancel()
|
||||
buildContextTree(ctx, d)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func buildContextTree(root Context, depth int) {
|
||||
for d := 0; d < depth; d++ {
|
||||
root, _ = WithCancel(root)
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue