Skip to content

Commit eb0f130

Browse files
authored
test: use t.tmpdir to create temp directory in tests (#5508)
* refactor: use t.tmpdir to create temp directory in tests replace manual mkdir+remove+error-handling with t.tmpdir * lint: fix linter issues
1 parent dc3ee01 commit eb0f130

File tree

9 files changed

+28
-73
lines changed

9 files changed

+28
-73
lines changed

internal/pkg/agent/application/filelock/locker_test.go

+1-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
package filelock
66

77
import (
8-
"os"
98
"testing"
109

1110
"github.com/stretchr/testify/assert"
@@ -15,8 +14,7 @@ import (
1514
const testLockFile = "test.lock"
1615

1716
func TestAppLocker(t *testing.T) {
18-
tmp, _ := os.MkdirTemp("", "locker")
19-
defer os.RemoveAll(tmp)
17+
tmp := t.TempDir()
2018

2119
locker1 := NewAppLocker(tmp, testLockFile)
2220
locker2 := NewAppLocker(tmp, testLockFile)

internal/pkg/agent/application/gateway/fleet/fleet_gateway_test.go

+1-7
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import (
1212
"io"
1313
"net/http"
1414
"net/url"
15-
"os"
1615
"path/filepath"
1716
"sync"
1817
"testing"
@@ -498,19 +497,14 @@ func runFleetGateway(ctx context.Context, g coordinator.FleetGateway) <-chan err
498497
}
499498

500499
func newStateStore(t *testing.T, log *logger.Logger) *store.StateStore {
501-
dir, err := os.MkdirTemp("", "fleet-gateway-unit-test")
502-
require.NoError(t, err)
500+
dir := t.TempDir()
503501

504502
filename := filepath.Join(dir, "state.enc")
505503
diskStore, err := storage.NewDiskStore(filename)
506504
require.NoError(t, err)
507505
stateStore, err := store.NewStateStore(log, diskStore)
508506
require.NoError(t, err)
509507

510-
t.Cleanup(func() {
511-
os.RemoveAll(dir)
512-
})
513-
514508
return stateStore
515509
}
516510

internal/pkg/agent/application/secret/secret_test.go

-3
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ package secret
66

77
import (
88
"context"
9-
"os"
109
"path/filepath"
1110
"testing"
1211
"time"
@@ -67,6 +66,4 @@ func TestCreate(t *testing.T) {
6766
t.Fatal(err)
6867
}
6968
}
70-
71-
os.RemoveAll(filepath.Dir(getTestVaultPath(t)))
7269
}

internal/pkg/agent/storage/storage_test.go

+9-19
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,9 @@ func TestReplaceOrRollbackStore(t *testing.T) {
2828
failure := NewHandlerStore(func(_ io.Reader) error { return errors.New("fail") })
2929

3030
t.Run("when the save is successful with target and source don't match", func(t *testing.T) {
31-
target, err := genFile(oldContent)
31+
target, err := genFile(t, oldContent)
3232
require.NoError(t, err)
3333
dir := filepath.Dir(target)
34-
defer os.RemoveAll(dir)
3534

3635
requireFilesCount(t, dir, 1)
3736

@@ -53,10 +52,9 @@ func TestReplaceOrRollbackStore(t *testing.T) {
5352
})
5453

5554
t.Run("when save is not successful", func(t *testing.T) {
56-
target, err := genFile(oldContent)
55+
target, err := genFile(t, oldContent)
5756
require.NoError(t, err)
5857
dir := filepath.Dir(target)
59-
defer os.RemoveAll(dir)
6058

6159
requireFilesCount(t, dir, 1)
6260

@@ -77,10 +75,9 @@ func TestReplaceOrRollbackStore(t *testing.T) {
7775
})
7876

7977
t.Run("when save is successful with target and source content match", func(t *testing.T) {
80-
target, err := genFile(replaceWith)
78+
target, err := genFile(t, replaceWith)
8179
require.NoError(t, err)
8280
dir := filepath.Dir(target)
83-
defer os.RemoveAll(dir)
8481

8582
requireFilesCount(t, dir, 1)
8683

@@ -104,11 +101,10 @@ func TestReplaceOrRollbackStore(t *testing.T) {
104101
t.Run("when replace is skipped due to target already containing source content", func(t *testing.T) {
105102
yamlTarget := []byte("fleet:\n enabled: true\nother: value\n")
106103
yamlReplaceWith := []byte("#This comment is left out\nfleet:\n enabled: true\n")
107-
target, err := genFile(yamlTarget)
104+
target, err := genFile(t, yamlTarget)
108105

109106
require.NoError(t, err)
110107
dir := filepath.Dir(target)
111-
defer os.RemoveAll(dir)
112108

113109
requireFilesCount(t, dir, 1)
114110

@@ -141,9 +137,8 @@ func TestReplaceOrRollbackStore(t *testing.T) {
141137

142138
func TestDiskStore(t *testing.T) {
143139
t.Run("when the target file already exists", func(t *testing.T) {
144-
target, err := genFile([]byte("hello world"))
140+
target, err := genFile(t, []byte("hello world"))
145141
require.NoError(t, err)
146-
defer os.Remove(target)
147142
d, err := NewDiskStore(target)
148143
require.NoError(t, err)
149144

@@ -159,9 +154,7 @@ func TestDiskStore(t *testing.T) {
159154
})
160155

161156
t.Run("when the target do no exist", func(t *testing.T) {
162-
dir, err := os.MkdirTemp("", "configs")
163-
require.NoError(t, err)
164-
defer os.Remove(dir)
157+
dir := t.TempDir()
165158

166159
target := filepath.Join(dir, "hello.txt")
167160
d, err := NewDiskStore(target)
@@ -180,7 +173,7 @@ func TestDiskStore(t *testing.T) {
180173

181174
t.Run("return an io.ReadCloser to the target file", func(t *testing.T) {
182175
msg := []byte("bonjour la famille")
183-
target, err := genFile(msg)
176+
target, err := genFile(t, msg)
184177
require.NoError(t, err)
185178

186179
d, err := NewDiskStore(target)
@@ -197,11 +190,8 @@ func TestDiskStore(t *testing.T) {
197190
})
198191
}
199192

200-
func genFile(b []byte) (string, error) {
201-
dir, err := os.MkdirTemp("", "configs")
202-
if err != nil {
203-
return "", err
204-
}
193+
func genFile(t *testing.T, b []byte) (string, error) {
194+
dir := t.TempDir()
205195

206196
f, err := os.CreateTemp(dir, "config-")
207197
if err != nil {

internal/pkg/config/config_test.go

+2-6
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,7 @@ func TestInputsResolveNOOP(t *testing.T) {
4242
},
4343
}
4444

45-
tmp, err := os.MkdirTemp("", "config")
46-
require.NoError(t, err)
47-
defer os.RemoveAll(tmp)
45+
tmp := t.TempDir()
4846

4947
cfgPath := filepath.Join(tmp, "config.yml")
5048
dumpToYAML(t, cfgPath, contents)
@@ -95,9 +93,7 @@ func TestCommaParsing(t *testing.T) {
9593
}
9694

9795
func testLoadFiles(t *testing.T) {
98-
tmp, err := os.MkdirTemp("", "watch")
99-
require.NoError(t, err)
100-
defer os.RemoveAll(tmp)
96+
tmp := t.TempDir()
10197

10298
f1 := filepath.Join(tmp, "1.yml")
10399
dumpToYAML(t, f1, map[string]interface{}{

internal/pkg/dir/discover_test.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,7 @@ func TestDiscover(t *testing.T) {
5858

5959
func withFiles(files []string, fn func(dst string, t *testing.T)) func(t *testing.T) {
6060
return func(t *testing.T) {
61-
tmp, _ := os.MkdirTemp("", "watch")
62-
defer os.RemoveAll(tmp)
61+
tmp := t.TempDir()
6362

6463
for _, file := range files {
6564
path := filepath.Join(tmp, file)

internal/pkg/filewatcher/watcher_test.go

+12-24
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,7 @@ func TestWatch(t *testing.T) {
2323
}))
2424

2525
t.Run("newly added files are discovered", withWatch(func(t *testing.T, w *Watch) {
26-
tmp, err := os.MkdirTemp("", "watch")
27-
require.NoError(t, err)
28-
defer os.RemoveAll(tmp)
26+
tmp := t.TempDir()
2927

3028
path := filepath.Join(tmp, "hello.txt")
3129
empty, err := os.Create(path)
@@ -42,9 +40,7 @@ func TestWatch(t *testing.T) {
4240
}))
4341

4442
t.Run("ignore old files", withWatch(func(t *testing.T, w *Watch) {
45-
tmp, err := os.MkdirTemp("", "watch")
46-
require.NoError(t, err)
47-
defer os.RemoveAll(tmp)
43+
tmp := t.TempDir()
4844

4945
path := filepath.Join(tmp, "hello.txt")
5046
empty, err := os.Create(path)
@@ -67,9 +63,7 @@ func TestWatch(t *testing.T) {
6763
}))
6864

6965
t.Run("can unwatch a watched file", withWatch(func(t *testing.T, w *Watch) {
70-
tmp, err := os.MkdirTemp("", "watch")
71-
require.NoError(t, err)
72-
defer os.RemoveAll(tmp)
66+
tmp := t.TempDir()
7367

7468
path := filepath.Join(tmp, "hello.txt")
7569
empty, err := os.Create(path)
@@ -96,7 +90,7 @@ func TestWatch(t *testing.T) {
9690
w.Unwatch(path)
9791

9892
// Add new content to the file.
99-
os.WriteFile(path, []byte("heeeelo"), 0644)
93+
assert.NoError(t, os.WriteFile(path, []byte("heeeelo"), 0644))
10094

10195
// Should not find the file.
10296
r, u, err = w.scan()
@@ -106,9 +100,7 @@ func TestWatch(t *testing.T) {
106100
}))
107101

108102
t.Run("can returns the list of watched files", withWatch(func(t *testing.T, w *Watch) {
109-
tmp, err := os.MkdirTemp("", "watch")
110-
require.NoError(t, err)
111-
defer os.RemoveAll(tmp)
103+
tmp := t.TempDir()
112104

113105
path := filepath.Join(tmp, "hello.txt")
114106
empty, err := os.Create(path)
@@ -124,9 +116,7 @@ func TestWatch(t *testing.T) {
124116
}))
125117

126118
t.Run("update returns updated, unchanged and watched files", withWatch(func(t *testing.T, w *Watch) {
127-
tmp, err := os.MkdirTemp("", "watch")
128-
require.NoError(t, err)
129-
defer os.RemoveAll(tmp)
119+
tmp := t.TempDir()
130120

131121
path1 := filepath.Join(tmp, "hello-1.txt")
132122
empty, err := os.Create(path1)
@@ -151,7 +141,8 @@ func TestWatch(t *testing.T) {
151141
w.Watch(path3)
152142

153143
// Set initial state
154-
w.Update()
144+
_, err = w.Update()
145+
require.NoError(t, err)
155146

156147
// Reset watched files.
157148
w.Reset()
@@ -165,7 +156,8 @@ func TestWatch(t *testing.T) {
165156
// Add new content to the file.
166157
f, err := os.OpenFile(path3, os.O_APPEND|os.O_WRONLY, 0600)
167158
require.NoError(t, err)
168-
f.Write([]byte("more-hello"))
159+
_, err = f.Write([]byte("more-hello"))
160+
require.NoError(t, err)
169161
require.NoError(t, f.Sync())
170162
f.Close()
171163

@@ -183,9 +175,7 @@ func TestWatch(t *testing.T) {
183175
}))
184176

185177
t.Run("should cleanup files that disapear", withWatch(func(t *testing.T, w *Watch) {
186-
tmp, err := os.MkdirTemp("", "watch")
187-
require.NoError(t, err)
188-
defer os.RemoveAll(tmp)
178+
tmp := t.TempDir()
189179

190180
path1 := filepath.Join(tmp, "hello.txt")
191181
empty, err := os.Create(path1)
@@ -200,9 +190,7 @@ func TestWatch(t *testing.T) {
200190
}))
201191

202192
t.Run("should allow to invalidate the cache ", withWatch(func(t *testing.T, w *Watch) {
203-
tmp, err := os.MkdirTemp("", "watch")
204-
require.NoError(t, err)
205-
defer os.RemoveAll(tmp)
193+
tmp := t.TempDir()
206194

207195
path1 := filepath.Join(tmp, "hello.txt")
208196
empty, err := os.Create(path1)

pkg/component/runtime/conn_info_server_test.go

+1-6
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import (
1111
"io"
1212
"net"
1313
"net/url"
14-
"os"
1514
"runtime"
1615
"syscall"
1716
"testing"
@@ -92,11 +91,7 @@ func getAddress(dir string, isLocal bool) string {
9291
}
9392

9493
func runTests(t *testing.T, fn func(*testing.T, string)) {
95-
sockdir, err := os.MkdirTemp("", "")
96-
if err != nil {
97-
t.Fatal(err)
98-
}
99-
defer os.RemoveAll(sockdir)
94+
sockdir := t.TempDir()
10095

10196
tests := []struct {
10297
name string

pkg/packer/packer_test.go

+1-3
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,7 @@ func TestPacker(t *testing.T) {
2424

2525
withFiles := func(test tt, fn func(pattern []string, t *testing.T)) func(t *testing.T) {
2626
return func(t *testing.T) {
27-
d, err := os.MkdirTemp("", "packer")
28-
require.NoError(t, err)
29-
defer os.RemoveAll(d)
27+
d := t.TempDir()
3028

3129
for f, v := range test.content {
3230
path := filepath.Join(d, f)

0 commit comments

Comments
 (0)