From f8b4f82db524cc42b24e45e6010c7ba4ffbb102c Mon Sep 17 00:00:00 2001 From: juanvallejo Date: Fri, 27 Jul 2018 16:07:25 -0400 Subject: [PATCH 1/2] UPSTREAM: 66725: update exit code to 0 if patch not needed --- vendor/k8s.io/kubernetes/pkg/kubectl/cmd/patch.go | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/vendor/k8s.io/kubernetes/pkg/kubectl/cmd/patch.go b/vendor/k8s.io/kubernetes/pkg/kubectl/cmd/patch.go index 14fa2c6a5103..551af2de4c41 100644 --- a/vendor/k8s.io/kubernetes/pkg/kubectl/cmd/patch.go +++ b/vendor/k8s.io/kubernetes/pkg/kubectl/cmd/patch.go @@ -245,14 +245,7 @@ func (o *PatchOptions) RunPatch() error { if err != nil { return err } - printer.PrintObj(info.Object, o.Out) - - // if object was not successfully patched, exit with error code 1 - if !didPatch { - return cmdutil.ErrExit - } - - return nil + return printer.PrintObj(info.Object, o.Out) } count++ From 11814dae557d822899a3adb3e3c06c7586b2975e Mon Sep 17 00:00:00 2001 From: juanvallejo Date: Tue, 31 Jul 2018 13:22:35 -0400 Subject: [PATCH 2/2] add patch tests for updated behavior --- test/cmd/basicresources.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/cmd/basicresources.sh b/test/cmd/basicresources.sh index 52f611937045..22e12e35a461 100755 --- a/test/cmd/basicresources.sh +++ b/test/cmd/basicresources.sh @@ -325,6 +325,10 @@ os::cmd::expect_success "echo '${group_json}' | oc create -f -" os::cmd::expect_success "oc patch group patch-group -p 'users: [\"myuser\"]' --loglevel=8" os::cmd::expect_success_and_text 'oc get group patch-group -o yaml' 'myuser' os::cmd::expect_success "oc patch group patch-group -p 'users: []' --loglevel=8" +# applying the same patch twice results in exit code 0, and "not patched" text +os::cmd::expect_success_and_text "oc patch group patch-group -p 'users: []'" "not patched" +# applying an invalid patch results in exit code 1 and an error +os::cmd::expect_failure_and_text "oc patch group patch-group -p 'users: \"\"'" "cannot restore slice from string" os::cmd::expect_success_and_text 'oc get group patch-group -o yaml' 'users: \[\]' echo "patch: ok" os::test::junit::declare_suite_end