// Package kpoll provides a wrapper around [gotest.tools/v3/poll] to facilitate // continually evaluating checks on K8s objects against a live cluster. // // It is intended to be used for integration/end-to-end testing (e.g., envtest). // // kpoll composes with [edge-infra.dev/pkg/k8s/testing/kmp] to allow sharing // Object comparison logic across unit tests and tests against live clusters. // // The main way to interact with kpoll is to create an instance of [KPoll] for // each test you want to make assertions against clusters in: // // func TestReconciler(t *testing.T) { // kp := kpoll.New(context.Background(), kubeClient, defaultTimeout, defaultTick) // kp.WaitOn(t, kp.ObjExists(obj)) // // Use a kmp.Komparison // kp.WaitOn(t, kp.Check(obj, kmp.IsReady())) // } package kpoll