...
1
16
17 package topologymanager
18
19 import (
20 "testing"
21 )
22
23 func TestPolicyBestEffortCanAdmitPodResult(t *testing.T) {
24 tcases := []struct {
25 name string
26 hint TopologyHint
27 expected bool
28 }{
29 {
30 name: "Preferred is set to false in topology hints",
31 hint: TopologyHint{nil, false},
32 expected: true,
33 },
34 {
35 name: "Preferred is set to true in topology hints",
36 hint: TopologyHint{nil, true},
37 expected: true,
38 },
39 }
40
41 for _, tc := range tcases {
42 numaInfo := commonNUMAInfoTwoNodes()
43 policy := &bestEffortPolicy{numaInfo: numaInfo}
44 result := policy.canAdmitPodResult(&tc.hint)
45
46 if result != tc.expected {
47 t.Errorf("Expected result to be %t, got %t", tc.expected, result)
48 }
49 }
50 }
51
52 func TestPolicyBestEffortMerge(t *testing.T) {
53 numaInfo := commonNUMAInfoFourNodes()
54 policy := &bestEffortPolicy{numaInfo: numaInfo}
55
56 tcases := commonPolicyMergeTestCases(numaInfo.Nodes)
57 tcases = append(tcases, policy.mergeTestCases(numaInfo.Nodes)...)
58 tcases = append(tcases, policy.mergeTestCasesNoPolicies(numaInfo.Nodes)...)
59
60 testPolicyMerge(policy, tcases, t)
61 }
62
63 func TestPolicyBestEffortMergeClosestNUMA(t *testing.T) {
64 numaInfo := commonNUMAInfoEightNodes()
65 opts := PolicyOptions{
66 PreferClosestNUMA: true,
67 }
68 policy := &bestEffortPolicy{numaInfo: numaInfo, opts: opts}
69
70 tcases := commonPolicyMergeTestCases(numaInfo.Nodes)
71 tcases = append(tcases, policy.mergeTestCases(numaInfo.Nodes)...)
72 tcases = append(tcases, policy.mergeTestCasesClosestNUMA(numaInfo.Nodes)...)
73
74 testPolicyMerge(policy, tcases, t)
75 }
76
View as plain text