summaryrefslogtreecommitdiff
path: root/pkg/hooks
diff options
context:
space:
mode:
authorEng Zer Jun <engzerjun@gmail.com>2022-05-05 21:09:41 +0800
committerEng Zer Jun <engzerjun@gmail.com>2022-05-05 21:09:41 +0800
commitcf35168f0a9cf457f0622cd89cff84bdbe610d58 (patch)
treedb3b776a982b2a6b615a2a7c9ee45ea6f89c9776 /pkg/hooks
parentb1e9ea38e5a680afb9294cb8a451311991d94765 (diff)
downloadpodman-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/hooks')
-rw-r--r--pkg/hooks/hooks_test.go17
-rw-r--r--pkg/hooks/monitor_test.go19
-rw-r--r--pkg/hooks/read_test.go40
3 files changed, 17 insertions, 59 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)
}