Skip to content

Commit

Permalink
Merge pull request kata-containers#2399 from Pennyzct/cleanup_dir_temp
Browse files Browse the repository at this point in the history
unit-test: cleaning up stale files under /tmp
  • Loading branch information
Julio Montes authored Jan 20, 2020
2 parents d11696d + 7186c01 commit df802cc
Show file tree
Hide file tree
Showing 5 changed files with 40 additions and 17 deletions.
2 changes: 2 additions & 0 deletions virtcontainers/acrn_arch_base_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (
"fmt"
"io/ioutil"
"net"
"os"
"path/filepath"
"testing"

Expand Down Expand Up @@ -128,6 +129,7 @@ func TestAcrnArchBaseAppendImage(t *testing.T) {

image, err := ioutil.TempFile("", "img")
assert.NoError(err)
defer os.Remove(image.Name())
err = image.Close()
assert.NoError(err)

Expand Down
8 changes: 6 additions & 2 deletions virtcontainers/kata_agent_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -636,6 +636,7 @@ func TestAgentConfigure(t *testing.T) {

dir, err := ioutil.TempDir("", "kata-agent-test")
assert.Nil(err)
defer os.RemoveAll(dir)

k := &kataAgent{}
h := &mockHypervisor{}
Expand Down Expand Up @@ -758,6 +759,7 @@ func TestAgentCreateContainer(t *testing.T) {

dir, err := ioutil.TempDir("", "kata-agent-test")
assert.Nil(err)
defer os.RemoveAll(dir)

err = k.configure(&mockHypervisor{}, sandbox.id, dir, true, KataAgentConfig{})
assert.Nil(err)
Expand Down Expand Up @@ -904,8 +906,10 @@ func TestKataCleanupSandbox(t *testing.T) {
s := Sandbox{
id: "testFoo",
}
dir := path.Join(kataHostSharedDir(), s.id)
err := os.MkdirAll(dir, 0777)

dir := kataHostSharedDir()
defer os.RemoveAll(dir)
err := os.MkdirAll(path.Join(dir, s.id), 0777)
assert.Nil(err)

k := &kataAgent{ctx: context.Background()}
Expand Down
2 changes: 2 additions & 0 deletions virtcontainers/qemu_arch_base_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (
"fmt"
"io/ioutil"
"net"
"os"
"path/filepath"
"testing"

Expand Down Expand Up @@ -287,6 +288,7 @@ func TestQemuArchBaseAppendImage(t *testing.T) {

image, err := ioutil.TempFile("", "img")
assert.NoError(err)
defer os.Remove(image.Name())
err = image.Close()
assert.NoError(err)

Expand Down
32 changes: 20 additions & 12 deletions virtcontainers/store/manager_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ var storeRoot, storeRootDir = func() (string, string) {
dir, _ := ioutil.TempDir("", "")
return "file://" + dir, dir
}()
var testDir = ""
var ConfigStoragePathSaved = func() string { return "" }
var RunStoragePathSaved = func() string { return "" }

func TestNewStore(t *testing.T) {
s, err := New(context.Background(), storeRoot)
Expand Down Expand Up @@ -111,31 +114,36 @@ func TestManagerFindStore(t *testing.T) {
// TestMain is the common main function used by ALL the test functions
// for the store.
func TestMain(m *testing.M) {
testDir, err := ioutil.TempDir("", "store-tmp-")
setup()
rt := m.Run()
shutdown()
os.Exit(rt)
}

func shutdown() {
os.RemoveAll(testDir)
ConfigStoragePath = ConfigStoragePathSaved
RunStoragePath = RunStoragePathSaved
}

func setup() {
var err error
testDir, err = ioutil.TempDir("", "store-tmp-")
if err != nil {
panic(err)
}

ConfigStoragePathSaved := ConfigStoragePath
RunStoragePathSaved := RunStoragePath
ConfigStoragePathSaved = ConfigStoragePath
RunStoragePathSaved = RunStoragePath
// allow the tests to run without affecting the host system.
ConfigStoragePath = func() string { return filepath.Join(testDir, StoragePathSuffix, "config") }
RunStoragePath = func() string { return filepath.Join(testDir, StoragePathSuffix, "run") }

defer func() {
ConfigStoragePath = ConfigStoragePathSaved
RunStoragePath = RunStoragePathSaved
}()

// set now that ConfigStoragePath has been overridden.
sandboxDirConfig = filepath.Join(ConfigStoragePath(), testSandboxID)
sandboxFileConfig = filepath.Join(ConfigStoragePath(), testSandboxID, ConfigurationFile)
sandboxDirState = filepath.Join(RunStoragePath(), testSandboxID)
sandboxDirLock = filepath.Join(RunStoragePath(), testSandboxID)
sandboxFileState = filepath.Join(RunStoragePath(), testSandboxID, StateFile)
sandboxFileLock = filepath.Join(RunStoragePath(), testSandboxID, LockFile)

ret := m.Run()

os.Exit(ret)
}
13 changes: 10 additions & 3 deletions virtcontainers/vm_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ package virtcontainers
import (
"context"
"io/ioutil"
"os"
"testing"

"github.com/kata-containers/runtime/virtcontainers/utils"
Expand All @@ -17,7 +18,10 @@ import (
func TestNewVM(t *testing.T) {
assert := assert.New(t)

testDir, _ := ioutil.TempDir("", "vmfactory-tmp-")
testDir, err := ioutil.TempDir("", "vmfactory-tmp-")
assert.Nil(err)
defer os.RemoveAll(testDir)

config := VMConfig{
HypervisorType: MockHypervisor,
AgentType: NoopAgentType,
Expand All @@ -31,7 +35,7 @@ func TestNewVM(t *testing.T) {
ctx := context.Background()

var vm *VM
_, err := NewVM(ctx, config)
_, err = NewVM(ctx, config)
assert.Error(err)

config.HypervisorConfig = hyperConfig
Expand Down Expand Up @@ -82,7 +86,10 @@ func TestVMConfigValid(t *testing.T) {
err := config.Valid()
assert.Error(err)

testDir, _ := ioutil.TempDir("", "vmfactory-tmp-")
testDir, err := ioutil.TempDir("", "vmfactory-tmp-")
assert.Nil(err)
defer os.RemoveAll(testDir)

config.HypervisorConfig = HypervisorConfig{
KernelPath: testDir,
InitrdPath: testDir,
Expand Down

0 comments on commit df802cc

Please sign in to comment.