mirror of
https://github.com/containers/podman.git
synced 2025-07-02 00:30:00 +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
|
package libpod
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"io/ioutil"
|
|
||||||
"os"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
spec "github.com/opencontainers/runtime-spec/specs-go"
|
spec "github.com/opencontainers/runtime-spec/specs-go"
|
||||||
@ -13,12 +11,6 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestGenerateUserPasswdEntry(t *testing.T) {
|
func TestGenerateUserPasswdEntry(t *testing.T) {
|
||||||
dir, err := ioutil.TempDir("", "libpod_test_")
|
|
||||||
if err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
defer os.RemoveAll(dir)
|
|
||||||
|
|
||||||
c := Container{
|
c := Container{
|
||||||
config: &ContainerConfig{
|
config: &ContainerConfig{
|
||||||
Spec: &spec.Spec{},
|
Spec: &spec.Spec{},
|
||||||
|
@ -19,11 +19,7 @@ var hookPath string
|
|||||||
|
|
||||||
func TestPostDeleteHooks(t *testing.T) {
|
func TestPostDeleteHooks(t *testing.T) {
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
dir, err := ioutil.TempDir("", "libpod_test_")
|
dir := t.TempDir()
|
||||||
if err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
defer os.RemoveAll(dir)
|
|
||||||
|
|
||||||
statePath := filepath.Join(dir, "state")
|
statePath := filepath.Join(dir, "state")
|
||||||
copyPath := filepath.Join(dir, "copy")
|
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 {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,6 @@ package file
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
@ -13,11 +12,9 @@ import (
|
|||||||
|
|
||||||
// Test that creating and destroying locks work
|
// Test that creating and destroying locks work
|
||||||
func TestCreateAndDeallocate(t *testing.T) {
|
func TestCreateAndDeallocate(t *testing.T) {
|
||||||
d, err := ioutil.TempDir("", "filelock")
|
d := t.TempDir()
|
||||||
assert.NoError(t, err)
|
|
||||||
defer os.RemoveAll(d)
|
|
||||||
|
|
||||||
_, err = OpenFileLock(filepath.Join(d, "locks"))
|
_, err := OpenFileLock(filepath.Join(d, "locks"))
|
||||||
assert.Error(t, err)
|
assert.Error(t, err)
|
||||||
|
|
||||||
l, err := CreateFileLock(filepath.Join(d, "locks"))
|
l, err := CreateFileLock(filepath.Join(d, "locks"))
|
||||||
@ -47,9 +44,7 @@ func TestCreateAndDeallocate(t *testing.T) {
|
|||||||
|
|
||||||
// Test that creating and destroying locks work
|
// Test that creating and destroying locks work
|
||||||
func TestLockAndUnlock(t *testing.T) {
|
func TestLockAndUnlock(t *testing.T) {
|
||||||
d, err := ioutil.TempDir("", "filelock")
|
d := t.TempDir()
|
||||||
assert.NoError(t, err)
|
|
||||||
defer os.RemoveAll(d)
|
|
||||||
|
|
||||||
l, err := CreateFileLock(filepath.Join(d, "locks"))
|
l, err := CreateFileLock(filepath.Join(d, "locks"))
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
@ -4,7 +4,6 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"os"
|
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"runtime"
|
"runtime"
|
||||||
"testing"
|
"testing"
|
||||||
@ -20,11 +19,7 @@ var path string
|
|||||||
func TestGoodNew(t *testing.T) {
|
func TestGoodNew(t *testing.T) {
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
|
|
||||||
dir, err := ioutil.TempDir("", "hooks-test-")
|
dir := t.TempDir()
|
||||||
if err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
defer os.RemoveAll(dir)
|
|
||||||
|
|
||||||
for i, name := range []string{
|
for i, name := range []string{
|
||||||
"01-my-hook.json",
|
"01-my-hook.json",
|
||||||
@ -36,7 +31,7 @@ func TestGoodNew(t *testing.T) {
|
|||||||
if i == 0 {
|
if i == 0 {
|
||||||
extraStages = ", \"poststart\", \"poststop\""
|
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 {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
@ -92,14 +87,10 @@ func TestGoodNew(t *testing.T) {
|
|||||||
func TestBadNew(t *testing.T) {
|
func TestBadNew(t *testing.T) {
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
|
|
||||||
dir, err := ioutil.TempDir("", "hooks-test-")
|
dir := t.TempDir()
|
||||||
if err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
defer os.RemoveAll(dir)
|
|
||||||
|
|
||||||
jsonPath := filepath.Join(dir, "a.json")
|
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 {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
@ -15,11 +15,7 @@ import (
|
|||||||
|
|
||||||
func TestMonitorOneDirGood(t *testing.T) {
|
func TestMonitorOneDirGood(t *testing.T) {
|
||||||
ctx, cancel := context.WithCancel(context.Background())
|
ctx, cancel := context.WithCancel(context.Background())
|
||||||
dir, err := ioutil.TempDir("", "hooks-test-")
|
dir := t.TempDir()
|
||||||
if err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
defer os.RemoveAll(dir)
|
|
||||||
|
|
||||||
manager, err := New(ctx, []string{dir}, []string{})
|
manager, err := New(ctx, []string{dir}, []string{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -114,17 +110,8 @@ func TestMonitorOneDirGood(t *testing.T) {
|
|||||||
|
|
||||||
func TestMonitorTwoDirGood(t *testing.T) {
|
func TestMonitorTwoDirGood(t *testing.T) {
|
||||||
ctx, cancel := context.WithCancel(context.Background())
|
ctx, cancel := context.WithCancel(context.Background())
|
||||||
primaryDir, err := ioutil.TempDir("", "hooks-test-primary-")
|
primaryDir := t.TempDir()
|
||||||
if err != nil {
|
fallbackDir := t.TempDir()
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
defer os.RemoveAll(primaryDir)
|
|
||||||
|
|
||||||
fallbackDir, err := ioutil.TempDir("", "hooks-test-fallback-")
|
|
||||||
if err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
defer os.RemoveAll(fallbackDir)
|
|
||||||
|
|
||||||
manager, err := New(ctx, []string{fallbackDir, primaryDir}, []string{})
|
manager, err := New(ctx, []string{fallbackDir, primaryDir}, []string{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -29,14 +29,10 @@ func TestUnknownPath(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestGoodFile(t *testing.T) {
|
func TestGoodFile(t *testing.T) {
|
||||||
dir, err := ioutil.TempDir("", "hooks-test-")
|
dir := t.TempDir()
|
||||||
if err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
defer os.RemoveAll(dir)
|
|
||||||
|
|
||||||
jsonPath := filepath.Join(dir, "hook.json")
|
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 {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
@ -59,14 +55,10 @@ func TestGoodFile(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestBadFile(t *testing.T) {
|
func TestBadFile(t *testing.T) {
|
||||||
dir, err := ioutil.TempDir("", "hooks-test-")
|
dir := t.TempDir()
|
||||||
if err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
defer os.RemoveAll(dir)
|
|
||||||
|
|
||||||
path := filepath.Join(dir, "hook.json")
|
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 {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
@ -121,13 +113,9 @@ func TestInvalidCurrentJSON(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestGoodDir(t *testing.T) {
|
func TestGoodDir(t *testing.T) {
|
||||||
dir, err := ioutil.TempDir("", "hooks-test-")
|
dir := t.TempDir()
|
||||||
if err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
defer os.RemoveAll(dir)
|
|
||||||
|
|
||||||
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 {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
@ -172,14 +160,10 @@ func TestUnknownDir(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestBadDir(t *testing.T) {
|
func TestBadDir(t *testing.T) {
|
||||||
dir, err := ioutil.TempDir("", "hooks-test-")
|
dir := t.TempDir()
|
||||||
if err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
defer os.RemoveAll(dir)
|
|
||||||
|
|
||||||
jsonPath := filepath.Join(dir, "a.json")
|
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 {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
@ -193,14 +177,10 @@ func TestBadDir(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestHookExecutableDoesNotExit(t *testing.T) {
|
func TestHookExecutableDoesNotExit(t *testing.T) {
|
||||||
dir, err := ioutil.TempDir("", "hooks-test-")
|
dir := t.TempDir()
|
||||||
if err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
defer os.RemoveAll(dir)
|
|
||||||
|
|
||||||
jsonPath := filepath.Join(dir, "hook.json")
|
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 {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
@ -52,23 +52,15 @@ func TestMachineFile_GetPath(t *testing.T) {
|
|||||||
func TestNewMachineFile(t *testing.T) {
|
func TestNewMachineFile(t *testing.T) {
|
||||||
empty := ""
|
empty := ""
|
||||||
|
|
||||||
homedir, err := os.MkdirTemp("/tmp", "homedir")
|
homedir := t.TempDir()
|
||||||
if err != nil {
|
longTemp := t.TempDir()
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
defer os.RemoveAll(homedir)
|
|
||||||
longTemp, err := os.MkdirTemp("/tmp", "tmpdir")
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
defer os.RemoveAll(longTemp)
|
|
||||||
oldhome := os.Getenv("HOME")
|
oldhome := os.Getenv("HOME")
|
||||||
os.Setenv("HOME", homedir) //nolint: tenv
|
os.Setenv("HOME", homedir) //nolint: tenv
|
||||||
defer os.Setenv("HOME", oldhome)
|
defer os.Setenv("HOME", oldhome)
|
||||||
|
|
||||||
p := "/var/tmp/podman/my.sock"
|
p := "/var/tmp/podman/my.sock"
|
||||||
longp := filepath.Join(longTemp, utils.RandomString(100), "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 {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
@ -3,9 +3,7 @@ package kube
|
|||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
|
||||||
"math"
|
"math"
|
||||||
"os"
|
|
||||||
"runtime"
|
"runtime"
|
||||||
"strconv"
|
"strconv"
|
||||||
"testing"
|
"testing"
|
||||||
@ -39,9 +37,7 @@ func createSecrets(t *testing.T, d string) *secrets.SecretsManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestEnvVarsFrom(t *testing.T) {
|
func TestEnvVarsFrom(t *testing.T) {
|
||||||
d, err := ioutil.TempDir("", "secrets")
|
d := t.TempDir()
|
||||||
assert.NoError(t, err)
|
|
||||||
defer os.RemoveAll(d)
|
|
||||||
secretsManager := createSecrets(t, d)
|
secretsManager := createSecrets(t, d)
|
||||||
|
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
@ -191,9 +187,7 @@ func TestEnvVarsFrom(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestEnvVarValue(t *testing.T) {
|
func TestEnvVarValue(t *testing.T) {
|
||||||
d, err := ioutil.TempDir("", "secrets")
|
d := t.TempDir()
|
||||||
assert.NoError(t, err)
|
|
||||||
defer os.RemoveAll(d)
|
|
||||||
secretsManager := createSecrets(t, d)
|
secretsManager := createSecrets(t, d)
|
||||||
stringNumCPUs := strconv.Itoa(runtime.NumCPU())
|
stringNumCPUs := strconv.Itoa(runtime.NumCPU())
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user