From 4bf7d1e722e852f4a28d1898cbe5d0a0d505763b Mon Sep 17 00:00:00 2001 From: Joe Tsai Date: Thu, 8 Dec 2016 07:13:50 +0000 Subject: Revert "testing: add T.Context method" This reverts commit 26827bc2fe4c80dc68b3793631d24975425c9467. Fixes #18199 Change-Id: I42e292cb4e3d740a4fbb5d0380c6ee15ac742092 Reviewed-on: https://go-review.googlesource.com/34141 Reviewed-by: Brad Fitzpatrick Run-TryBot: Brad Fitzpatrick TryBot-Result: Gobot Gobot --- src/testing/testing_test.go | 38 +++++--------------------------------- 1 file changed, 5 insertions(+), 33 deletions(-) (limited to 'src/testing/testing_test.go') diff --git a/src/testing/testing_test.go b/src/testing/testing_test.go index 9954f9af8c..45e44683b4 100644 --- a/src/testing/testing_test.go +++ b/src/testing/testing_test.go @@ -5,42 +5,14 @@ package testing_test import ( - "fmt" "os" - "runtime" "testing" - "time" ) -func TestMain(m *testing.M) { - g0 := runtime.NumGoroutine() - - code := m.Run() - if code != 0 { - os.Exit(code) - } +// This is exactly what a test would do without a TestMain. +// It's here only so that there is at least one package in the +// standard library with a TestMain, so that code is executed. - // Check that there are no goroutines left behind. - t0 := time.Now() - stacks := make([]byte, 1<<20) - for { - g1 := runtime.NumGoroutine() - if g1 == g0 { - return - } - stacks = stacks[:runtime.Stack(stacks, true)] - time.Sleep(50 * time.Millisecond) - if time.Since(t0) > 2*time.Second { - fmt.Fprintf(os.Stderr, "Unexpected leftover goroutines detected: %v -> %v\n%s\n", g0, g1, stacks) - os.Exit(1) - } - } -} - -func TestContextCancel(t *testing.T) { - ctx := t.Context() - // Tests we don't leak this goroutine: - go func() { - <-ctx.Done() - }() +func TestMain(m *testing.M) { + os.Exit(m.Run()) } -- cgit v1.3-5-g9baa