...
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
17set -o errexit
18set -o nounset
19set -o pipefail
20
21
22############################################################
23# Kubectl result reporting for different failure scenarios #
24############################################################
25run_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
39error: unknown command "list" for "kubectl"
40
41Did you mean this?
42 get
43 wait
44EOF
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
52Error from server (NotFound): pods "no-such-pod" not found
53EOF
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}
View as plain text