From 96b4c363c8491af8c0597b804abc27289354a11c Mon Sep 17 00:00:00 2001 From: Jesse Simpson Date: Fri, 17 Oct 2025 23:25:21 -0400 Subject: [PATCH 1/2] fix: Update returns nil on error, test should reflect this Signed-off-by: Jesse Simpson --- pkg/kube/fake/failing_kube_client.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/kube/fake/failing_kube_client.go b/pkg/kube/fake/failing_kube_client.go index f340c045f..36f113814 100644 --- a/pkg/kube/fake/failing_kube_client.go +++ b/pkg/kube/fake/failing_kube_client.go @@ -122,7 +122,7 @@ func (f *FailingKubeWaiter) WatchUntilReady(resources kube.ResourceList, d time. // Update returns the configured error if set or prints func (f *FailingKubeClient) Update(r, modified kube.ResourceList, options ...kube.ClientUpdateOption) (*kube.Result, error) { if f.UpdateError != nil { - return &kube.Result{}, f.UpdateError + return nil, f.UpdateError } return f.PrintingKubeClient.Update(r, modified, options...) } From 3f860e83fb55387e638a2245431a607b2b1e0579 Mon Sep 17 00:00:00 2001 From: Jesse Simpson Date: Sat, 18 Oct 2025 09:12:38 -0400 Subject: [PATCH 2/2] fix: use empty results instead of nil Signed-off-by: Jesse Simpson --- pkg/kube/client.go | 8 ++++---- pkg/kube/fake/failing_kube_client.go | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkg/kube/client.go b/pkg/kube/client.go index 30c014ad5..a6cba9ba9 100644 --- a/pkg/kube/client.go +++ b/pkg/kube/client.go @@ -689,19 +689,19 @@ func (c *Client) Update(originals, targets ResourceList, options ...ClientUpdate errs = append(errs, o(&updateOptions)) } if err := errors.Join(errs...); err != nil { - return nil, fmt.Errorf("invalid client update option(s): %w", err) + return &Result{}, fmt.Errorf("invalid client update option(s): %w", err) } if updateOptions.threeWayMergeForUnstructured && updateOptions.serverSideApply { - return nil, fmt.Errorf("invalid operation: cannot use three-way merge for unstructured and server-side apply together") + return &Result{}, fmt.Errorf("invalid operation: cannot use three-way merge for unstructured and server-side apply together") } if updateOptions.forceConflicts && updateOptions.forceReplace { - return nil, fmt.Errorf("invalid operation: cannot use force conflicts and force replace together") + return &Result{}, fmt.Errorf("invalid operation: cannot use force conflicts and force replace together") } if updateOptions.serverSideApply && updateOptions.forceReplace { - return nil, fmt.Errorf("invalid operation: cannot use server-side apply and force replace together") + return &Result{}, fmt.Errorf("invalid operation: cannot use server-side apply and force replace together") } makeUpdateApplyFunc := func() UpdateApplyFunc { diff --git a/pkg/kube/fake/failing_kube_client.go b/pkg/kube/fake/failing_kube_client.go index 36f113814..f340c045f 100644 --- a/pkg/kube/fake/failing_kube_client.go +++ b/pkg/kube/fake/failing_kube_client.go @@ -122,7 +122,7 @@ func (f *FailingKubeWaiter) WatchUntilReady(resources kube.ResourceList, d time. // Update returns the configured error if set or prints func (f *FailingKubeClient) Update(r, modified kube.ResourceList, options ...kube.ClientUpdateOption) (*kube.Result, error) { if f.UpdateError != nil { - return nil, f.UpdateError + return &kube.Result{}, f.UpdateError } return f.PrintingKubeClient.Update(r, modified, options...) }