Skip to content

Commit df2511c

Browse files
committed
fix: record temporary homeDir for later cleanup
1 parent 985faba commit df2511c

1 file changed

Lines changed: 16 additions & 29 deletions

File tree

internal/job/integration/executor_tester.go

Lines changed: 16 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"bytes"
66
"context"
77
"encoding/json"
8+
"errors"
89
"fmt"
910
"io"
1011
"log"
@@ -117,6 +118,7 @@ func NewExecutorTester(ctx context.Context) (*ExecutorTester, error) {
117118
// use the mock instead.
118119
"BUILDKITE_OVERRIDE_SELF=buildkite-agent",
119120
},
121+
HomeDir: homeDir,
120122
PathDir: pathDir,
121123
BuildDir: buildDir,
122124
HooksDir: hooksDir,
@@ -356,39 +358,24 @@ func (e *ExecutorTester) Close() {
356358
_ = e.CloseErr()
357359
}
358360

359-
// CloseErr closes the tester and returns any cleanup error.
361+
// CloseErr closes the tester and returns all cleanup errors.
360362
func (e *ExecutorTester) CloseErr() error {
363+
var errs []error
361364
for _, mock := range e.mocks {
362-
if err := mock.Close(); err != nil {
363-
return err
364-
}
365+
errs = append(errs, mock.Close())
365366
}
366367
if e.Repo != nil {
367-
if err := e.Repo.CloseErr(); err != nil {
368-
return err
369-
}
370-
}
371-
if err := os.RemoveAll(e.HomeDir); err != nil {
372-
return err
373-
}
374-
if err := os.RemoveAll(e.BuildDir); err != nil {
375-
return err
376-
}
377-
if err := os.RemoveAll(e.HooksDir); err != nil {
378-
return err
379-
}
380-
if err := os.RemoveAll(e.PathDir); err != nil {
381-
return err
382-
}
383-
if err := os.RemoveAll(e.PluginsDir); err != nil {
384-
return err
385-
}
386-
if e.GitMirrorsDir != "" {
387-
if err := os.RemoveAll(e.GitMirrorsDir); err != nil {
388-
return err
389-
}
390-
}
391-
return nil
368+
errs = append(errs, e.Repo.CloseErr())
369+
}
370+
errs = append(errs,
371+
os.RemoveAll(e.HomeDir),
372+
os.RemoveAll(e.BuildDir),
373+
os.RemoveAll(e.HooksDir),
374+
os.RemoveAll(e.PathDir),
375+
os.RemoveAll(e.PluginsDir),
376+
os.RemoveAll(e.GitMirrorsDir),
377+
)
378+
return errors.Join(errs...)
392379
}
393380

394381
func mockEnvAsJSONOnStdout(e *ExecutorTester) func(c *bintest.Call) {

0 commit comments

Comments
 (0)