From 7ed09dd825b289315c26c83c755726467cfefdb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gary=20Liu=20=28=E5=88=98=E5=B9=BF=E6=BA=90=29?= Date: Tue, 25 Feb 2025 15:29:58 +0800 Subject: [PATCH] chore(qrm-plugins): ensure test coverage --- .../cpu/dynamicpolicy/policy_test.go | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/pkg/agent/qrm-plugins/cpu/dynamicpolicy/policy_test.go b/pkg/agent/qrm-plugins/cpu/dynamicpolicy/policy_test.go index 831ba9dc8..cc5f9a34e 100644 --- a/pkg/agent/qrm-plugins/cpu/dynamicpolicy/policy_test.go +++ b/pkg/agent/qrm-plugins/cpu/dynamicpolicy/policy_test.go @@ -6525,6 +6525,14 @@ func (m *mockCPUAdvisor) ListAndWatch(in *advisorsvc.Empty, srv advisorapi.CPUAd return args.Error(0) } +func (m *mockCPUAdvisor) AddContainer(ctx context.Context, req *advisorsvc.ContainerMetadata) (*advisorsvc.AddContainerResponse, error) { + return &advisorsvc.AddContainerResponse{}, nil +} + +func (m *mockCPUAdvisor) RemovePod(ctx context.Context, req *advisorsvc.RemovePodRequest) (*advisorsvc.RemovePodResponse, error) { + return &advisorsvc.RemovePodResponse{}, nil +} + func enableAdvisorForTest(dynamicPolicy *DynamicPolicy, pluginSocketDir string) { dynamicPolicy.enableCPUAdvisor = true dynamicPolicy.getAdviceInterval = 1 * time.Second @@ -6665,6 +6673,44 @@ func TestSwitchBetweenAPIs(t *testing.T) { checkpointDir := filepath.Join(tmpDir, "checkpoint") dynamicPolicy, err := getTestDynamicPolicyWithInitialization(cpuTopology, checkpointDir) as.NoError(err) + podEntries := state.PodEntries{ + "373d08e4-7a6b-4293-aaaf-b135ff812aaa": state.ContainerEntries{ + "container1": &state.AllocationInfo{ + AllocationMeta: commonstate.AllocationMeta{ + PodUid: "373d08e4-7a6b-4293-aaaf-b135ff812aaa", + PodNamespace: "default", + PodName: "test", + ContainerName: "container1", + ContainerType: pluginapi.ContainerType_MAIN.String(), + ContainerIndex: 0, + OwnerPoolName: "share-NUMA1", + Labels: map[string]string{ + consts.PodAnnotationQoSLevelKey: consts.PodAnnotationQoSLevelSharedCores, + }, + Annotations: map[string]string{ + consts.PodAnnotationQoSLevelKey: consts.PodAnnotationQoSLevelSharedCores, + consts.PodAnnotationMemoryEnhancementNumaBinding: consts.PodAnnotationMemoryEnhancementNumaBindingEnable, + }, + QoSLevel: consts.PodAnnotationQoSLevelSharedCores, + }, + RampUp: false, + AllocationResult: machine.MustParse("3,10"), + OriginalAllocationResult: machine.MustParse("3,10"), + TopologyAwareAssignments: map[int]machine.CPUSet{ + 1: machine.NewCPUSet(3, 10), + }, + OriginalTopologyAwareAssignments: map[int]machine.CPUSet{ + 1: machine.NewCPUSet(3, 10), + }, + RequestQuantity: 2, + }, + }, + } + machineState, err := generateMachineStateFromPodEntries(cpuTopology, podEntries) + as.Nil(err) + + dynamicPolicy.state.SetPodEntries(podEntries) + dynamicPolicy.state.SetMachineState(machineState) enableAdvisorForTest(dynamicPolicy, tmpDir)