Skip to content

Commit 7d45e12

Browse files
committed
use sub test in gc_controller_test.go
1 parent 961a5ed commit 7d45e12

File tree

1 file changed

+64
-54
lines changed

1 file changed

+64
-54
lines changed

pkg/controller/podgc/gc_controller_test.go

Lines changed: 64 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package podgc
1818

1919
import (
2020
"context"
21+
"fmt"
2122
"sync"
2223
"testing"
2324
"time"
@@ -72,6 +73,7 @@ func TestGCTerminated(t *testing.T) {
7273
deletedPodNames sets.String
7374
}{
7475
{
76+
// case 1
7577
pods: []nameToPhase{
7678
{name: "a", phase: v1.PodFailed},
7779
{name: "b", phase: v1.PodSucceeded},
@@ -81,6 +83,7 @@ func TestGCTerminated(t *testing.T) {
8183
deletedPodNames: sets.NewString(),
8284
},
8385
{
86+
// case 2
8487
pods: []nameToPhase{
8588
{name: "a", phase: v1.PodFailed},
8689
{name: "b", phase: v1.PodSucceeded},
@@ -90,6 +93,7 @@ func TestGCTerminated(t *testing.T) {
9093
deletedPodNames: sets.NewString("a", "b"),
9194
},
9295
{
96+
// case 3
9397
pods: []nameToPhase{
9498
{name: "a", phase: v1.PodRunning},
9599
{name: "b", phase: v1.PodSucceeded},
@@ -99,6 +103,7 @@ func TestGCTerminated(t *testing.T) {
99103
deletedPodNames: sets.NewString("b"),
100104
},
101105
{
106+
// case 4
102107
pods: []nameToPhase{
103108
{name: "a", phase: v1.PodFailed},
104109
{name: "b", phase: v1.PodSucceeded},
@@ -107,6 +112,7 @@ func TestGCTerminated(t *testing.T) {
107112
deletedPodNames: sets.NewString("a"),
108113
},
109114
{
115+
// case 5
110116
pods: []nameToPhase{
111117
{name: "a", phase: v1.PodFailed},
112118
{name: "b", phase: v1.PodSucceeded},
@@ -117,33 +123,35 @@ func TestGCTerminated(t *testing.T) {
117123
}
118124

119125
for i, test := range testCases {
120-
client := fake.NewSimpleClientset(&v1.NodeList{Items: []v1.Node{*testutil.NewNode("node")}})
121-
gcc, podInformer, _ := NewFromClient(client, test.threshold)
122-
deletedPodNames := make([]string, 0)
123-
var lock sync.Mutex
124-
gcc.deletePod = func(_, name string) error {
125-
lock.Lock()
126-
defer lock.Unlock()
127-
deletedPodNames = append(deletedPodNames, name)
128-
return nil
129-
}
126+
t.Run(fmt.Sprintf("case: %v", i), func(t *testing.T) {
127+
client := fake.NewSimpleClientset(&v1.NodeList{Items: []v1.Node{*testutil.NewNode("node")}})
128+
gcc, podInformer, _ := NewFromClient(client, test.threshold)
129+
deletedPodNames := make([]string, 0)
130+
var lock sync.Mutex
131+
gcc.deletePod = func(_, name string) error {
132+
lock.Lock()
133+
defer lock.Unlock()
134+
deletedPodNames = append(deletedPodNames, name)
135+
return nil
136+
}
130137

131-
creationTime := time.Unix(0, 0)
132-
for _, pod := range test.pods {
133-
creationTime = creationTime.Add(1 * time.Hour)
134-
podInformer.Informer().GetStore().Add(&v1.Pod{
135-
ObjectMeta: metav1.ObjectMeta{Name: pod.name, CreationTimestamp: metav1.Time{Time: creationTime}},
136-
Status: v1.PodStatus{Phase: pod.phase},
137-
Spec: v1.PodSpec{NodeName: "node"},
138-
})
139-
}
138+
creationTime := time.Unix(0, 0)
139+
for _, pod := range test.pods {
140+
creationTime = creationTime.Add(1 * time.Hour)
141+
podInformer.Informer().GetStore().Add(&v1.Pod{
142+
ObjectMeta: metav1.ObjectMeta{Name: pod.name, CreationTimestamp: metav1.Time{Time: creationTime}},
143+
Status: v1.PodStatus{Phase: pod.phase},
144+
Spec: v1.PodSpec{NodeName: "node"},
145+
})
146+
}
140147

141-
gcc.gc()
148+
gcc.gc()
142149

143-
if pass := compareStringSetToList(test.deletedPodNames, deletedPodNames); !pass {
144-
t.Errorf("[%v]pod's deleted expected and actual did not match.\n\texpected: %v\n\tactual: %v",
145-
i, test.deletedPodNames.List(), deletedPodNames)
146-
}
150+
if pass := compareStringSetToList(test.deletedPodNames, deletedPodNames); !pass {
151+
t.Errorf("[%v]pod's deleted expected and actual did not match.\n\texpected: %v\n\tactual: %v",
152+
i, test.deletedPodNames.List(), deletedPodNames)
153+
}
154+
})
147155
}
148156
}
149157

@@ -403,38 +411,40 @@ func TestGCUnscheduledTerminating(t *testing.T) {
403411
}
404412

405413
for i, test := range testCases {
406-
client := fake.NewSimpleClientset()
407-
gcc, podInformer, _ := NewFromClient(client, -1)
408-
deletedPodNames := make([]string, 0)
409-
var lock sync.Mutex
410-
gcc.deletePod = func(_, name string) error {
411-
lock.Lock()
412-
defer lock.Unlock()
413-
deletedPodNames = append(deletedPodNames, name)
414-
return nil
415-
}
414+
t.Run(test.name, func(t *testing.T) {
415+
client := fake.NewSimpleClientset()
416+
gcc, podInformer, _ := NewFromClient(client, -1)
417+
deletedPodNames := make([]string, 0)
418+
var lock sync.Mutex
419+
gcc.deletePod = func(_, name string) error {
420+
lock.Lock()
421+
defer lock.Unlock()
422+
deletedPodNames = append(deletedPodNames, name)
423+
return nil
424+
}
416425

417-
creationTime := time.Unix(0, 0)
418-
for _, pod := range test.pods {
419-
creationTime = creationTime.Add(1 * time.Hour)
420-
podInformer.Informer().GetStore().Add(&v1.Pod{
421-
ObjectMeta: metav1.ObjectMeta{Name: pod.name, CreationTimestamp: metav1.Time{Time: creationTime},
422-
DeletionTimestamp: pod.deletionTimeStamp},
423-
Status: v1.PodStatus{Phase: pod.phase},
424-
Spec: v1.PodSpec{NodeName: pod.nodeName},
425-
})
426-
}
426+
creationTime := time.Unix(0, 0)
427+
for _, pod := range test.pods {
428+
creationTime = creationTime.Add(1 * time.Hour)
429+
podInformer.Informer().GetStore().Add(&v1.Pod{
430+
ObjectMeta: metav1.ObjectMeta{Name: pod.name, CreationTimestamp: metav1.Time{Time: creationTime},
431+
DeletionTimestamp: pod.deletionTimeStamp},
432+
Status: v1.PodStatus{Phase: pod.phase},
433+
Spec: v1.PodSpec{NodeName: pod.nodeName},
434+
})
435+
}
427436

428-
pods, err := podInformer.Lister().List(labels.Everything())
429-
if err != nil {
430-
t.Errorf("Error while listing all Pods: %v", err)
431-
return
432-
}
433-
gcc.gcUnscheduledTerminating(pods)
437+
pods, err := podInformer.Lister().List(labels.Everything())
438+
if err != nil {
439+
t.Errorf("Error while listing all Pods: %v", err)
440+
return
441+
}
442+
gcc.gcUnscheduledTerminating(pods)
434443

435-
if pass := compareStringSetToList(test.deletedPodNames, deletedPodNames); !pass {
436-
t.Errorf("[%v]pod's deleted expected and actual did not match.\n\texpected: %v\n\tactual: %v, test: %v",
437-
i, test.deletedPodNames.List(), deletedPodNames, test.name)
438-
}
444+
if pass := compareStringSetToList(test.deletedPodNames, deletedPodNames); !pass {
445+
t.Errorf("[%v]pod's deleted expected and actual did not match.\n\texpected: %v\n\tactual: %v, test: %v",
446+
i, test.deletedPodNames.List(), deletedPodNames, test.name)
447+
}
448+
})
439449
}
440450
}

0 commit comments

Comments
 (0)