update exit code to 0 if patch not needed

pull/8/head
juanvallejo 2018-07-27 15:54:18 -04:00
parent 4d5d2664c3
commit ad11a1b7a6
No known key found for this signature in database
GPG Key ID: 7D2C958002D6448D
2 changed files with 7 additions and 9 deletions

View File

@ -245,14 +245,8 @@ func (o *PatchOptions) RunPatch() error {
if err != nil { if err != nil {
return err return err
} }
printer.PrintObj(info.Object, o.Out)
// if object was not successfully patched, exit with error code 1 return printer.PrintObj(info.Object, o.Out)
if !didPatch {
return cmdutil.ErrExit
}
return nil
} }
count++ count++

View File

@ -435,8 +435,12 @@ run_pod_tests() {
## Patch can modify a local object ## Patch can modify a local object
kubectl patch --local -f pkg/kubectl/validation/testdata/v1/validPod.yaml --patch='{"spec": {"restartPolicy":"Never"}}' -o yaml | grep -q "Never" kubectl patch --local -f pkg/kubectl/validation/testdata/v1/validPod.yaml --patch='{"spec": {"restartPolicy":"Never"}}' -o yaml | grep -q "Never"
## Patch fails with error message "not patched" and exit code 1 ## Patch fails with type restore error and exit code 1
output_message=$(! kubectl patch "${kube_flags[@]}" pod valid-pod -p='{"spec":{"replicas":7}}' 2>&1) output_message=$(! kubectl patch "${kube_flags[@]}" pod valid-pod -p='{"metadata":{"labels":"invalid"}}' 2>&1)
kube::test::if_has_string "${output_message}" 'cannot restore map from string'
## Patch exits with error message "not patched" and exit code 0 when no-op occurs
output_message=$(kubectl patch "${kube_flags[@]}" pod valid-pod -p='{"metadata":{"labels":{"name":"valid-pod"}}}' 2>&1)
kube::test::if_has_string "${output_message}" 'not patched' kube::test::if_has_string "${output_message}" 'not patched'
## Patch pod can change image ## Patch pod can change image