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
```
This commit is contained in:
Kubernetes Submit Queue 2017-09-23 19:46:23 -07:00 committed by GitHub
commit 2b24df3407
3 changed files with 9 additions and 11 deletions

View File

@ -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",
], ],
) )

View File

@ -18,7 +18,6 @@ package cronjob
import ( import (
"errors" "errors"
"sort"
"strconv" "strconv"
"strings" "strings"
"testing" "testing"
@ -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) {
// 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) {
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) {
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)
}
} }
} }

View File

@ -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