1
0
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:
Dmitriy Vyukov 2013-02-08 19:24:50 +04:00
parent 45636db01b
commit 0a9f1ab8bb
2 changed files with 9 additions and 1 deletions

View File

@ -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) {

View File

@ -15,10 +15,13 @@ type LogImpl struct {
}
func NewLog() (l LogImpl) {
c := make(chan bool)
go func() {
_ = l
c <- true
}()
l = LogImpl{}
<-c
return
}