mirror of https://github.com/k3s-io/k3s
update unit test for hugepage resourceQuota support
parent
e9ff036e8a
commit
1029b54770
|
@ -59,6 +59,7 @@ func TestIsStandardResource(t *testing.T) {
|
||||||
{"blah", false},
|
{"blah", false},
|
||||||
{"x.y.z", false},
|
{"x.y.z", false},
|
||||||
{"hugepages-2Mi", true},
|
{"hugepages-2Mi", true},
|
||||||
|
{"requests.hugepages-2Mi", true},
|
||||||
}
|
}
|
||||||
for i, tc := range testCases {
|
for i, tc := range testCases {
|
||||||
if IsStandardResourceName(tc.input) != tc.output {
|
if IsStandardResourceName(tc.input) != tc.output {
|
||||||
|
|
|
@ -175,6 +175,23 @@ func TestPodEvaluatorUsage(t *testing.T) {
|
||||||
generic.ObjectCountQuotaResourceNameFor(schema.GroupResource{Resource: "pods"}): resource.MustParse("1"),
|
generic.ObjectCountQuotaResourceNameFor(schema.GroupResource{Resource: "pods"}): resource.MustParse("1"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"init container hugepages": {
|
||||||
|
pod: &api.Pod{
|
||||||
|
Spec: api.PodSpec{
|
||||||
|
InitContainers: []api.Container{{
|
||||||
|
Resources: api.ResourceRequirements{
|
||||||
|
Requests: api.ResourceList{api.ResourceName(api.ResourceHugePagesPrefix + "2Mi"): resource.MustParse("100Mi")},
|
||||||
|
},
|
||||||
|
}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
usage: api.ResourceList{
|
||||||
|
api.ResourceName(api.ResourceHugePagesPrefix + "2Mi"): resource.MustParse("100Mi"),
|
||||||
|
api.ResourceName(api.ResourceRequestsHugePagesPrefix + "2Mi"): resource.MustParse("100Mi"),
|
||||||
|
api.ResourcePods: resource.MustParse("1"),
|
||||||
|
generic.ObjectCountQuotaResourceNameFor(schema.GroupResource{Resource: "pods"}): resource.MustParse("1"),
|
||||||
|
},
|
||||||
|
},
|
||||||
"container CPU": {
|
"container CPU": {
|
||||||
pod: &api.Pod{
|
pod: &api.Pod{
|
||||||
Spec: api.PodSpec{
|
Spec: api.PodSpec{
|
||||||
|
@ -232,6 +249,23 @@ func TestPodEvaluatorUsage(t *testing.T) {
|
||||||
generic.ObjectCountQuotaResourceNameFor(schema.GroupResource{Resource: "pods"}): resource.MustParse("1"),
|
generic.ObjectCountQuotaResourceNameFor(schema.GroupResource{Resource: "pods"}): resource.MustParse("1"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"container hugepages": {
|
||||||
|
pod: &api.Pod{
|
||||||
|
Spec: api.PodSpec{
|
||||||
|
Containers: []api.Container{{
|
||||||
|
Resources: api.ResourceRequirements{
|
||||||
|
Requests: api.ResourceList{api.ResourceName(api.ResourceHugePagesPrefix + "2Mi"): resource.MustParse("100Mi")},
|
||||||
|
},
|
||||||
|
}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
usage: api.ResourceList{
|
||||||
|
api.ResourceName(api.ResourceHugePagesPrefix + "2Mi"): resource.MustParse("100Mi"),
|
||||||
|
api.ResourceName(api.ResourceRequestsHugePagesPrefix + "2Mi"): resource.MustParse("100Mi"),
|
||||||
|
api.ResourcePods: resource.MustParse("1"),
|
||||||
|
generic.ObjectCountQuotaResourceNameFor(schema.GroupResource{Resource: "pods"}): resource.MustParse("1"),
|
||||||
|
},
|
||||||
|
},
|
||||||
"init container maximums override sum of containers": {
|
"init container maximums override sum of containers": {
|
||||||
pod: &api.Pod{
|
pod: &api.Pod{
|
||||||
Spec: api.PodSpec{
|
Spec: api.PodSpec{
|
||||||
|
|
|
@ -226,6 +226,30 @@ func TestContains(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestContainsPrefix(t *testing.T) {
|
||||||
|
testCases := map[string]struct {
|
||||||
|
a []string
|
||||||
|
b api.ResourceName
|
||||||
|
expected bool
|
||||||
|
}{
|
||||||
|
"does-not-contain": {
|
||||||
|
a: []string{api.ResourceHugePagesPrefix},
|
||||||
|
b: api.ResourceCPU,
|
||||||
|
expected: false,
|
||||||
|
},
|
||||||
|
"does-contain": {
|
||||||
|
a: []string{api.ResourceHugePagesPrefix},
|
||||||
|
b: api.ResourceName(api.ResourceHugePagesPrefix + "2Mi"),
|
||||||
|
expected: true,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
for testName, testCase := range testCases {
|
||||||
|
if actual := ContainsPrefix(testCase.a, testCase.b); actual != testCase.expected {
|
||||||
|
t.Errorf("%s expected: %v, actual: %v", testName, testCase.expected, actual)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestIsZero(t *testing.T) {
|
func TestIsZero(t *testing.T) {
|
||||||
testCases := map[string]struct {
|
testCases := map[string]struct {
|
||||||
a api.ResourceList
|
a api.ResourceList
|
||||||
|
|
Loading…
Reference in New Issue