const waitInterval …
const fastPodFailureBackoff …
const sleepDurationForControllerLatency …
const restConfigQPS …
const restConfigBurst …
type metricLabelsWithValue …
func validateCounterMetric(ctx context.Context, t *testing.T, counterVec *basemetrics.CounterVec, wantMetric metricLabelsWithValue) { … }
func validateTerminatedPodsTrackingFinalizerMetric(ctx context.Context, t *testing.T, want int) { … }
func TestJobPodFailurePolicyWithFailedPodDeletedDuringControllerRestart(t *testing.T) { … }
func TestJobPodFailurePolicy(t *testing.T) { … }
func TestSuccessPolicy(t *testing.T) { … }
func TestSuccessPolicy_ReEnabling(t *testing.T) { … }
func TestBackoffLimitPerIndex_DelayedPodDeletion(t *testing.T) { … }
func TestBackoffLimitPerIndex_Reenabling(t *testing.T) { … }
func TestBackoffLimitPerIndex_JobPodsCreatedWithExponentialBackoff(t *testing.T) { … }
func TestDelayTerminalPhaseCondition(t *testing.T) { … }
func TestBackoffLimitPerIndex(t *testing.T) { … }
func TestManagedBy(t *testing.T) { … }
func TestManagedBy_Reenabling(t *testing.T) { … }
func TestManagedBy_RecreatedJob(t *testing.T) { … }
func TestManagedBy_UsingReservedJobFinalizers(t *testing.T) { … }
func getIndexFailureCount(p *v1.Pod) (int, error) { … }
func completionModePtr(cm batchv1.CompletionMode) *batchv1.CompletionMode { … }
func TestNonParallelJob(t *testing.T) { … }
func TestParallelJob(t *testing.T) { … }
func TestParallelJobChangingParallelism(t *testing.T) { … }
func TestParallelJobWithCompletions(t *testing.T) { … }
func TestIndexedJob(t *testing.T) { … }
func TestJobPodReplacementPolicy(t *testing.T) { … }
func TestJobPodReplacementPolicyFeatureToggling(t *testing.T) { … }
func TestElasticIndexedJob(t *testing.T) { … }
func BenchmarkLargeIndexedJob(b *testing.B) { … }
func BenchmarkLargeFailureHandling(b *testing.B) { … }
func cleanUp(ctx context.Context, clientSet clientset.Interface, jobObj *batchv1.Job, podFinalizersToRemove []string) error { … }
func TestOrphanPodsFinalizersClearedWithGC(t *testing.T) { … }
func TestFinalizersClearedWhenBackoffLimitExceeded(t *testing.T) { … }
func TestJobPodsCreatedWithExponentialBackoff(t *testing.T) { … }
func validateExpotentialBackoffDelay(t *testing.T, defaultPodFailureBackoff time.Duration, pods []*v1.Pod) { … }
func TestJobFailedWithInterrupts(t *testing.T) { … }
func validateNoOrphanPodsWithFinalizers(ctx context.Context, t *testing.T, clientSet clientset.Interface, jobObj *batchv1.Job) { … }
func TestOrphanPodsFinalizersClearedOnRestart(t *testing.T) { … }
func TestSuspendJob(t *testing.T) { … }
func TestSuspendJobControllerRestart(t *testing.T) { … }
func TestNodeSelectorUpdate(t *testing.T) { … }
type podsByStatus …
func validateJobsPodsStatusOnly(ctx context.Context, t testing.TB, clientSet clientset.Interface, jobObj *batchv1.Job, desired podsByStatus) { … }
func validateJobsPodsStatusOnlyWithTimeout(ctx context.Context, t testing.TB, clientSet clientset.Interface, jobObj *batchv1.Job, desired podsByStatus, timeout time.Duration) { … }
func validateJobStatus(ctx context.Context, t testing.TB, clientSet clientset.Interface, jobObj *batchv1.Job, wantStatus batchv1.JobStatus) { … }
func validateJobPodsStatus(ctx context.Context, t testing.TB, clientSet clientset.Interface, jobObj *batchv1.Job, desired podsByStatus) { … }
func getJobPods(ctx context.Context, t *testing.T, clientSet clientset.Interface, jobObj *batchv1.Job, filter func(v1.PodStatus) bool) ([]*v1.Pod, error) { … }
func validateFinishedPodsNoFinalizer(ctx context.Context, t *testing.T, clientSet clientset.Interface, jobObj *batchv1.Job) { … }
func validateIndexedJobPods(ctx context.Context, t *testing.T, clientSet clientset.Interface, jobObj *batchv1.Job, wantActive sets.Set[int], gotCompleted string, wantFailed *string) { … }
func waitForEvent(ctx context.Context, events watch.Interface, uid types.UID, reason string) error { … }
func getJobConditionStatus(ctx context.Context, job *batchv1.Job, cType batchv1.JobConditionType) v1.ConditionStatus { … }
func validateJobFailed(ctx context.Context, t *testing.T, clientSet clientset.Interface, jobObj *batchv1.Job) { … }
func validateJobComplete(ctx context.Context, t testing.TB, clientSet clientset.Interface, jobObj *batchv1.Job) { … }
func validateJobCondition(ctx context.Context, t testing.TB, clientSet clientset.Interface, jobObj *batchv1.Job, cond batchv1.JobConditionType) { … }
func setJobPodsPhase(ctx context.Context, clientSet clientset.Interface, jobObj *batchv1.Job, phase v1.PodPhase, cnt int) (int, error) { … }
func setJobPodsReady(ctx context.Context, clientSet clientset.Interface, jobObj *batchv1.Job, cnt int) (int, error) { … }
func updateJobPodsStatus(ctx context.Context, clientSet clientset.Interface, jobObj *batchv1.Job, op func(*v1.Pod) bool, cnt int) (int, error) { … }
func updatePodStatuses(ctx context.Context, clientSet clientset.Interface, updates []v1.Pod) (int, error) { … }
func setJobPhaseForIndex(ctx context.Context, clientSet clientset.Interface, jobObj *batchv1.Job, phase v1.PodPhase, ix int) error { … }
func getActivePodForIndex(ctx context.Context, clientSet clientset.Interface, jobObj *batchv1.Job, ix int) (*v1.Pod, error) { … }
func getJobPodForIndex(ctx context.Context, clientSet clientset.Interface, jobObj *batchv1.Job, ix int, filter func(*v1.Pod) bool) (*v1.Pod, error) { … }
func getJobPodsForIndex(ctx context.Context, clientSet clientset.Interface, jobObj *batchv1.Job, ix int, filter func(*v1.Pod) bool) ([]*v1.Pod, error) { … }
func getCompletionIndex(lookupMap map[string]string) (int, error) { … }
func createJobWithDefaults(ctx context.Context, clientSet clientset.Interface, ns string, jobObj *batchv1.Job) (*batchv1.Job, error) { … }
func setup(t testing.TB, nsBaseName string) (framework.TearDownFunc, *restclient.Config, clientset.Interface, *v1.Namespace) { … }
func startJobControllerAndWaitForCaches(tb testing.TB, restConfig *restclient.Config) (context.Context, context.CancelFunc) { … }
func resetMetrics() { … }
func createJobControllerWithSharedInformers(tb testing.TB, restConfig *restclient.Config, informerSet informers.SharedInformerFactory) (*jobcontroller.Controller, context.Context, context.CancelFunc) { … }
func hasJobTrackingFinalizer(obj metav1.Object) bool { … }
func setDuringTest(val *int, newVal int) func() { … }
func setDurationDuringTest(val *time.Duration, newVal time.Duration) func() { … }
func updateJob(ctx context.Context, jobClient typedv1.JobInterface, jobName string, updateFunc func(*batchv1.Job)) (*batchv1.Job, error) { … }
func waitForPodsToBeActive(ctx context.Context, t *testing.T, jobClient typedv1.JobInterface, podCount int32, jobObj *batchv1.Job) { … }
func deletePods(ctx context.Context, t *testing.T, clientSet clientset.Interface, namespace string) { … }
func removePodsFinalizers(ctx context.Context, clientSet clientset.Interface, namespace string, finalizersNames []string) error { … }
func updatePod(ctx context.Context, clientSet clientset.Interface, pods []v1.Pod, updateFunc func(*v1.Pod)) error { … }
func failTerminatingPods(ctx context.Context, t *testing.T, clientSet clientset.Interface, namespace string) { … }