fix: refactor TestPrepareCandidate

This commit is contained in:
Kensei Nakada
2024-11-06 23:14:29 +09:00
parent 9756a648b0
commit 9b5928f764

View File

@@ -453,7 +453,6 @@ func TestPrepareCandidate(t *testing.T) {
expectedStatus *framework.Status expectedStatus *framework.Status
// Only compared when async preemption is enabled. // Only compared when async preemption is enabled.
expectedPreemptingMap sets.Set[types.UID] expectedPreemptingMap sets.Set[types.UID]
expectedActivatedPods map[string]*v1.Pod
}{ }{
{ {
name: "no victims", name: "no victims",
@@ -468,7 +467,6 @@ func TestPrepareCandidate(t *testing.T) {
nodeNames: []string{node1Name}, nodeNames: []string{node1Name},
expectedStatus: nil, expectedStatus: nil,
expectedPreemptingMap: sets.New(types.UID("preemptor")), expectedPreemptingMap: sets.New(types.UID("preemptor")),
expectedActivatedPods: map[string]*v1.Pod{preemptor.Name: preemptor},
}, },
{ {
name: "one victim without condition", name: "one victim without condition",
@@ -489,7 +487,6 @@ func TestPrepareCandidate(t *testing.T) {
expectedDeletedPods: []string{"victim1"}, expectedDeletedPods: []string{"victim1"},
expectedStatus: nil, expectedStatus: nil,
expectedPreemptingMap: sets.New(types.UID("preemptor")), expectedPreemptingMap: sets.New(types.UID("preemptor")),
expectedActivatedPods: map[string]*v1.Pod{preemptor.Name: preemptor},
}, },
{ {
name: "one victim with same condition", name: "one victim with same condition",
@@ -510,7 +507,6 @@ func TestPrepareCandidate(t *testing.T) {
expectedDeletedPods: []string{"victim1"}, expectedDeletedPods: []string{"victim1"},
expectedStatus: nil, expectedStatus: nil,
expectedPreemptingMap: sets.New(types.UID("preemptor")), expectedPreemptingMap: sets.New(types.UID("preemptor")),
expectedActivatedPods: map[string]*v1.Pod{preemptor.Name: preemptor},
}, },
{ {
name: "one victim, not-found victim error is ignored when patching", name: "one victim, not-found victim error is ignored when patching",
@@ -529,7 +525,6 @@ func TestPrepareCandidate(t *testing.T) {
expectedDeletedPods: []string{"victim1"}, expectedDeletedPods: []string{"victim1"},
expectedStatus: nil, expectedStatus: nil,
expectedPreemptingMap: sets.New(types.UID("preemptor")), expectedPreemptingMap: sets.New(types.UID("preemptor")),
expectedActivatedPods: map[string]*v1.Pod{preemptor.Name: preemptor},
}, },
{ {
name: "one victim, but pod deletion failed", name: "one victim, but pod deletion failed",
@@ -548,7 +543,6 @@ func TestPrepareCandidate(t *testing.T) {
nodeNames: []string{node1Name}, nodeNames: []string{node1Name},
expectedStatus: framework.AsStatus(errors.New("delete pod failed")), expectedStatus: framework.AsStatus(errors.New("delete pod failed")),
expectedPreemptingMap: sets.New(types.UID("preemptor")), expectedPreemptingMap: sets.New(types.UID("preemptor")),
expectedActivatedPods: map[string]*v1.Pod{preemptor.Name: preemptor},
}, },
{ {
name: "one victim, not-found victim error is ignored when deleting", name: "one victim, not-found victim error is ignored when deleting",
@@ -567,7 +561,6 @@ func TestPrepareCandidate(t *testing.T) {
expectedDeletedPods: []string{"victim1"}, expectedDeletedPods: []string{"victim1"},
expectedStatus: nil, expectedStatus: nil,
expectedPreemptingMap: sets.New(types.UID("preemptor")), expectedPreemptingMap: sets.New(types.UID("preemptor")),
expectedActivatedPods: map[string]*v1.Pod{preemptor.Name: preemptor},
}, },
{ {
name: "one victim, but patch pod failed", name: "one victim, but patch pod failed",
@@ -586,7 +579,6 @@ func TestPrepareCandidate(t *testing.T) {
nodeNames: []string{node1Name}, nodeNames: []string{node1Name},
expectedStatus: framework.AsStatus(errors.New("patch pod status failed")), expectedStatus: framework.AsStatus(errors.New("patch pod status failed")),
expectedPreemptingMap: sets.New(types.UID("preemptor")), expectedPreemptingMap: sets.New(types.UID("preemptor")),
expectedActivatedPods: map[string]*v1.Pod{preemptor.Name: preemptor},
}, },
{ {
name: "two victims without condition, one passes successfully and the second fails", name: "two victims without condition, one passes successfully and the second fails",
@@ -609,7 +601,6 @@ func TestPrepareCandidate(t *testing.T) {
expectedDeletedPods: []string{"victim2"}, expectedDeletedPods: []string{"victim2"},
expectedStatus: framework.AsStatus(errors.New("patch pod status failed")), expectedStatus: framework.AsStatus(errors.New("patch pod status failed")),
expectedPreemptingMap: sets.New(types.UID("preemptor")), expectedPreemptingMap: sets.New(types.UID("preemptor")),
expectedActivatedPods: map[string]*v1.Pod{preemptor.Name: preemptor},
}, },
} }
@@ -739,12 +730,9 @@ func TestPrepareCandidate(t *testing.T) {
} }
if asyncPreemptionEnabled { if asyncPreemptionEnabled {
if tt.expectedActivatedPods != nil && !reflect.DeepEqual(tt.expectedActivatedPods, fakeActivator.activatedPods) { // Make sure the preemptor is activated regardless of the preemption result.
lastErrMsg = fmt.Sprintf("expected activated pods %v, got %v", tt.expectedActivatedPods, fakeActivator.activatedPods) if !reflect.DeepEqual(map[string]*v1.Pod{tt.preemptor.Name: tt.preemptor}, fakeActivator.activatedPods) {
return false, nil lastErrMsg = fmt.Sprintf("expected activated pods %v, got %v", map[string]*v1.Pod{tt.preemptor.Name: tt.preemptor}, fakeActivator.activatedPods)
}
if tt.expectedActivatedPods == nil && len(fakeActivator.activatedPods) != 0 {
lastErrMsg = fmt.Sprintf("expected no activated pods, got %v", fakeActivator.activatedPods)
return false, nil return false, nil
} }
} }