Update SyncJob with PodControllerError updates in job unit tests

This commit is contained in:
kannon92 2022-12-21 22:11:27 +00:00
parent c0c386b9c9
commit 3a838033f8

View File

@ -211,6 +211,10 @@ func TestControllerSyncJob(t *testing.T) {
initialStatus *jobInitialStatus initialStatus *jobInitialStatus
// pod setup // pod setup
// If a podControllerError is set, finalizers are not able to be removed.
// This means that there is no status update so the counters for
// failedPods and succeededPods cannot be incremented.
podControllerError error podControllerError error
jobKeyForget bool jobKeyForget bool
pendingPods int pendingPods int
@ -318,12 +322,13 @@ func TestControllerSyncJob(t *testing.T) {
completions: 5, completions: 5,
backoffLimit: 6, backoffLimit: 6,
podControllerError: fmt.Errorf("fake error"), podControllerError: fmt.Errorf("fake error"),
jobKeyForget: true, jobKeyForget: false,
activePods: 1, activePods: 1,
succeededPods: 1, succeededPods: 1,
expectedCreations: 1, expectedCreations: 1,
expectedActive: 1, expectedActive: 1,
expectedSucceeded: 1, expectedSucceeded: 0,
expectedPodPatches: 1,
}, },
"too many active pods": { "too many active pods": {
parallelism: 2, parallelism: 2,
@ -342,7 +347,8 @@ func TestControllerSyncJob(t *testing.T) {
podControllerError: fmt.Errorf("fake error"), podControllerError: fmt.Errorf("fake error"),
jobKeyForget: false, jobKeyForget: false,
activePods: 3, activePods: 3,
expectedDeletions: 1, expectedDeletions: 0,
expectedPodPatches: 1,
expectedActive: 3, expectedActive: 3,
}, },
"failed + succeed pods: reset backoff delay": { "failed + succeed pods: reset backoff delay": {
@ -391,7 +397,8 @@ func TestControllerSyncJob(t *testing.T) {
failedPods: 1, failedPods: 1,
expectedCreations: 1, expectedCreations: 1,
expectedActive: 1, expectedActive: 1,
expectedFailed: 1, expectedFailed: 0,
expectedPodPatches: 1,
}, },
"job finish": { "job finish": {
parallelism: 2, parallelism: 2,
@ -737,9 +744,6 @@ func TestControllerSyncJob(t *testing.T) {
for name, tc := range testCases { for name, tc := range testCases {
t.Run(name, func(t *testing.T) { t.Run(name, func(t *testing.T) {
if tc.podControllerError != nil {
t.Skip("Can't track status if finalizers can't be removed")
}
defer featuregatetesting.SetFeatureGateDuringTest(t, feature.DefaultFeatureGate, features.JobReadyPods, tc.jobReadyPodsEnabled)() defer featuregatetesting.SetFeatureGateDuringTest(t, feature.DefaultFeatureGate, features.JobReadyPods, tc.jobReadyPodsEnabled)()
// job manager setup // job manager setup