mirror of
https://github.com/containers/podman.git
synced 2025-05-17 15:18:43 +08:00
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>
This commit is contained in:
@ -4,8 +4,6 @@
|
||||
package libpod
|
||||
|
||||
import (
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
spec "github.com/opencontainers/runtime-spec/specs-go"
|
||||
@ -13,12 +11,6 @@ import (
|
||||
)
|
||||
|
||||
func TestGenerateUserPasswdEntry(t *testing.T) {
|
||||
dir, err := ioutil.TempDir("", "libpod_test_")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer os.RemoveAll(dir)
|
||||
|
||||
c := Container{
|
||||
config: &ContainerConfig{
|
||||
Spec: &spec.Spec{},
|
||||
|
@ -19,11 +19,7 @@ var hookPath string
|
||||
|
||||
func TestPostDeleteHooks(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
dir, err := ioutil.TempDir("", "libpod_test_")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer os.RemoveAll(dir)
|
||||
dir := t.TempDir()
|
||||
|
||||
statePath := filepath.Join(dir, "state")
|
||||
copyPath := filepath.Join(dir, "copy")
|
||||
@ -57,7 +53,7 @@ func TestPostDeleteHooks(t *testing.T) {
|
||||
},
|
||||
},
|
||||
}
|
||||
err = c.postDeleteHooks(ctx)
|
||||
err := c.postDeleteHooks(ctx)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
@ -2,7 +2,6 @@ package file
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"os/exec"
|
||||
"path/filepath"
|
||||
@ -13,11 +12,9 @@ import (
|
||||
|
||||
// Test that creating and destroying locks work
|
||||
func TestCreateAndDeallocate(t *testing.T) {
|
||||
d, err := ioutil.TempDir("", "filelock")
|
||||
assert.NoError(t, err)
|
||||
defer os.RemoveAll(d)
|
||||
d := t.TempDir()
|
||||
|
||||
_, err = OpenFileLock(filepath.Join(d, "locks"))
|
||||
_, err := OpenFileLock(filepath.Join(d, "locks"))
|
||||
assert.Error(t, err)
|
||||
|
||||
l, err := CreateFileLock(filepath.Join(d, "locks"))
|
||||
@ -47,9 +44,7 @@ func TestCreateAndDeallocate(t *testing.T) {
|
||||
|
||||
// Test that creating and destroying locks work
|
||||
func TestLockAndUnlock(t *testing.T) {
|
||||
d, err := ioutil.TempDir("", "filelock")
|
||||
assert.NoError(t, err)
|
||||
defer os.RemoveAll(d)
|
||||
d := t.TempDir()
|
||||
|
||||
l, err := CreateFileLock(filepath.Join(d, "locks"))
|
||||
assert.NoError(t, err)
|
||||
|
@ -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)
|
||||
}
|
||||
|
@ -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 {
|
||||
|
@ -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)
|
||||
}
|
||||
|
@ -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)
|
||||
}
|
||||
|
@ -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())
|
||||
|
||||
|
Reference in New Issue
Block a user