From 127e8c3d9514e62ec3a71b77011e797c77acde30 Mon Sep 17 00:00:00 2001 From: Frank Hamand Date: Sat, 26 May 2018 09:04:54 +0100 Subject: [PATCH] Refactor test run to separate method This will allow us to parallelise it more easily Signed-off-by: Frank Hamand --- pkg/releasetesting/test_suite.go | 66 ++++++++++++++++++-------------- 1 file changed, 37 insertions(+), 29 deletions(-) diff --git a/pkg/releasetesting/test_suite.go b/pkg/releasetesting/test_suite.go index 8ba83fdb2..e2182fa3c 100644 --- a/pkg/releasetesting/test_suite.go +++ b/pkg/releasetesting/test_suite.go @@ -75,47 +75,55 @@ func (ts *TestSuite) Run(env *Environment) error { return err } - test.result.StartedAt = timeconv.Now() - if err := env.streamRunning(test.result.Name); err != nil { + if err := test.run(env); err != nil { return err } - test.result.Status = release.TestRun_RUNNING - resourceCreated := true - if err := env.createTestPod(test); err != nil { - resourceCreated = false - if streamErr := env.streamError(test.result.Info); streamErr != nil { - return err - } - } + ts.Results = append(ts.Results, test.result) + } - resourceCleanExit := true - status := v1.PodUnknown - if resourceCreated { - status, err = env.getTestPodStatus(test) - if err != nil { - resourceCleanExit = false - if streamErr := env.streamError(test.result.Info); streamErr != nil { - return streamErr - } - } + ts.CompletedAt = timeconv.Now() + return nil +} + +func (t *test) run(env *Environment) error { + t.result.StartedAt = timeconv.Now() + if err := env.streamRunning(t.result.Name); err != nil { + return err + } + t.result.Status = release.TestRun_RUNNING + + resourceCreated := true + if err := env.createTestPod(t); err != nil { + resourceCreated = false + if streamErr := env.streamError(t.result.Info); streamErr != nil { + return err } + } - if resourceCreated && resourceCleanExit { - if err := test.assignTestResult(status); err != nil { - return err + resourceCleanExit := true + status := v1.PodUnknown + if resourceCreated { + status, err = env.getTestPodStatus(test) + if err != nil { + resourceCleanExit = false + if streamErr := env.streamError(test.result.Info); streamErr != nil { + return streamErr } + } + } - if err := env.streamResult(test.result); err != nil { - return err - } + if resourceCreated && resourceCleanExit { + if err := t.assignTestResult(status); err != nil { + return err } - test.result.CompletedAt = timeconv.Now() - ts.Results = append(ts.Results, test.result) + if err := env.streamResult(t.result); err != nil { + return err + } } - ts.CompletedAt = timeconv.Now() + t.result.CompletedAt = timeconv.Now() return nil }