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  }