Commit 2b24df34 authored by Kubernetes Submit Queue's avatar Kubernetes Submit Queue Committed by GitHub

Merge pull request #51902 from zhangxiaoyu-zidif/fix-typo-cronjob-utils

Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.. Refactor cronjob test case with sets.String **What this PR does / why we need it**: Refactor cronjob test case with sets.String **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes https://github.com/kubernetes/kubernetes/issues/51396 **Special notes for your reviewer**: **Release note**: ```release-note NONE ```
parents d7fc98f5 b5c88b4e
...@@ -54,6 +54,7 @@ go_test( ...@@ -54,6 +54,7 @@ go_test(
"//vendor/k8s.io/api/core/v1:go_default_library", "//vendor/k8s.io/api/core/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/types:go_default_library", "//vendor/k8s.io/apimachinery/pkg/types:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library",
"//vendor/k8s.io/client-go/tools/record:go_default_library", "//vendor/k8s.io/client-go/tools/record:go_default_library",
], ],
) )
......
...@@ -18,7 +18,6 @@ package cronjob ...@@ -18,7 +18,6 @@ package cronjob
import ( import (
"errors" "errors"
"sort"
"strconv" "strconv"
"strings" "strings"
"testing" "testing"
...@@ -29,6 +28,7 @@ import ( ...@@ -29,6 +28,7 @@ import (
"k8s.io/api/core/v1" "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/client-go/tools/record" "k8s.io/client-go/tools/record"
// For the cronjob controller to do conversions. // For the cronjob controller to do conversions.
_ "k8s.io/kubernetes/pkg/api/install" _ "k8s.io/kubernetes/pkg/api/install"
...@@ -524,7 +524,7 @@ func TestCleanupFinishedJobs_DeleteOrNot(t *testing.T) { ...@@ -524,7 +524,7 @@ func TestCleanupFinishedJobs_DeleteOrNot(t *testing.T) {
// Create jobs // Create jobs
js := []batchv1.Job{} js := []batchv1.Job{}
jobsToDelete := []string{} jobsToDelete := sets.NewString()
sj.Status.Active = []v1.ObjectReference{} sj.Status.Active = []v1.ObjectReference{}
for i, spec := range tc.jobSpecs { for i, spec := range tc.jobSpecs {
...@@ -558,7 +558,7 @@ func TestCleanupFinishedJobs_DeleteOrNot(t *testing.T) { ...@@ -558,7 +558,7 @@ func TestCleanupFinishedJobs_DeleteOrNot(t *testing.T) {
js = append(js, *job) js = append(js, *job)
if spec.ExpectDelete { if spec.ExpectDelete {
jobsToDelete = append(jobsToDelete, job.Name) jobsToDelete.Insert(job.Name)
} }
} }
...@@ -576,12 +576,9 @@ func TestCleanupFinishedJobs_DeleteOrNot(t *testing.T) { ...@@ -576,12 +576,9 @@ func TestCleanupFinishedJobs_DeleteOrNot(t *testing.T) {
if len(jc.DeleteJobName) != len(jobsToDelete) { if len(jc.DeleteJobName) != len(jobsToDelete) {
t.Errorf("%s: expected %d job deleted, actually %d", name, len(jobsToDelete), len(jc.DeleteJobName)) t.Errorf("%s: expected %d job deleted, actually %d", name, len(jobsToDelete), len(jc.DeleteJobName))
} else { } else {
sort.Strings(jobsToDelete) jcDeleteJobName := sets.NewString(jc.DeleteJobName...)
sort.Strings(jc.DeleteJobName) if !jcDeleteJobName.Equal(jobsToDelete) {
for i, expectedJobName := range jobsToDelete { t.Errorf("%s: expected jobs: %v deleted, actually: %v deleted", name, jobsToDelete, jcDeleteJobName)
if expectedJobName != jc.DeleteJobName[i] {
t.Errorf("%s: expected job %s deleted, actually %v -- %v vs %v", name, expectedJobName, jc.DeleteJobName[i], jc.DeleteJobName, jobsToDelete)
}
} }
} }
......
...@@ -144,7 +144,7 @@ func getRecentUnmetScheduleTimes(sj batchv1beta1.CronJob, now time.Time) ([]time ...@@ -144,7 +144,7 @@ func getRecentUnmetScheduleTimes(sj batchv1beta1.CronJob, now time.Time) ([]time
for t := sched.Next(earliestTime); !t.After(now); t = sched.Next(t) { for t := sched.Next(earliestTime); !t.After(now); t = sched.Next(t) {
starts = append(starts, t) starts = append(starts, t)
// An object might miss several starts. For example, if // An object might miss several starts. For example, if
// controller gets wedged on friday at 5:01pm when everyone has // controller gets wedged on friday at 5:01pm when everyone has
// gone home, and someone comes in on tuesday AM and discovers // gone home, and someone comes in on tuesday AM and discovers
// the problem and restarts the controller, then all the hourly // the problem and restarts the controller, then all the hourly
...@@ -159,7 +159,7 @@ func getRecentUnmetScheduleTimes(sj batchv1beta1.CronJob, now time.Time) ([]time ...@@ -159,7 +159,7 @@ func getRecentUnmetScheduleTimes(sj batchv1beta1.CronJob, now time.Time) ([]time
// of this controller. In that case, we want to not try to list // of this controller. In that case, we want to not try to list
// all the missed start times. // all the missed start times.
// //
// I've somewhat arbitrarily picked 100, as more than 80, but // I've somewhat arbitrarily picked 100, as more than 80,
// but less than "lots". // but less than "lots".
if len(starts) > 100 { if len(starts) > 100 {
// We can't get the most recent times so just return an empty slice // We can't get the most recent times so just return an empty slice
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment