mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-07-04 02:56:18 +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 (
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
"testing"
|
||||
|
||||
govmmQemu "github.com/intel/govmm/qemu"
|
||||
@ -50,3 +54,52 @@ func TestQemuArm64MemoryTopology(t *testing.T) {
|
||||
m := arm64.memoryTopology(mem, hostMem)
|
||||
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