kubectl diff: Print error when something goes wrong

pull/58/head
Antoine Pelisse 2018-10-12 11:08:14 -07:00
parent e31d14cb10
commit 572a028148
2 changed files with 4 additions and 8 deletions

View File

@ -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)
}

View File

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