INNER CODE UNIT · Go
parallelize
cweill/gotests · gotests.go:76
func parallelize(srcFiles, files []models.Path, opt *Options) ([]*GeneratedTest, error) {
var wg sync.WaitGroup
rs := make(chan *result, len(srcFiles))
for _, src := range srcFiles {
wg.Add(1)
// Worker
go func(src models.Path) {
defer wg.Done()
r := &result{}
r.gt, r.err = generateTest(src, files, opt)
rs <- r
}(src)
}
// Closer.
go func() {
wg.Wait()
close(rs)
}()