mirror of
https://github.com/golang/go
synced 2024-11-12 09:20:22 -07:00
runtime/race: deflake tests
With the new scheduler races in the tests are reported during execution of other tests. The change joins goroutines started during the tests. R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/7310066
This commit is contained in:
parent
45636db01b
commit
0a9f1ab8bb
7
src/pkg/runtime/race/testdata/mop_test.go
vendored
7
src/pkg/runtime/race/testdata/mop_test.go
vendored
@ -745,7 +745,8 @@ func TestRaceCrawl(t *testing.T) {
|
||||
url := "dummyurl"
|
||||
depth := 3
|
||||
seen := make(map[string]bool)
|
||||
ch := make(chan int)
|
||||
ch := make(chan int, 100)
|
||||
var wg sync.WaitGroup
|
||||
var crawl func(string, int)
|
||||
crawl = func(u string, d int) {
|
||||
nurl := 0
|
||||
@ -759,12 +760,16 @@ func TestRaceCrawl(t *testing.T) {
|
||||
urls := [...]string{"a", "b", "c"}
|
||||
for _, uu := range urls {
|
||||
if _, ok := seen[uu]; !ok {
|
||||
wg.Add(1)
|
||||
go crawl(uu, d-1)
|
||||
nurl++
|
||||
}
|
||||
}
|
||||
wg.Done()
|
||||
}
|
||||
wg.Add(1)
|
||||
go crawl(url, depth)
|
||||
wg.Wait()
|
||||
}
|
||||
|
||||
func TestRaceIndirection(t *testing.T) {
|
||||
|
@ -15,10 +15,13 @@ type LogImpl struct {
|
||||
}
|
||||
|
||||
func NewLog() (l LogImpl) {
|
||||
c := make(chan bool)
|
||||
go func() {
|
||||
_ = l
|
||||
c <- true
|
||||
}()
|
||||
l = LogImpl{}
|
||||
<-c
|
||||
return
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user