mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-04-29 04:04:45 +00:00
runtime: Add test cases for checkPCIeConfig
These test cases shows which options are valid for CLH/Qemu, and test that we correctly catch unsupported combinations. Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
This commit is contained in:
parent
fc51e4b9eb
commit
7c4e73b609
@ -18,8 +18,10 @@ import (
|
|||||||
"syscall"
|
"syscall"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
config "github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
ktu "github.com/kata-containers/kata-containers/src/runtime/pkg/katatestutils"
|
ktu "github.com/kata-containers/kata-containers/src/runtime/pkg/katatestutils"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/pkg/oci"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/oci"
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers"
|
||||||
vc "github.com/kata-containers/kata-containers/src/runtime/virtcontainers"
|
vc "github.com/kata-containers/kata-containers/src/runtime/virtcontainers"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/compatoci"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/compatoci"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/vcmock"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/vcmock"
|
||||||
@ -419,3 +421,32 @@ func TestCreateContainer(t *testing.T) {
|
|||||||
assert.NoError(err)
|
assert.NoError(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestVfioChecksClh(t *testing.T) {
|
||||||
|
assert := assert.New(t)
|
||||||
|
|
||||||
|
// Check valid CLH vfio configs
|
||||||
|
f := func(coldPlug, hotPlug config.PCIePort) error {
|
||||||
|
return checkPCIeConfig(coldPlug, hotPlug, defaultMachineType, virtcontainers.ClhHypervisor)
|
||||||
|
}
|
||||||
|
assert.NoError(f(config.NoPort, config.NoPort))
|
||||||
|
assert.NoError(f(config.NoPort, config.RootPort))
|
||||||
|
assert.Error(f(config.RootPort, config.RootPort))
|
||||||
|
assert.Error(f(config.RootPort, config.NoPort))
|
||||||
|
assert.Error(f(config.NoPort, config.SwitchPort))
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestVfioCheckQemu(t *testing.T) {
|
||||||
|
assert := assert.New(t)
|
||||||
|
|
||||||
|
// Check valid Qemu vfio configs
|
||||||
|
f := func(coldPlug, hotPlug config.PCIePort) error {
|
||||||
|
return checkPCIeConfig(coldPlug, hotPlug, defaultMachineType, virtcontainers.QemuHypervisor)
|
||||||
|
}
|
||||||
|
|
||||||
|
assert.NoError(f(config.NoPort, config.NoPort))
|
||||||
|
assert.NoError(f(config.RootPort, config.NoPort))
|
||||||
|
assert.NoError(f(config.NoPort, config.RootPort))
|
||||||
|
assert.Error(f(config.RootPort, config.RootPort))
|
||||||
|
assert.Error(f(config.SwitchPort, config.RootPort))
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user