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