Skip to content

Commit 3986cf4

Browse files
authored
test: use T.TempDir to create temporary test directory (#1522)
This commit replaces `os.MkdirTemp` with `t.TempDir` in tests. The directory created by `t.TempDir` is automatically removed when the test and all its subtests complete. Prior to this commit, temporary directory created using `os.MkdirTemp` needs to be removed manually by calling `os.RemoveAll`, which is omitted in some tests. The error handling boilerplate e.g. defer func() { if err := os.RemoveAll(dir); err != nil { t.Fatal(err) } } is also tedious, but `t.TempDir` handles this for us nicely. Reference: https://pkg.go.dev/testing#T.TempDir Signed-off-by: Eng Zer Jun <[email protected]> Signed-off-by: Eng Zer Jun <[email protected]>
1 parent 9db616f commit 3986cf4

4 files changed

Lines changed: 17 additions & 94 deletions

File tree

pkg/authn/keychain_test.go

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,7 @@ func TestMain(m *testing.M) {
5353
func setupConfigDir(t *testing.T) string {
5454
tmpdir := os.Getenv("TEST_TMPDIR")
5555
if tmpdir == "" {
56-
var err error
57-
tmpdir, err = os.MkdirTemp("", "keychain_test")
58-
if err != nil {
59-
t.Fatalf("creating temp dir: %v", err)
60-
}
56+
tmpdir = t.TempDir()
6157
}
6258

6359
fresh++
@@ -98,11 +94,7 @@ func TestNoConfig(t *testing.T) {
9894
func TestPodmanConfig(t *testing.T) {
9995
tmpdir := os.Getenv("TEST_TMPDIR")
10096
if tmpdir == "" {
101-
var err error
102-
tmpdir, err = os.MkdirTemp("", "keychain_test")
103-
if err != nil {
104-
t.Fatalf("creating temp dir: %v", err)
105-
}
97+
tmpdir = t.TempDir()
10698
}
10799
fresh++
108100
p := filepath.Join(tmpdir, fmt.Sprintf("%d", fresh))

pkg/crane/crane_test.go

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -401,11 +401,7 @@ func TestCraneSaveLegacy(t *testing.T) {
401401
func TestCraneSaveOCI(t *testing.T) {
402402
t.Parallel()
403403
// Write an image as an OCI image layout.
404-
tmp, err := os.MkdirTemp("", "")
405-
if err != nil {
406-
t.Fatal(err)
407-
}
408-
defer os.RemoveAll(tmp)
404+
tmp := t.TempDir()
409405

410406
img, err := random.Image(1024, 5)
411407
if err != nil {

pkg/v1/cache/fs_test.go

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,7 @@ import (
2727
)
2828

2929
func TestFilesystemCache(t *testing.T) {
30-
dir, err := os.MkdirTemp("", "ggcr-cache")
31-
if err != nil {
32-
t.Fatalf("TempDir: %v", err)
33-
}
34-
defer os.RemoveAll(dir)
30+
dir := t.TempDir()
3531

3632
numLayers := 5
3733
img, err := random.Image(10, int64(numLayers))
@@ -155,11 +151,7 @@ func TestFilesystemCache(t *testing.T) {
155151
}
156152

157153
func TestErrNotFound(t *testing.T) {
158-
dir, err := os.MkdirTemp("", "ggcr-cache")
159-
if err != nil {
160-
t.Fatalf("TempDir: %v", err)
161-
}
162-
os.RemoveAll(dir) // Remove the tempdir.
154+
dir := t.TempDir()
163155

164156
c := NewFilesystemCache(dir)
165157
h := v1.Hash{Algorithm: "fake", Hex: "not-found"}
@@ -172,11 +164,7 @@ func TestErrNotFound(t *testing.T) {
172164
}
173165

174166
func TestErrUnexpectedEOF(t *testing.T) {
175-
dir, err := os.MkdirTemp("", "ggcr-cache")
176-
if err != nil {
177-
t.Fatalf("TempDir: %v", err)
178-
}
179-
defer os.RemoveAll(dir) // Remove the tempdir.
167+
dir := t.TempDir()
180168

181169
// create a random layer
182170
l, err := random.Layer(10, types.DockerLayer)

pkg/v1/layout/write_test.go

Lines changed: 11 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,7 @@ import (
3535
)
3636

3737
func TestWrite(t *testing.T) {
38-
tmp, err := os.MkdirTemp("", "write-index-test")
39-
if err != nil {
40-
t.Fatal(err)
41-
}
42-
43-
defer os.RemoveAll(tmp)
38+
tmp := t.TempDir()
4439

4540
original, err := ImageIndexFromPath(testPath)
4641
if err != nil {
@@ -78,12 +73,7 @@ func TestWriteErrors(t *testing.T) {
7873
}
7974

8075
func TestAppendDescriptorInitializesIndex(t *testing.T) {
81-
tmp, err := os.MkdirTemp("", "write-index-test")
82-
if err != nil {
83-
t.Fatal(err)
84-
}
85-
86-
defer os.RemoveAll(tmp)
76+
tmp := t.TempDir()
8777
temp, err := Write(tmp, empty.Index)
8878
if err != nil {
8979
t.Fatal(err)
@@ -115,12 +105,7 @@ func TestAppendDescriptorInitializesIndex(t *testing.T) {
115105
}
116106

117107
func TestRoundtrip(t *testing.T) {
118-
tmp, err := os.MkdirTemp("", "write-index-test")
119-
if err != nil {
120-
t.Fatal(err)
121-
}
122-
123-
defer os.RemoveAll(tmp)
108+
tmp := t.TempDir()
124109

125110
original, err := ImageIndexFromPath(testPath)
126111
if err != nil {
@@ -150,10 +135,7 @@ func TestRoundtrip(t *testing.T) {
150135
}
151136

152137
func TestOptions(t *testing.T) {
153-
tmp, err := os.MkdirTemp("", "write-index-test")
154-
if err != nil {
155-
t.Fatal(err)
156-
}
138+
tmp := t.TempDir()
157139
temp, err := Write(tmp, empty.Index)
158140
if err != nil {
159141
t.Fatal(err)
@@ -229,12 +211,7 @@ func TestDeduplicatedWrites(t *testing.T) {
229211

230212
func TestRemoveDescriptor(t *testing.T) {
231213
// need to set up a basic path
232-
tmp, err := os.MkdirTemp("", "remove-descriptor-test")
233-
if err != nil {
234-
t.Fatal(err)
235-
}
236-
237-
defer os.RemoveAll(tmp)
214+
tmp := t.TempDir()
238215

239216
var ii v1.ImageIndex
240217
ii = empty.Index
@@ -290,12 +267,7 @@ func TestRemoveDescriptor(t *testing.T) {
290267

291268
func TestReplaceIndex(t *testing.T) {
292269
// need to set up a basic path
293-
tmp, err := os.MkdirTemp("", "replace-index-test")
294-
if err != nil {
295-
t.Fatal(err)
296-
}
297-
298-
defer os.RemoveAll(tmp)
270+
tmp := t.TempDir()
299271

300272
var ii v1.ImageIndex
301273
ii = empty.Index
@@ -365,12 +337,7 @@ func TestReplaceIndex(t *testing.T) {
365337

366338
func TestReplaceImage(t *testing.T) {
367339
// need to set up a basic path
368-
tmp, err := os.MkdirTemp("", "replace-image-test")
369-
if err != nil {
370-
t.Fatal(err)
371-
}
372-
373-
defer os.RemoveAll(tmp)
340+
tmp := t.TempDir()
374341

375342
var ii v1.ImageIndex
376343
ii = empty.Index
@@ -440,12 +407,7 @@ func TestReplaceImage(t *testing.T) {
440407

441408
func TestRemoveBlob(t *testing.T) {
442409
// need to set up a basic path
443-
tmp, err := os.MkdirTemp("", "remove-blob-test")
444-
if err != nil {
445-
t.Fatal(err)
446-
}
447-
448-
defer os.RemoveAll(tmp)
410+
tmp := t.TempDir()
449411

450412
var ii v1.ImageIndex = empty.Index
451413
l, err := Write(tmp, ii)
@@ -483,12 +445,7 @@ func TestRemoveBlob(t *testing.T) {
483445

484446
func TestStreamingWriteLayer(t *testing.T) {
485447
// need to set up a basic path
486-
tmp, err := os.MkdirTemp("", "streaming-write-layer-test")
487-
if err != nil {
488-
t.Fatal(err)
489-
}
490-
491-
defer os.RemoveAll(tmp)
448+
tmp := t.TempDir()
492449

493450
var ii v1.ImageIndex = empty.Index
494451
l, err := Write(tmp, ii)
@@ -546,12 +503,7 @@ func TestStreamingWriteLayer(t *testing.T) {
546503

547504
func TestOverwriteWithWriteLayer(t *testing.T) {
548505
// need to set up a basic path
549-
tmp, err := os.MkdirTemp("", "overwrite-with-write-layer-test")
550-
if err != nil {
551-
t.Fatal(err)
552-
}
553-
554-
defer os.RemoveAll(tmp)
506+
tmp := t.TempDir()
555507

556508
var ii v1.ImageIndex = empty.Index
557509
l, err := Write(tmp, ii)
@@ -642,12 +594,7 @@ func TestOverwriteWithWriteLayer(t *testing.T) {
642594

643595
func TestOverwriteWithReplaceImage(t *testing.T) {
644596
// need to set up a basic path
645-
tmp, err := os.MkdirTemp("", "overwrite-with-replace-image-test")
646-
if err != nil {
647-
t.Fatal(err)
648-
}
649-
650-
defer os.RemoveAll(tmp)
597+
tmp := t.TempDir()
651598

652599
var ii v1.ImageIndex = empty.Index
653600
l, err := Write(tmp, ii)

0 commit comments

Comments
 (0)