diff options
author | Eng Zer Jun <engzerjun@gmail.com> | 2022-05-05 21:09:41 +0800 |
---|---|---|
committer | Eng Zer Jun <engzerjun@gmail.com> | 2022-05-05 21:09:41 +0800 |
commit | cf35168f0a9cf457f0622cd89cff84bdbe610d58 (patch) | |
tree | db3b776a982b2a6b615a2a7c9ee45ea6f89c9776 /pkg | |
parent | b1e9ea38e5a680afb9294cb8a451311991d94765 (diff) | |
download | podman-cf35168f0a9cf457f0622cd89cff84bdbe610d58.tar.gz podman-cf35168f0a9cf457f0622cd89cff84bdbe610d58.tar.bz2 podman-cf35168f0a9cf457f0622cd89cff84bdbe610d58.zip |
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 <engzerjun@gmail.com>
Diffstat (limited to 'pkg')
-rw-r--r-- | pkg/hooks/hooks_test.go | 17 | ||||
-rw-r--r-- | pkg/hooks/monitor_test.go | 19 | ||||
-rw-r--r-- | pkg/hooks/read_test.go | 40 | ||||
-rw-r--r-- | pkg/machine/qemu/config_test.go | 14 | ||||
-rw-r--r-- | pkg/specgen/generate/kube/play_test.go | 10 |
5 files changed, 22 insertions, 78 deletions
diff --git a/pkg/hooks/hooks_test.go b/pkg/hooks/hooks_test.go index fb3c63250..d5d0c2a32 100644 --- a/pkg/hooks/hooks_test.go +++ b/pkg/hooks/hooks_test.go @@ -4,7 +4,6 @@ import ( "context" "fmt" "io/ioutil" - "os" "path/filepath" "runtime" "testing" @@ -20,11 +19,7 @@ var path string func TestGoodNew(t *testing.T) { ctx := context.Background() - dir, err := ioutil.TempDir("", "hooks-test-") - if err != nil { - t.Fatal(err) - } - defer os.RemoveAll(dir) + dir := t.TempDir() for i, name := range []string{ "01-my-hook.json", @@ -36,7 +31,7 @@ func TestGoodNew(t *testing.T) { if i == 0 { extraStages = ", \"poststart\", \"poststop\"" } - err = ioutil.WriteFile(jsonPath, []byte(fmt.Sprintf("{\"version\": \"1.0.0\", \"hook\": {\"path\": \"%s\", \"timeout\": %d}, \"when\": {\"always\": true}, \"stages\": [\"prestart\"%s]}", path, i+1, extraStages)), 0644) + err := ioutil.WriteFile(jsonPath, []byte(fmt.Sprintf("{\"version\": \"1.0.0\", \"hook\": {\"path\": \"%s\", \"timeout\": %d}, \"when\": {\"always\": true}, \"stages\": [\"prestart\"%s]}", path, i+1, extraStages)), 0644) if err != nil { t.Fatal(err) } @@ -92,14 +87,10 @@ func TestGoodNew(t *testing.T) { func TestBadNew(t *testing.T) { ctx := context.Background() - 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) } diff --git a/pkg/hooks/monitor_test.go b/pkg/hooks/monitor_test.go index eed02e033..1067d2920 100644 --- a/pkg/hooks/monitor_test.go +++ b/pkg/hooks/monitor_test.go @@ -15,11 +15,7 @@ import ( func TestMonitorOneDirGood(t *testing.T) { ctx, cancel := context.WithCancel(context.Background()) - dir, err := ioutil.TempDir("", "hooks-test-") - if err != nil { - t.Fatal(err) - } - defer os.RemoveAll(dir) + dir := t.TempDir() manager, err := New(ctx, []string{dir}, []string{}) if err != nil { @@ -114,17 +110,8 @@ func TestMonitorOneDirGood(t *testing.T) { func TestMonitorTwoDirGood(t *testing.T) { ctx, cancel := context.WithCancel(context.Background()) - primaryDir, err := ioutil.TempDir("", "hooks-test-primary-") - if err != nil { - t.Fatal(err) - } - defer os.RemoveAll(primaryDir) - - fallbackDir, err := ioutil.TempDir("", "hooks-test-fallback-") - if err != nil { - t.Fatal(err) - } - defer os.RemoveAll(fallbackDir) + primaryDir := t.TempDir() + fallbackDir := t.TempDir() manager, err := New(ctx, []string{fallbackDir, primaryDir}, []string{}) if err != nil { 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) } diff --git a/pkg/machine/qemu/config_test.go b/pkg/machine/qemu/config_test.go index 3f92881fa..4d96ec6e7 100644 --- a/pkg/machine/qemu/config_test.go +++ b/pkg/machine/qemu/config_test.go @@ -52,23 +52,15 @@ func TestMachineFile_GetPath(t *testing.T) { func TestNewMachineFile(t *testing.T) { empty := "" - homedir, err := os.MkdirTemp("/tmp", "homedir") - if err != nil { - panic(err) - } - defer os.RemoveAll(homedir) - longTemp, err := os.MkdirTemp("/tmp", "tmpdir") - if err != nil { - panic(err) - } - defer os.RemoveAll(longTemp) + homedir := t.TempDir() + longTemp := t.TempDir() oldhome := os.Getenv("HOME") os.Setenv("HOME", homedir) //nolint: tenv defer os.Setenv("HOME", oldhome) p := "/var/tmp/podman/my.sock" longp := filepath.Join(longTemp, utils.RandomString(100), "my.sock") - err = os.MkdirAll(filepath.Dir(longp), 0755) + err := os.MkdirAll(filepath.Dir(longp), 0755) if err != nil { panic(err) } diff --git a/pkg/specgen/generate/kube/play_test.go b/pkg/specgen/generate/kube/play_test.go index 448522c2a..e01d62b08 100644 --- a/pkg/specgen/generate/kube/play_test.go +++ b/pkg/specgen/generate/kube/play_test.go @@ -3,9 +3,7 @@ package kube import ( "encoding/json" "fmt" - "io/ioutil" "math" - "os" "runtime" "strconv" "testing" @@ -39,9 +37,7 @@ func createSecrets(t *testing.T, d string) *secrets.SecretsManager { } func TestEnvVarsFrom(t *testing.T) { - d, err := ioutil.TempDir("", "secrets") - assert.NoError(t, err) - defer os.RemoveAll(d) + d := t.TempDir() secretsManager := createSecrets(t, d) tests := []struct { @@ -191,9 +187,7 @@ func TestEnvVarsFrom(t *testing.T) { } func TestEnvVarValue(t *testing.T) { - d, err := ioutil.TempDir("", "secrets") - assert.NoError(t, err) - defer os.RemoveAll(d) + d := t.TempDir() secretsManager := createSecrets(t, d) stringNumCPUs := strconv.Itoa(runtime.NumCPU()) |