mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-04-30 04:34:27 +00:00
runtime: Let MockFSInit create a mock fs driver at any path
Currently MockFSInit always creates the mockfs at the fixed path /tmp/vc/mockfs. This change allows it to be initialized at any path given as a parameter. This allows the tests in fs_test.go to be simplified, because the by using a temporary directory from t.TempDir(), which is automatically cleaned up, we don't need to manually trigger initTestDir() (which is misnamed, it's actually a cleanup function). For now we still use the fixed path when auto-creating the mockfs in MockAutoInit(), but we'll change that later. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
5d8438e939
commit
ef6d54a781
@ -14,8 +14,8 @@ import (
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func getFsDriver() (*FS, error) {
|
||||
driver, err := MockFSInit()
|
||||
func getFsDriver(t *testing.T) (*FS, error) {
|
||||
driver, err := MockFSInit(t.TempDir())
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to init fs driver")
|
||||
}
|
||||
@ -27,16 +27,8 @@ func getFsDriver() (*FS, error) {
|
||||
return fs.FS, nil
|
||||
}
|
||||
|
||||
func initTestDir() func() {
|
||||
return func() {
|
||||
os.RemoveAll(MockStorageRootPath())
|
||||
}
|
||||
}
|
||||
|
||||
func TestFsLockShared(t *testing.T) {
|
||||
defer initTestDir()()
|
||||
|
||||
fs, err := getFsDriver()
|
||||
fs, err := getFsDriver(t)
|
||||
assert.Nil(t, err)
|
||||
assert.NotNil(t, fs)
|
||||
|
||||
@ -61,9 +53,7 @@ func TestFsLockShared(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestFsLockExclusive(t *testing.T) {
|
||||
defer initTestDir()()
|
||||
|
||||
fs, err := getFsDriver()
|
||||
fs, err := getFsDriver(t)
|
||||
assert.Nil(t, err)
|
||||
assert.NotNil(t, fs)
|
||||
|
||||
@ -89,9 +79,7 @@ func TestFsLockExclusive(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestFsDriver(t *testing.T) {
|
||||
defer initTestDir()()
|
||||
|
||||
fs, err := getFsDriver()
|
||||
fs, err := getFsDriver(t)
|
||||
assert.Nil(t, err)
|
||||
assert.NotNil(t, fs)
|
||||
|
||||
@ -162,12 +150,10 @@ func TestFsDriver(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestGlobalReadWrite(t *testing.T) {
|
||||
defer initTestDir()()
|
||||
|
||||
relPath := "test/123/aaa.json"
|
||||
data := "hello this is testing global read write"
|
||||
|
||||
fs, err := getFsDriver()
|
||||
fs, err := getFsDriver(t)
|
||||
assert.Nil(t, err)
|
||||
assert.NotNil(t, fs)
|
||||
|
||||
|
@ -36,7 +36,7 @@ func MockRunVMStoragePath() string {
|
||||
return filepath.Join(MockStorageRootPath(), vmPathSuffix)
|
||||
}
|
||||
|
||||
func MockFSInit() (persistapi.PersistDriver, error) {
|
||||
func MockFSInit(rootPath string) (persistapi.PersistDriver, error) {
|
||||
driver, err := Init()
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("Could not create Mock FS driver: %v", err)
|
||||
@ -47,7 +47,7 @@ func MockFSInit() (persistapi.PersistDriver, error) {
|
||||
return nil, fmt.Errorf("Could not create Mock FS driver")
|
||||
}
|
||||
|
||||
fsDriver.storageRootPath = MockStorageRootPath()
|
||||
fsDriver.storageRootPath = rootPath
|
||||
fsDriver.driverName = "mockfs"
|
||||
|
||||
return &MockFS{fsDriver}, nil
|
||||
@ -55,7 +55,7 @@ func MockFSInit() (persistapi.PersistDriver, error) {
|
||||
|
||||
func MockAutoInit() (persistapi.PersistDriver, error) {
|
||||
if mockTesting {
|
||||
return MockFSInit()
|
||||
return MockFSInit(MockStorageRootPath())
|
||||
}
|
||||
return nil, nil
|
||||
}
|
||||
|
@ -28,7 +28,7 @@ func TestMockAutoInit(t *testing.T) {
|
||||
mockTesting = true
|
||||
fsd, err = MockAutoInit()
|
||||
assert.NoError(err)
|
||||
expectedFS, err := MockFSInit()
|
||||
expectedFS, err := MockFSInit(MockStorageRootPath())
|
||||
assert.NoError(err)
|
||||
assert.Equal(expectedFS, fsd)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user