mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-07-04 19:16:23 +00:00
test: add unit test for func MaxQemuVCPUs
we should add unit test for func MaxQemuVCPUS in qemu_amd64_test.go Signed-off-by: Penny Zheng <penny.zheng@arm.com> Signed-off-by: Wei Chen <Wei.Chen@arm.com>
This commit is contained in:
parent
c4ded6ee5e
commit
2d13c4653d
@ -7,6 +7,10 @@ package virtcontainers
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"io/ioutil"
|
||||||
|
"os"
|
||||||
|
"path/filepath"
|
||||||
|
"runtime"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
govmmQemu "github.com/intel/govmm/qemu"
|
govmmQemu "github.com/intel/govmm/qemu"
|
||||||
@ -50,3 +54,52 @@ func TestQemuArm64MemoryTopology(t *testing.T) {
|
|||||||
m := arm64.memoryTopology(mem, hostMem)
|
m := arm64.memoryTopology(mem, hostMem)
|
||||||
assert.Equal(expectedMemory, m)
|
assert.Equal(expectedMemory, m)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestMaxQemuVCPUs(t *testing.T) {
|
||||||
|
assert := assert.New(t)
|
||||||
|
|
||||||
|
type testData struct {
|
||||||
|
contents string
|
||||||
|
expectedResult uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
data := []testData{
|
||||||
|
{"", uint32(runtime.NumCPU())},
|
||||||
|
{" 1: 0 0 GICv2 25 Level vgic \n", uint32(8)},
|
||||||
|
{" 1: 0 0 GICv3 25 Level vgic \n", uint32(123)},
|
||||||
|
{" 1: 0 0 GICv4 25 Level vgic \n", uint32(123)},
|
||||||
|
}
|
||||||
|
|
||||||
|
tmpdir, err := ioutil.TempDir("", "")
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
defer os.RemoveAll(tmpdir)
|
||||||
|
|
||||||
|
savedGicProfile := gicProfile
|
||||||
|
|
||||||
|
testGicProfile := filepath.Join(tmpdir, "interrupts")
|
||||||
|
|
||||||
|
// override
|
||||||
|
gicProfile = testGicProfile
|
||||||
|
|
||||||
|
defer func() {
|
||||||
|
gicProfile = savedGicProfile
|
||||||
|
}()
|
||||||
|
|
||||||
|
savedHostGICVersion := hostGICVersion
|
||||||
|
|
||||||
|
defer func() {
|
||||||
|
hostGICVersion = savedHostGICVersion
|
||||||
|
}()
|
||||||
|
|
||||||
|
for _, d := range data {
|
||||||
|
err := ioutil.WriteFile(gicProfile, []byte(d.contents), os.FileMode(0640))
|
||||||
|
assert.NoError(err)
|
||||||
|
|
||||||
|
hostGICVersion = getHostGICVersion()
|
||||||
|
vCPUs := MaxQemuVCPUs()
|
||||||
|
|
||||||
|
assert.Equal(d.expectedResult, vCPUs)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user