mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-03 01:06:27 +00:00
Updated unit tests.
This commit is contained in:
parent
05365d7cb2
commit
d57e8f11a3
@ -25,6 +25,7 @@ import (
|
|||||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||||
"k8s.io/kubernetes/pkg/client/cache"
|
"k8s.io/kubernetes/pkg/client/cache"
|
||||||
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake"
|
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake"
|
||||||
|
"k8s.io/kubernetes/pkg/labels"
|
||||||
"k8s.io/kubernetes/pkg/util/sets"
|
"k8s.io/kubernetes/pkg/util/sets"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -194,7 +195,92 @@ func TestGCOrphaned(t *testing.T) {
|
|||||||
gcc.podController = &FakeController{}
|
gcc.podController = &FakeController{}
|
||||||
gcc.nodeController = &FakeController{}
|
gcc.nodeController = &FakeController{}
|
||||||
|
|
||||||
gcc.gc()
|
pods, err := gcc.podStore.List(labels.Everything())
|
||||||
|
if err != nil {
|
||||||
|
t.Errorf("Error while listing all Pods: %v", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
gcc.gcOrphaned(pods)
|
||||||
|
|
||||||
|
pass := true
|
||||||
|
for _, pod := range deletedPodNames {
|
||||||
|
if !test.deletedPodNames.Has(pod) {
|
||||||
|
pass = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if len(deletedPodNames) != len(test.deletedPodNames) {
|
||||||
|
pass = false
|
||||||
|
}
|
||||||
|
if !pass {
|
||||||
|
t.Errorf("[%v]pod's deleted expected and actual did not match.\n\texpected: %v\n\tactual: %v", i, test.deletedPodNames, deletedPodNames)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestGCUnscheduledTerminating(t *testing.T) {
|
||||||
|
type nameToPhase struct {
|
||||||
|
name string
|
||||||
|
phase api.PodPhase
|
||||||
|
deletionTimeStamp *unversioned.Time
|
||||||
|
nodeName string
|
||||||
|
}
|
||||||
|
|
||||||
|
testCases := []struct {
|
||||||
|
pods []nameToPhase
|
||||||
|
deletedPodNames sets.String
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
pods: []nameToPhase{
|
||||||
|
{name: "a", phase: api.PodFailed, deletionTimeStamp: &unversioned.Time{}, nodeName: ""},
|
||||||
|
{name: "b", phase: api.PodSucceeded, deletionTimeStamp: &unversioned.Time{}, nodeName: ""},
|
||||||
|
{name: "c", phase: api.PodRunning, deletionTimeStamp: &unversioned.Time{}, nodeName: ""},
|
||||||
|
},
|
||||||
|
deletedPodNames: sets.NewString("a", "b", "c"),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
pods: []nameToPhase{
|
||||||
|
{name: "a", phase: api.PodFailed, deletionTimeStamp: nil, nodeName: ""},
|
||||||
|
{name: "b", phase: api.PodSucceeded, deletionTimeStamp: nil, nodeName: "node"},
|
||||||
|
{name: "c", phase: api.PodRunning, deletionTimeStamp: &unversioned.Time{}, nodeName: "node"},
|
||||||
|
},
|
||||||
|
deletedPodNames: sets.NewString(),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for i, test := range testCases {
|
||||||
|
client := fake.NewSimpleClientset()
|
||||||
|
gcc := NewFromClient(client, -1)
|
||||||
|
deletedPodNames := make([]string, 0)
|
||||||
|
var lock sync.Mutex
|
||||||
|
gcc.deletePod = func(_, name string) error {
|
||||||
|
lock.Lock()
|
||||||
|
defer lock.Unlock()
|
||||||
|
deletedPodNames = append(deletedPodNames, name)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
creationTime := time.Unix(0, 0)
|
||||||
|
for _, pod := range test.pods {
|
||||||
|
creationTime = creationTime.Add(1 * time.Hour)
|
||||||
|
gcc.podStore.Indexer.Add(&api.Pod{
|
||||||
|
ObjectMeta: api.ObjectMeta{Name: pod.name, CreationTimestamp: unversioned.Time{Time: creationTime},
|
||||||
|
DeletionTimestamp: pod.deletionTimeStamp},
|
||||||
|
Status: api.PodStatus{Phase: pod.phase},
|
||||||
|
Spec: api.PodSpec{NodeName: pod.nodeName},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
store := cache.NewStore(cache.MetaNamespaceKeyFunc)
|
||||||
|
gcc.nodeStore = cache.StoreToNodeLister{Store: store}
|
||||||
|
gcc.podController = &FakeController{}
|
||||||
|
gcc.nodeController = &FakeController{}
|
||||||
|
|
||||||
|
pods, err := gcc.podStore.List(labels.Everything())
|
||||||
|
if err != nil {
|
||||||
|
t.Errorf("Error while listing all Pods: %v", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
gcc.gcUnscheduledTerminating(pods)
|
||||||
|
|
||||||
pass := true
|
pass := true
|
||||||
for _, pod := range deletedPodNames {
|
for _, pod := range deletedPodNames {
|
||||||
|
Loading…
Reference in New Issue
Block a user