diff --git a/virtcontainers/agent_test.go b/virtcontainers/agent_test.go index 108d69f938..a1fa120db3 100644 --- a/virtcontainers/agent_test.go +++ b/virtcontainers/agent_test.go @@ -99,7 +99,7 @@ func TestNewAgentFromUnknownAgentType(t *testing.T) { } func testNewAgentConfig(t *testing.T, config SandboxConfig, expected interface{}) { - agentConfig := newAgentConfig(config) + agentConfig := newAgentConfig(config.AgentType, config.AgentConfig) if reflect.DeepEqual(agentConfig, expected) == false { t.Fatal() } diff --git a/virtcontainers/api_test.go b/virtcontainers/api_test.go index a7dc007033..c7a5ebe8d3 100644 --- a/virtcontainers/api_test.go +++ b/virtcontainers/api_test.go @@ -244,7 +244,7 @@ func TestCreateSandboxNoopAgentSuccessful(t *testing.T) { config := newTestSandboxConfigNoop() - p, err := CreateSandbox(config) + p, err := CreateSandbox(config, nil) if p == nil || err != nil { t.Fatal(err) } @@ -289,7 +289,7 @@ func TestCreateSandboxHyperstartAgentSuccessful(t *testing.T) { proxy.Start() defer proxy.Stop() - p, err := CreateSandbox(config) + p, err := CreateSandbox(config, nil) if p == nil || err != nil { t.Fatal(err) } @@ -330,7 +330,7 @@ func TestCreateSandboxKataAgentSuccessful(t *testing.T) { } defer kataProxyMock.Stop() - p, err := CreateSandbox(config) + p, err := CreateSandbox(config, nil) if p == nil || err != nil { t.Fatal(err) } @@ -347,7 +347,7 @@ func TestCreateSandboxFailing(t *testing.T) { config := SandboxConfig{} - p, err := CreateSandbox(config) + p, err := CreateSandbox(config, nil) if p.(*Sandbox) != nil || err == nil { t.Fatal() } @@ -358,7 +358,7 @@ func TestDeleteSandboxNoopAgentSuccessful(t *testing.T) { config := newTestSandboxConfigNoop() - p, err := CreateSandbox(config) + p, err := CreateSandbox(config, nil) if p == nil || err != nil { t.Fatal(err) } @@ -401,7 +401,7 @@ func TestDeleteSandboxHyperstartAgentSuccessful(t *testing.T) { proxy.Start() defer proxy.Stop() - p, err := CreateSandbox(config) + p, err := CreateSandbox(config, nil) if p == nil || err != nil { t.Fatal(err) } @@ -452,7 +452,7 @@ func TestDeleteSandboxKataAgentSuccessful(t *testing.T) { } defer kataProxyMock.Stop() - p, err := CreateSandbox(config) + p, err := CreateSandbox(config, nil) if p == nil || err != nil { t.Fatal(err) } @@ -751,7 +751,7 @@ func TestRunSandboxNoopAgentSuccessful(t *testing.T) { config := newTestSandboxConfigNoop() - p, err := RunSandbox(config) + p, err := RunSandbox(config, nil) if p == nil || err != nil { t.Fatal(err) } @@ -787,7 +787,7 @@ func TestRunSandboxHyperstartAgentSuccessful(t *testing.T) { hyperConfig := config.AgentConfig.(HyperConfig) config.AgentConfig = hyperConfig - p, err := RunSandbox(config) + p, err := RunSandbox(config, nil) if p == nil || err != nil { t.Fatal(err) } @@ -833,7 +833,7 @@ func TestRunSandboxKataAgentSuccessful(t *testing.T) { } defer kataProxyMock.Stop() - p, err := RunSandbox(config) + p, err := RunSandbox(config, nil) if p == nil || err != nil { t.Fatal(err) } @@ -855,7 +855,7 @@ func TestRunSandboxFailing(t *testing.T) { config := SandboxConfig{} - p, err := RunSandbox(config) + p, err := RunSandbox(config, nil) if p != nil || err == nil { t.Fatal() } @@ -868,7 +868,7 @@ func TestListSandboxSuccessful(t *testing.T) { config := newTestSandboxConfigNoop() - p, err := CreateSandbox(config) + p, err := CreateSandbox(config, nil) if p == nil || err != nil { t.Fatal(err) } @@ -928,7 +928,7 @@ func TestStatusSandboxSuccessfulStateReady(t *testing.T) { }, } - p, err := CreateSandbox(config) + p, err := CreateSandbox(config, nil) if p == nil || err != nil { t.Fatal(err) } @@ -985,7 +985,7 @@ func TestStatusSandboxSuccessfulStateRunning(t *testing.T) { }, } - p, err := CreateSandbox(config) + p, err := CreateSandbox(config, nil) if p == nil || err != nil { t.Fatal(err) } @@ -1014,7 +1014,7 @@ func TestStatusSandboxFailingFetchSandboxConfig(t *testing.T) { config := newTestSandboxConfigNoop() - p, err := CreateSandbox(config) + p, err := CreateSandbox(config, nil) if p == nil || err != nil { t.Fatal(err) } @@ -1034,7 +1034,7 @@ func TestStatusPodSandboxFailingFetchSandboxState(t *testing.T) { config := newTestSandboxConfigNoop() - p, err := CreateSandbox(config) + p, err := CreateSandbox(config, nil) if p == nil || err != nil { t.Fatal(err) } @@ -1069,7 +1069,7 @@ func TestCreateContainerSuccessful(t *testing.T) { contID := "100" config := newTestSandboxConfigNoop() - p, err := CreateSandbox(config) + p, err := CreateSandbox(config, nil) if p == nil || err != nil { t.Fatal(err) } @@ -1100,7 +1100,7 @@ func TestCreateContainerFailingNoSandbox(t *testing.T) { contID := "100" config := newTestSandboxConfigNoop() - p, err := CreateSandbox(config) + p, err := CreateSandbox(config, nil) if p == nil || err != nil { t.Fatal(err) } @@ -1130,7 +1130,7 @@ func TestDeleteContainerSuccessful(t *testing.T) { contID := "100" config := newTestSandboxConfigNoop() - p, err := CreateSandbox(config) + p, err := CreateSandbox(config, nil) if p == nil || err != nil { t.Fatal(err) } @@ -1184,7 +1184,7 @@ func TestDeleteContainerFailingNoContainer(t *testing.T) { contID := "100" config := newTestSandboxConfigNoop() - p, err := CreateSandbox(config) + p, err := CreateSandbox(config, nil) if p == nil || err != nil { t.Fatal(err) } @@ -1249,7 +1249,7 @@ func TestStartContainerFailingNoContainer(t *testing.T) { contID := "100" config := newTestSandboxConfigNoop() - p, err := CreateSandbox(config) + p, err := CreateSandbox(config, nil) if p == nil || err != nil { t.Fatal(err) } @@ -1272,7 +1272,7 @@ func TestStartContainerFailingSandboxNotStarted(t *testing.T) { contID := "100" config := newTestSandboxConfigNoop() - p, err := CreateSandbox(config) + p, err := CreateSandbox(config, nil) if p == nil || err != nil { t.Fatal(err) } @@ -1493,7 +1493,7 @@ func TestStopContainerFailingNoContainer(t *testing.T) { contID := "100" config := newTestSandboxConfigNoop() - p, err := CreateSandbox(config) + p, err := CreateSandbox(config, nil) if p == nil || err != nil { t.Fatal(err) } @@ -1674,7 +1674,7 @@ func TestEnterContainerFailingNoContainer(t *testing.T) { contID := "100" config := newTestSandboxConfigNoop() - p, err := CreateSandbox(config) + p, err := CreateSandbox(config, nil) if p == nil || err != nil { t.Fatal(err) } @@ -1731,7 +1731,7 @@ func TestStatusContainerSuccessful(t *testing.T) { contID := "100" config := newTestSandboxConfigNoop() - p, err := CreateSandbox(config) + p, err := CreateSandbox(config, nil) if p == nil || err != nil { t.Fatal(err) } @@ -1782,7 +1782,7 @@ func TestStatusContainerStateReady(t *testing.T) { contID := "101" config := newTestSandboxConfigNoop() - p, err := CreateSandbox(config) + p, err := CreateSandbox(config, nil) if p == nil || err != nil { t.Fatal(err) } @@ -1845,7 +1845,7 @@ func TestStatusContainerStateRunning(t *testing.T) { contID := "101" config := newTestSandboxConfigNoop() - p, err := CreateSandbox(config) + p, err := CreateSandbox(config, nil) if p == nil || err != nil { t.Fatal(err) } @@ -1917,7 +1917,7 @@ func TestStatusContainerFailing(t *testing.T) { contID := "100" config := newTestSandboxConfigNoop() - p, err := CreateSandbox(config) + p, err := CreateSandbox(config, nil) if p == nil || err != nil { t.Fatal(err) } @@ -1940,7 +1940,7 @@ func TestStatsContainerFailing(t *testing.T) { contID := "100" config := newTestSandboxConfigNoop() - p, err := CreateSandbox(config) + p, err := CreateSandbox(config, nil) if p == nil || err != nil { t.Fatal(err) } @@ -1973,7 +1973,7 @@ func TestStatsContainer(t *testing.T) { assert.Error(err) config := newTestSandboxConfigNoop() - p, err := CreateSandbox(config) + p, err := CreateSandbox(config, nil) assert.NoError(err) assert.NotNil(p) @@ -2023,7 +2023,7 @@ func TestProcessListContainer(t *testing.T) { assert.Error(err) config := newTestSandboxConfigNoop() - p, err := CreateSandbox(config) + p, err := CreateSandbox(config, nil) assert.NoError(err) assert.NotNil(p) @@ -2117,7 +2117,7 @@ func createAndStartSandbox(config SandboxConfig) (sandbox VCSandbox, sandboxDir err error) { // Create sandbox - sandbox, err = CreateSandbox(config) + sandbox, err = CreateSandbox(config, nil) if sandbox == nil || err != nil { return nil, "", err } @@ -2158,7 +2158,7 @@ func createStartStopDeleteSandbox(b *testing.B, sandboxConfig SandboxConfig) { func createStartStopDeleteContainers(b *testing.B, sandboxConfig SandboxConfig, contConfigs []ContainerConfig) { // Create sandbox - p, err := CreateSandbox(sandboxConfig) + p, err := CreateSandbox(sandboxConfig, nil) if err != nil { b.Fatalf("Could not create sandbox: %s", err) } @@ -2326,7 +2326,7 @@ func TestFetchSandbox(t *testing.T) { config := newTestSandboxConfigNoop() - s, err := CreateSandbox(config) + s, err := CreateSandbox(config, nil) if s == nil || err != nil { t.Fatal(err) } @@ -2348,7 +2348,7 @@ func TestReleaseSandbox(t *testing.T) { config := newTestSandboxConfigNoop() - s, err := CreateSandbox(config) + s, err := CreateSandbox(config, nil) if s == nil || err != nil { t.Fatal(err) } diff --git a/virtcontainers/example_pod_run_test.go b/virtcontainers/example_pod_run_test.go index 7ac0658cff..55e32e03e8 100644 --- a/virtcontainers/example_pod_run_test.go +++ b/virtcontainers/example_pod_run_test.go @@ -68,7 +68,7 @@ func Example_createAndStartSandbox() { Containers: []vc.ContainerConfig{container}, } - _, err := vc.RunSandbox(sandboxConfig) + _, err := vc.RunSandbox(sandboxConfig, nil) if err != nil { fmt.Printf("Could not run sandbox: %s", err) } diff --git a/virtcontainers/noop_agent_test.go b/virtcontainers/noop_agent_test.go index f4f076071c..206b92811d 100644 --- a/virtcontainers/noop_agent_test.go +++ b/virtcontainers/noop_agent_test.go @@ -14,7 +14,7 @@ func testCreateNoopContainer() (*Sandbox, *Container, error) { contID := "100" config := newTestSandboxConfigNoop() - p, err := CreateSandbox(config) + p, err := CreateSandbox(config, nil) if err != nil { return nil, nil, err } diff --git a/virtcontainers/pkg/vcmock/mock.go b/virtcontainers/pkg/vcmock/mock.go index a4e0bcab3b..ee818d5ddb 100644 --- a/virtcontainers/pkg/vcmock/mock.go +++ b/virtcontainers/pkg/vcmock/mock.go @@ -20,6 +20,7 @@ import ( "syscall" vc "github.com/kata-containers/runtime/virtcontainers" + vm "github.com/kata-containers/runtime/virtcontainers/factory" specs "github.com/opencontainers/runtime-spec/specs-go" "github.com/sirupsen/logrus" ) @@ -35,6 +36,13 @@ func (m *VCMock) SetLogger(logger logrus.FieldLogger) { } } +// SetFactory implements the VC function of the same name. +func (m *VCMock) SetFactory(factory vm.Factory) { + if m.SetFactoryFunc != nil { + m.SetFactoryFunc(factory) + } +} + // CreateSandbox implements the VC function of the same name. func (m *VCMock) CreateSandbox(sandboxConfig vc.SandboxConfig) (vc.VCSandbox, error) { if m.CreateSandboxFunc != nil { diff --git a/virtcontainers/pkg/vcmock/types.go b/virtcontainers/pkg/vcmock/types.go index c223526034..110dbc29cc 100644 --- a/virtcontainers/pkg/vcmock/types.go +++ b/virtcontainers/pkg/vcmock/types.go @@ -9,6 +9,7 @@ import ( "syscall" vc "github.com/kata-containers/runtime/virtcontainers" + vm "github.com/kata-containers/runtime/virtcontainers/factory" specs "github.com/opencontainers/runtime-spec/specs-go" "github.com/sirupsen/logrus" ) @@ -35,7 +36,8 @@ type Container struct { // VCMock is a type that provides an implementation of the VC interface. // It is used for testing. type VCMock struct { - SetLoggerFunc func(logger logrus.FieldLogger) + SetLoggerFunc func(logger logrus.FieldLogger) + SetFactoryFunc func(factory vm.Factory) CreateSandboxFunc func(sandboxConfig vc.SandboxConfig) (vc.VCSandbox, error) DeleteSandboxFunc func(sandboxID string) (vc.VCSandbox, error) diff --git a/virtcontainers/qemu_test.go b/virtcontainers/qemu_test.go index d56c22a368..01182c0cc9 100644 --- a/virtcontainers/qemu_test.go +++ b/virtcontainers/qemu_test.go @@ -117,8 +117,8 @@ func TestQemuInitMissingParentDirFail(t *testing.T) { t.Fatal(err) } - if err := q.init(sandbox.id, sandbox.config.HypervisorConfig, sandbox.config.VMConfig, sandbox.storage); err == nil { - t.Fatal("Qemu init() expected to fail because of missing parent directory for storage") + if err := q.init(sandbox.id, sandbox.config.HypervisorConfig, sandbox.config.VMConfig, sandbox.storage); err != nil { + t.Fatalf("Qemu init() is not expected to fail because of missing parent directory for storage: %v", err) } } @@ -249,7 +249,7 @@ func TestQemuAddDeviceSerialPortDev(t *testing.T) { func TestQemuGetSandboxConsole(t *testing.T) { q := &qemu{} sandboxID := "testSandboxID" - expected := filepath.Join(runStoragePath, sandboxID, consoleSocket) + expected := filepath.Join(RunVMStoragePath, sandboxID, consoleSocket) result, err := q.getSandboxConsole(sandboxID) if err != nil { diff --git a/virtcontainers/sandbox_test.go b/virtcontainers/sandbox_test.go index eec5a0d2aa..d2f3517428 100644 --- a/virtcontainers/sandbox_test.go +++ b/virtcontainers/sandbox_test.go @@ -52,7 +52,7 @@ func testCreateSandbox(t *testing.T, id string, Containers: containers, } - sandbox, err := createSandbox(sconfig) + sandbox, err := createSandbox(sconfig, nil) if err != nil { return nil, fmt.Errorf("Could not create sandbox: %s", err) }