From 6738380a80cba05b9724a5c157d341cba8922692 Mon Sep 17 00:00:00 2001 From: njuptlzf Date: Wed, 28 Apr 2021 13:25:53 +0800 Subject: [PATCH] cleanup tempDir after fsstore_test.go --- .../checkpoint/store/fsstore_test.go | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/pkg/kubelet/kubeletconfig/checkpoint/store/fsstore_test.go b/pkg/kubelet/kubeletconfig/checkpoint/store/fsstore_test.go index 5a846b66f54..c2154e5cfe8 100644 --- a/pkg/kubelet/kubeletconfig/checkpoint/store/fsstore_test.go +++ b/pkg/kubelet/kubeletconfig/checkpoint/store/fsstore_test.go @@ -18,7 +18,6 @@ package store import ( "fmt" - "io/ioutil" "path/filepath" "reflect" "testing" @@ -39,38 +38,33 @@ import ( utilfs "k8s.io/kubernetes/pkg/util/filesystem" ) -var testdir string - -func init() { - tmp, err := ioutil.TempDir("", "fsstore-test") - if err != nil { - panic(err) - } - testdir = tmp -} - func newInitializedFakeFsStore() (*fsStore, error) { // Test with the default filesystem, the fake filesystem has an issue caused by afero: https://github.com/spf13/afero/issues/141 // The default filesystem also behaves more like production, so we should probably not mock the filesystem for unit tests. fs := utilfs.DefaultFs{} - tmpdir, err := fs.TempDir(testdir, "store-") + tmpDir, err := fs.TempDir("", "fsstore-test-") if err != nil { return nil, err } - store := NewFsStore(fs, tmpdir) + store := NewFsStore(fs, tmpDir) if err := store.Initialize(); err != nil { return nil, err } return store.(*fsStore), nil } +func cleanupFakeFsStore(store *fsStore) { + _ = store.fs.RemoveAll(store.dir) +} + func TestFsStoreInitialize(t *testing.T) { store, err := newInitializedFakeFsStore() if err != nil { t.Fatalf("fsStore.Initialize() failed with error: %v", err) } + defer cleanupFakeFsStore(store) // check that store.dir exists if _, err := store.fs.Stat(store.dir); err != nil { @@ -103,6 +97,7 @@ func TestFsStoreExists(t *testing.T) { if err != nil { t.Fatalf("error constructing store: %v", err) } + defer cleanupFakeFsStore(store) // checkpoint a payload const ( @@ -160,6 +155,7 @@ func TestFsStoreSave(t *testing.T) { if err != nil { t.Fatalf("error constructing store: %v", err) } + defer cleanupFakeFsStore(store) nameTooLong := func() string { s := "" @@ -224,6 +220,8 @@ func TestFsStoreLoad(t *testing.T) { if err != nil { t.Fatalf("error constructing store: %v", err) } + defer cleanupFakeFsStore(store) + // encode a kubelet configuration that has all defaults set expect, err := newKubeletConfiguration() if err != nil { @@ -295,6 +293,7 @@ func TestFsStoreAssignedModified(t *testing.T) { if err != nil { t.Fatalf("error constructing store: %v", err) } + defer cleanupFakeFsStore(store) // create an empty assigned file, this is good enough for testing saveTestSourceFile(t, store, assignedFile, nil) @@ -321,6 +320,7 @@ func TestFsStoreAssigned(t *testing.T) { if err != nil { t.Fatalf("error constructing store: %v", err) } + defer cleanupFakeFsStore(store) source, _, err := checkpoint.NewRemoteConfigSource(&apiv1.NodeConfigSource{ ConfigMap: &apiv1.ConfigMapNodeConfigSource{ @@ -364,6 +364,7 @@ func TestFsStoreLastKnownGood(t *testing.T) { if err != nil { t.Fatalf("error constructing store: %v", err) } + defer cleanupFakeFsStore(store) source, _, err := checkpoint.NewRemoteConfigSource(&apiv1.NodeConfigSource{ ConfigMap: &apiv1.ConfigMapNodeConfigSource{ @@ -407,6 +408,7 @@ func TestFsStoreSetAssigned(t *testing.T) { if err != nil { t.Fatalf("error constructing store: %v", err) } + defer cleanupFakeFsStore(store) cases := []struct { desc string @@ -490,6 +492,7 @@ func TestFsStoreSetLastKnownGood(t *testing.T) { if err != nil { t.Fatalf("error constructing store: %v", err) } + defer cleanupFakeFsStore(store) cases := []struct { desc string @@ -573,6 +576,7 @@ func TestFsStoreReset(t *testing.T) { if err != nil { t.Fatalf("error constructing store: %v", err) } + defer cleanupFakeFsStore(store) source, _, err := checkpoint.NewRemoteConfigSource(&apiv1.NodeConfigSource{ConfigMap: &apiv1.ConfigMapNodeConfigSource{ Name: "name",