mirror of
https://github.com/golang/go
synced 2024-11-26 10:48:22 -07:00
[release-branch.go1.9] testing: don't fail all tests after racy test failure
The code was adding race.Errors to t.raceErrors before checking Failed, but Failed was using t.raceErrors+race.Errors. We don't want to change Failed, since that would affect tests themselves, so modify the harness to not unnecessarily change t.raceErrors. Updates #19851 Fixes #21338 Change-Id: I483f27c68c340928f1cbdef160abc0a5716efb5d Reviewed-on: https://go-review.googlesource.com/57151 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
parent
21312a4b5e
commit
fbf7e1f295
@ -259,4 +259,25 @@ Goroutine [0-9] \(running\) created at:
|
||||
runtime\.newextram\(\)
|
||||
.*/runtime/proc.go:[0-9]+ \+0x[0-9,a-f]+
|
||||
==================`},
|
||||
{"second_test_passes", "test", "", "atexit_sleep_ms=0", `
|
||||
package main_test
|
||||
import "testing"
|
||||
func TestFail(t *testing.T) {
|
||||
done := make(chan bool)
|
||||
x := 0
|
||||
go func() {
|
||||
x = 42
|
||||
done <- true
|
||||
}()
|
||||
x = 43
|
||||
<-done
|
||||
}
|
||||
|
||||
func TestPass(t *testing.T) {
|
||||
}
|
||||
`, `
|
||||
==================
|
||||
--- FAIL: TestFail \(0...s\)
|
||||
.*testing.go:.*: race detected during execution of test
|
||||
FAIL`},
|
||||
}
|
||||
|
@ -695,8 +695,7 @@ func tRunner(t *T, fn func(t *T)) {
|
||||
// a call to runtime.Goexit, record the duration and send
|
||||
// a signal saying that the test is done.
|
||||
defer func() {
|
||||
t.raceErrors += race.Errors()
|
||||
if t.raceErrors > 0 {
|
||||
if t.raceErrors+race.Errors() > 0 {
|
||||
t.Errorf("race detected during execution of test")
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user