go/src/testing
Marcel van Lohuizen 4c1aff87f1 testing: gracefully handle subtest failing parent’s T
Don’t panic if a subtest inadvertently calls FailNow
on a parent’s T.  Instead, report the offending subtest
while still reporting the error with the ancestor test and
keep exiting goroutines.

Note that this implementation has a race if parallel
subtests are failing the parent concurrently.
This is fine:
Calling FailNow on a parent is considered an error
in principle, at the moment, and is reported if it is
detected. Having the race allows the race detector
to detect the error as well.

Fixes #22882

Change-Id: Ifa6d5e55bb88f6bcbb562fc8c99f1f77e320015a
Reviewed-on: https://go-review.googlesource.com/97635
Run-TryBot: Marcel van Lohuizen <mpvl@golang.org>
Reviewed-by: Kunpei Sakai <namusyaka@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2018-03-01 10:17:22 +00:00
..
internal/testdeps testing: do not crash when m.Run is called twice and -test.testlogfile is used 2017-12-14 14:57:01 +00:00
iotest testing/iotest: fix NewReadLogger documentation typo 2017-10-19 15:59:21 +00:00
quick doc: mention testing/quick RNG seeding change in Go 1.9 notes 2017-06-27 22:41:49 +00:00
allocs.go
allocs_test.go
benchmark.go testing: remove claim that b.Run is safe for concurrent use 2017-12-01 00:24:53 +00:00
benchmark_test.go
cover.go
example.go testing: use time.Since instead of time.Now().Sub 2017-09-06 19:47:37 +00:00
export_test.go
helper_test.go
helperfuncs_test.go
match.go testing: harmonize handling of prefix-matched benchmarks 2017-06-20 14:19:05 +00:00
match_test.go testing: harmonize handling of prefix-matched benchmarks 2017-06-20 14:19:05 +00:00
sub_test.go testing: gracefully handle subtest failing parent’s T 2018-03-01 10:17:22 +00:00
testing.go testing: gracefully handle subtest failing parent’s T 2018-03-01 10:17:22 +00:00
testing_test.go