Run helm tests in parallel with --parallel flag

Signed-off-by: Frank Hamand <frankhamand@gmail.com>
pull/4144/head
Frank Hamand 7 years ago
parent 1c7e0c37d9
commit 0b63ce8c71
No known key found for this signature in database
GPG Key ID: 3A94326B72FE75DF

@ -69,17 +69,40 @@ func (ts *TestSuite) Run(env *Environment) error {
env.streamMessage("No Tests Found", release.TestRun_UNKNOWN)
}
var tests []*test
for _, testManifest := range ts.TestManifests {
test, err := newTest(testManifest)
if err != nil {
return err
}
if err := test.run(env); err != nil {
tests = append(tests, test)
}
if env.Parallel {
c := make(chan error)
for _, t := range tests {
go func(t *test) {
c <- t.run(env)
}(t)
}
for range tests {
if err := <-c; err != nil {
return err
}
}
} else {
for _, t := range tests {
if err := t.run(env); err != nil {
return err
}
}
}
ts.Results = append(ts.Results, test.result)
for _, t := range tests {
ts.Results = append(ts.Results, t.result)
}
ts.CompletedAt = timeconv.Now()

Loading…
Cancel
Save