Change:
} } <del> type testingMode interface { Fatalf(format string, args ...interface{}) } func makeBasePod(t testingMode, nodeName, objName, cpu, mem, extended string, ports []v1.ContainerPort, volumes []v1.Volume) *v1.Pod { req := v1.ResourceList{} if cpu != "" { req = v1.ResourceList{ v1.ResourceCPU:    resource.MustParse(cpu), v1.ResourceMemory: resource.MustParse(mem), } if extended != "" { parts := strings.Split(extended, ":") if len(parts) != 2 { t.Fatalf("Invalid extended resource string: "%s"", extended) } req[v1.ResourceName(parts[0])] = resource.MustParse(parts[1]) } } return &v1.Pod{ ObjectMeta: metav1.ObjectMeta{ UID:       types.UID(objName), Namespace: "node_info_cache_test", Name:      objName, }, Spec: v1.PodSpec{ Containers: []v1.Container{{ Resources: v1.ResourceRequirements{ Requests: req, }, Ports: ports, }}, NodeName: nodeName, Volumes:  volumes, }, } } </del> func TestNewNodeInfo(t *testing.T) { nodeName := "test-node" pods := []*v1.Pod{ <del> makeBasePod(t, nodeName, "test-1", "100m", "500", "", []v1.ContainerPort{{HostIP: "127.0.0.1", HostPort: 80, Protocol: "TCP"}}, nil), makeBasePod(t, nodeName, "test-2", "200m", "1Ki", "", []v1.ContainerPort{{HostIP: "127.0.0.1", HostPort: 8080, Protocol: "TCP"}}, nil), </del> <ins> st.MakePod().UID("test-1").Namespace("node_info_cache_test").Name("test-1").Node(nodeName). Containers([]v1.Container{st.MakeContainer().ResourceRequests(map[v1.ResourceName]string{ v1.ResourceCPU:    "100m", v1.ResourceMemory: "500", }).ContainerPort([]v1.ContainerPort{{ HostIP:   "127.0.0.1", HostPort: 80, Protocol: "TCP", }}).Obj()}). Obj(), st.MakePod().UID("test-2").Namespace("node_info_cache_test").Name("test-2").Node(nodeName). Containers([]v1.Container{st.MakeContainer().ResourceRequests(map[v1.ResourceName]string{ v1.ResourceCPU:    "200m", v1.ResourceMemory: "1Ki", }).ContainerPort([]v1.ContainerPort{{ HostIP:   "127.0.0.1", HostPort: 8080, Protocol: "TCP", }}).Obj()}). Obj(), </ins> } expected := &NodeInfo{

Discussion:
We have a pod fake function in , but this is not a base util anymore, we have a lot of arguments, we can replace this with here /sig scheduling /kind cleanup /help This is an easy one to get start. Cleaner code for maintenance.
This request has been marked as needing help from a contributor. Please ensure that the issue body includes answers to the following questions: Why are we solving this issue? To address this issue, are there any code changes? If there are code changes, what needs to be done in the code and what places can the assignee treat as reference points? Does this issue have zero to low barrier of entry? How can the assignee reach out to you for help? For more details on the requirements of such an issue, please see and ensure that they are met. If this request no longer meets these requirements, the label can be removed by commenting with the command. <detailsIn response to : ### What would you like to be ? /kind cleanup /help Instructions for interacting with me using PR comments are available . If you have questions or suggestions related to my behavior, please file an issue against the repository. </details
This issue is currently awaiting triage. If a SIG or subproject determines this is a relevant issue, they will accept it by applying the label and provide further guidance. The label can be by org members by writing in a comment. <detailsInstructions for interacting with me using PR comments are available . If you have questions or suggestions related to my behavior, please file an issue against the repository. </details
/remove-kind feature
I want to try this one, the problem we solve here is to replace the *v1.Pod with type PodWrapper {}? /assign
Replace with in
you mean replace ` in I check the code and didn't found out that we have makeBasePod in
I have tried it. But there will be error about cycle import, because package import package, where locate.
yes, I've tried it as well. guess I need to wait for kerthcet's response <img width="805" alt="image" src=""
Sorry, forgot to reply on this, I introduced another PR to help solve this import cycle, but waits for other maintainers' response. So generally, if that pr accepted, we can work on this one then. Thanks for the volunteer.
the import cycle is resolved, you can start your work now, thanks!
thanks for the ping!