diff --git a/pkg/kubectl/cmd/diff/diff.go b/pkg/kubectl/cmd/diff/diff.go index 59211f2b1f..44f2183416 100644 --- a/pkg/kubectl/cmd/diff/diff.go +++ b/pkg/kubectl/cmd/diff/diff.go @@ -122,8 +122,7 @@ func (d *DiffProgram) getCommand(args ...string) exec.Cmd { // Run runs the detected diff program. `from` and `to` are the directory to diff. func (d *DiffProgram) Run(from, to string) error { - d.getCommand(from, to).Run() // Ignore diff return code - return nil + return d.getCommand(from, to).Run() } // Printer is used to print an object. @@ -396,8 +395,5 @@ func RunDiff(f cmdutil.Factory, diff *DiffProgram, options *DiffOptions) error { return err } - // Error ignore on purpose. diff(1) for example, returns an error if there is any diff. - _ = differ.Run(diff) - - return nil + return differ.Run(diff) } diff --git a/test/cmd/diff.sh b/test/cmd/diff.sh index d52a75bdfc..bc76347377 100755 --- a/test/cmd/diff.sh +++ b/test/cmd/diff.sh @@ -27,12 +27,12 @@ run_kubectl_diff_tests() { kube::log::status "Testing kubectl diff" # Test that it works when the live object doesn't exist - output_message=$(kubectl diff -f hack/testdata/pod.yaml) + output_message=$(! kubectl diff -f hack/testdata/pod.yaml) kube::test::if_has_string "${output_message}" 'test-pod' kubectl apply -f hack/testdata/pod.yaml - output_message=$(kubectl diff -f hack/testdata/pod-changed.yaml) + output_message=$(! kubectl diff -f hack/testdata/pod-changed.yaml) kube::test::if_has_string "${output_message}" 'k8s.gcr.io/pause:3.0' kubectl delete -f hack/testdata/pod.yaml