Revert "testing: add T.Context method"

This reverts commit 26827bc2fe.

Fixes #18199

Change-Id: I42e292cb4e3d740a4fbb5d0380c6ee15ac742092
Reviewed-on: https://go-review.googlesource.com/34141
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
Joe Tsai 2016-12-08 07:13:50 +00:00 committed by Brad Fitzpatrick
parent e12ce1e400
commit 4bf7d1e722
5 changed files with 34 additions and 96 deletions

View file

@ -204,7 +204,6 @@ package testing
import (
"bytes"
"context"
"errors"
"flag"
"fmt"
@ -262,14 +261,12 @@ type common struct {
mu sync.RWMutex // guards output, failed, and done.
output []byte // Output generated by test or benchmark.
w io.Writer // For flushToParent.
ctx context.Context
cancel context.CancelFunc
chatty bool // A copy of the chatty flag.
ran bool // Test or benchmark (or one of its subtests) was executed.
failed bool // Test or benchmark has failed.
skipped bool // Test of benchmark has been skipped.
finished bool // Test function has completed.
done bool // Test is finished and all subtests have completed.
chatty bool // A copy of the chatty flag.
ran bool // Test or benchmark (or one of its subtests) was executed.
failed bool // Test or benchmark has failed.
skipped bool // Test of benchmark has been skipped.
finished bool // Test function has completed.
done bool // Test is finished and all subtests have completed.
hasSub bool
raceErrors int // number of races detected during test
@ -283,13 +280,6 @@ type common struct {
sub []*T // Queue of subtests to be run in parallel.
}
func (c *common) parentContext() context.Context {
if c == nil || c.parent == nil || c.parent.ctx == nil {
return context.Background()
}
return c.parent.ctx
}
// Short reports whether the -test.short flag is set.
func Short() bool {
return *short
@ -386,7 +376,6 @@ func fmtDuration(d time.Duration) string {
// TB is the interface common to T and B.
type TB interface {
Context() context.Context
Error(args ...interface{})
Errorf(format string, args ...interface{})
Fail()
@ -434,15 +423,6 @@ func (c *common) Name() string {
return c.name
}
// Context returns the context for the current test or benchmark.
// The context is cancelled when the test or benchmark finishes.
// A goroutine started during a test or benchmark can wait for the
// context's Done channel to become readable as a signal that the
// test or benchmark is over, so that the goroutine can exit.
func (c *common) Context() context.Context {
return c.ctx
}
func (c *common) setRan() {
if c.parent != nil {
c.parent.setRan()
@ -619,9 +599,6 @@ type InternalTest struct {
}
func tRunner(t *T, fn func(t *T)) {
t.ctx, t.cancel = context.WithCancel(t.parentContext())
defer t.cancel()
// When this goroutine is done, either because fn(t)
// returned normally or because a test failure triggered
// a call to runtime.Goexit, record the duration and send