From cf35168f0a9cf457f0622cd89cff84bdbe610d58 Mon Sep 17 00:00:00 2001 From: Eng Zer Jun Date: Thu, 5 May 2022 21:09:41 +0800 Subject: test: use `T.TempDir` to create temporary test directory This commit replaces `ioutil.TempDir` 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 `ioutil.TempDir` 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 --- pkg/hooks/read_test.go | 40 ++++++++++------------------------------ 1 file changed, 10 insertions(+), 30 deletions(-) (limited to 'pkg/hooks/read_test.go') diff --git a/pkg/hooks/read_test.go b/pkg/hooks/read_test.go index 6e6c190bb..381d66bbe 100644 --- a/pkg/hooks/read_test.go +++ b/pkg/hooks/read_test.go @@ -29,14 +29,10 @@ func TestUnknownPath(t *testing.T) { } func TestGoodFile(t *testing.T) { - dir, err := ioutil.TempDir("", "hooks-test-") - if err != nil { - t.Fatal(err) - } - defer os.RemoveAll(dir) + dir := t.TempDir() jsonPath := filepath.Join(dir, "hook.json") - err = ioutil.WriteFile(jsonPath, []byte(fmt.Sprintf("{\"version\": \"1.0.0\", \"hook\": {\"path\": \"%s\"}, \"when\": {\"always\": true}, \"stages\": [\"prestart\"]}", path)), 0644) + err := ioutil.WriteFile(jsonPath, []byte(fmt.Sprintf("{\"version\": \"1.0.0\", \"hook\": {\"path\": \"%s\"}, \"when\": {\"always\": true}, \"stages\": [\"prestart\"]}", path)), 0644) if err != nil { t.Fatal(err) } @@ -59,14 +55,10 @@ func TestGoodFile(t *testing.T) { } func TestBadFile(t *testing.T) { - dir, err := ioutil.TempDir("", "hooks-test-") - if err != nil { - t.Fatal(err) - } - defer os.RemoveAll(dir) + dir := t.TempDir() path := filepath.Join(dir, "hook.json") - err = ioutil.WriteFile(path, []byte("{\"version\": \"1.0.0\", \"hook\": \"not-a-string\"}"), 0644) + err := ioutil.WriteFile(path, []byte("{\"version\": \"1.0.0\", \"hook\": \"not-a-string\"}"), 0644) if err != nil { t.Fatal(err) } @@ -121,13 +113,9 @@ func TestInvalidCurrentJSON(t *testing.T) { } func TestGoodDir(t *testing.T) { - dir, err := ioutil.TempDir("", "hooks-test-") - if err != nil { - t.Fatal(err) - } - defer os.RemoveAll(dir) + dir := t.TempDir() - err = ioutil.WriteFile(filepath.Join(dir, "README"), []byte("not a hook"), 0644) + err := ioutil.WriteFile(filepath.Join(dir, "README"), []byte("not a hook"), 0644) if err != nil { t.Fatal(err) } @@ -172,14 +160,10 @@ func TestUnknownDir(t *testing.T) { } func TestBadDir(t *testing.T) { - dir, err := ioutil.TempDir("", "hooks-test-") - if err != nil { - t.Fatal(err) - } - defer os.RemoveAll(dir) + dir := t.TempDir() jsonPath := filepath.Join(dir, "a.json") - err = ioutil.WriteFile(jsonPath, []byte("{\"version\": \"-1\"}"), 0644) + err := ioutil.WriteFile(jsonPath, []byte("{\"version\": \"-1\"}"), 0644) if err != nil { t.Fatal(err) } @@ -193,14 +177,10 @@ func TestBadDir(t *testing.T) { } func TestHookExecutableDoesNotExit(t *testing.T) { - dir, err := ioutil.TempDir("", "hooks-test-") - if err != nil { - t.Fatal(err) - } - defer os.RemoveAll(dir) + dir := t.TempDir() jsonPath := filepath.Join(dir, "hook.json") - err = ioutil.WriteFile(jsonPath, []byte("{\"version\": \"1.0.0\", \"hook\": {\"path\": \"/does/not/exist\"}, \"when\": {\"always\": true}, \"stages\": [\"prestart\"]}"), 0644) + err := ioutil.WriteFile(jsonPath, []byte("{\"version\": \"1.0.0\", \"hook\": {\"path\": \"/does/not/exist\"}, \"when\": {\"always\": true}, \"stages\": [\"prestart\"]}"), 0644) if err != nil { t.Fatal(err) } -- cgit v1.2.3-54-g00ecf