Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
address comments
Signed-off-by: kerthcet <kerthcet@gmail.com>
  • Loading branch information
kerthcet committed May 11, 2022
1 parent f053627 commit 3d7ff75
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 57 deletions.
40 changes: 40 additions & 0 deletions pkg/queue/cluster_queue_best_effort_fifo_test.go
Expand Up @@ -135,3 +135,43 @@ func TestClusterQueueBestEffortFIFO(t *testing.T) {
})
}
}

func TestDeleteFromQueue(t *testing.T) {
cq := utiltesting.MakeClusterQueue("cq").Obj()
cqImpl, err := newClusterQueueBestEffortFIFO(cq)
if err != nil {
t.Fatalf("Failed creating ClusterQueue %v", err)
}
q := utiltesting.MakeQueue("foo", "").ClusterQueue(cq.Name).Obj()
qImpl := newQueue(q)
wl1 := utiltesting.MakeWorkload("wl1", "").Queue(q.Name).Obj()
wl2 := utiltesting.MakeWorkload("wl2", "").Queue(q.Name).Obj()
wl3 := utiltesting.MakeWorkload("wl3", "").Queue(q.Name).Obj()
wl4 := utiltesting.MakeWorkload("wl4", "").Queue(q.Name).Obj()
admissibleworkloads := []*kueue.Workload{wl1, wl2}
inadmissibleWorkloads := []*kueue.Workload{wl3, wl4}

for _, w := range admissibleworkloads {
cqImpl.PushOrUpdate(w)
qImpl.AddOrUpdate(w)
}

for _, w := range inadmissibleWorkloads {
cqImpl.RequeueIfNotPresent(workload.NewInfo(w), false)
qImpl.AddOrUpdate(w)
}

wantPending := len(admissibleworkloads) + len(inadmissibleWorkloads)
if pending := cqImpl.Pending(); pending != int32(wantPending) {
t.Errorf("clusterQueue's workload number not right, want %v, got %v", wantPending, pending)
}
fifo := cqImpl.(*ClusterQueueBestEffortFIFO)
if len(fifo.inadmissibleWorkloads) != len(inadmissibleWorkloads) {
t.Errorf("clusterQueue's workload number in inadmissibleWorkloads not right, want %v, got %v", len(inadmissibleWorkloads), len(fifo.inadmissibleWorkloads))
}

cqImpl.DeleteFromQueue(qImpl)
if cqImpl.Pending() != 0 {
t.Error("clusterQueue should be empty")
}
}
57 changes: 0 additions & 57 deletions pkg/queue/manager_test.go
Expand Up @@ -160,63 +160,6 @@ func TestUpdateQueue(t *testing.T) {
}
}

func TestDeleteFromQueue(t *testing.T) {
now := time.Now()
cq := utiltesting.MakeClusterQueue("cq").Obj()
q := utiltesting.MakeQueue("foo", "").ClusterQueue(cq.Name).Obj()
wl1 := utiltesting.MakeWorkload("wl1", "").Queue(q.Name).Creation(now.Add(time.Hour)).Obj()
wl2 := utiltesting.MakeWorkload("wl2", "").Queue(q.Name).Creation(now.Add(time.Hour)).Obj()
wl3 := utiltesting.MakeWorkload("wl3", "").Queue(q.Name).Creation(now).Obj()
wl4 := utiltesting.MakeWorkload("wl4", "").Queue(q.Name).Creation(now).Obj()
workloads := []*kueue.Workload{wl1, wl2}
inadmissibleWorkloads := []*kueue.Workload{wl3, wl4}

scheme := runtime.NewScheme()
if err := kueue.AddToScheme(scheme); err != nil {
t.Fatalf("Failed adding kueue scheme: %s", err)
}
ctx := context.Background()
manager := NewManager(fake.NewClientBuilder().WithScheme(scheme).WithObjects(cq, q, wl1, wl2, wl3, wl4).Build())

if err := manager.AddClusterQueue(ctx, cq); err != nil {
t.Fatalf("Failed adding clusterQueue %s: %v", cq.Name, err)
}
cqImpl, exists := manager.clusterQueues[cq.Name]
if !exists {
t.Errorf("clusterQueue %s not exist", cq.Name)
}

if err := manager.AddQueue(ctx, q); err != nil {
t.Fatalf("Failed adding queue %s: %v", q.Name, err)
}
qImpl, exists := manager.queues[Key(q)]
if !exists {
t.Errorf("queue %s not exist", q.Name)
}

for _, w := range workloads {
manager.AddOrUpdateWorkload(w)
}
// simulate scheduling inadmissibleWorkloads
for i := 0; i < len(inadmissibleWorkloads); i++ {
cqImpl.Pop()
}
for _, w := range inadmissibleWorkloads {
manager.RequeueWorkload(ctx, workload.NewInfo(w), false)
}
if pending := cqImpl.Pending(); pending != 4 {
t.Errorf("clusterQueue's workload number not right, want %v, got %v", 4, pending)
}
if gotWorkloads, _ := cqImpl.Dump(); len(gotWorkloads) != 2 {
t.Errorf("clusterQueue's workload number in heap not right, want %v, got %v", 2, len(gotWorkloads))
}

cqImpl.DeleteFromQueue(qImpl)
if cqImpl.Pending() != 0 {
t.Error("clusterQueue should be empty")
}
}

func TestAddWorkload(t *testing.T) {
scheme := runtime.NewScheme()
if err := kueue.AddToScheme(scheme); err != nil {
Expand Down

0 comments on commit 3d7ff75

Please sign in to comment.