mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
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: I7bfdf281f90e045146c92444f1370d55c45221d4 Reviewed-on: https://go-review.googlesource.com/54050 Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com> Run-TryBot: Joe Tsai <thebrokentoaster@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
a14a8a3eb9
commit
a1371756c3
2 changed files with 22 additions and 2 deletions
|
|
@ -259,4 +259,25 @@ Goroutine [0-9] \(running\) created at:
|
||||||
runtime\.newextram\(\)
|
runtime\.newextram\(\)
|
||||||
.*/runtime/proc.go:[0-9]+ \+0x[0-9,a-f]+
|
.*/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`},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -697,8 +697,7 @@ func tRunner(t *T, fn func(t *T)) {
|
||||||
// a call to runtime.Goexit, record the duration and send
|
// a call to runtime.Goexit, record the duration and send
|
||||||
// a signal saying that the test is done.
|
// a signal saying that the test is done.
|
||||||
defer func() {
|
defer func() {
|
||||||
t.raceErrors += race.Errors()
|
if t.raceErrors+race.Errors() > 0 {
|
||||||
if t.raceErrors > 0 {
|
|
||||||
t.Errorf("race detected during execution of test")
|
t.Errorf("race detected during execution of test")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue