k8s.io/kubernetes@v1.29.3/test/cmd/results.sh (about) 1 #!/usr/bin/env bash 2 3 # Copyright 2022 The Kubernetes Authors. 4 # 5 # Licensed under the Apache License, Version 2.0 (the "License"); 6 # you may not use this file except in compliance with the License. 7 # You may obtain a copy of the License at 8 # 9 # http://www.apache.org/licenses/LICENSE-2.0 10 # 11 # Unless required by applicable law or agreed to in writing, software 12 # distributed under the License is distributed on an "AS IS" BASIS, 13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 # See the License for the specific language governing permissions and 15 # limitations under the License. 16 17 set -o errexit 18 set -o nounset 19 set -o pipefail 20 21 22 ############################################################ 23 # Kubectl result reporting for different failure scenarios # 24 ############################################################ 25 run_kubectl_results_tests() { 26 set -o nounset 27 set -o errexit 28 29 kube::log::status "Testing kubectl result output" 30 TEMP="${KUBE_TEMP}" 31 rm -f "${TEMP}/empty" 32 touch "${TEMP}/empty" 33 34 set +o errexit 35 kubectl list >"${TEMP}/actual_stdout" 2>"${TEMP}/actual_stderr" 36 res=$? 37 set -o errexit 38 cat >"${TEMP}/expected_stderr" <<EOF 39 error: unknown command "list" for "kubectl" 40 41 Did you mean this? 42 get 43 wait 44 EOF 45 kube::test::results::diff "${TEMP}/actual_stdout" "${TEMP}/actual_stderr" "$res" "${TEMP}/empty" "${TEMP}/expected_stderr" 1 "kubectl list" 46 47 set +o errexit 48 kubectl get pod/no-such-pod >"${TEMP}/actual_stdout" 2>"${TEMP}/actual_stderr" 49 res=$? 50 set -o errexit 51 cat >"${TEMP}/expected_stderr" <<EOF 52 Error from server (NotFound): pods "no-such-pod" not found 53 EOF 54 kube::test::results::diff "${TEMP}/actual_stdout" "${TEMP}/actual_stderr" "$res" "${TEMP}/empty" "${TEMP}/expected_stderr" 1 "kubectl get pod/no-such-pod" 55 56 set +o nounset 57 set +o errexit 58 }