Merge pull request #73107 from rlenferink/patch-2

Bash script syntax improvements
pull/564/head
Kubernetes Prow Robot 2019-01-20 17:49:44 -08:00 committed by GitHub
commit dc3edee5f5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 128 additions and 128 deletions

View File

@ -37,12 +37,12 @@ top_level_models=$(grep '&[A-Za-z]*{},' /register.go | sed 's/.*&//;s/{},//')
VERSION="${1#*_}"
for m in ${top_level_models}
do
if grep -xq "=== ${VERSION}.$m" ./definitions.adoc
if grep -xq "=== ${VERSION}.${m}" ./definitions.adoc
then
buf+="* <<${VERSION}.$m>>\n"
buf+="* <<${VERSION}.${m}>>\n"
fi
done
sed -i "1i $buf" ./definitions.adoc
sed -i "1i ${buf}" ./definitions.adoc
# fix the links in .adoc, replace <<x.y>> with link:definitions.html#_x_y[x.y], and lowercase the _x_y part
sed -i -e 's|<<\(.*\)\.\(.*\)>>|link:#_\L\1_\2\E[\1.\2]|g' ./definitions.adoc

View File

@ -30,7 +30,7 @@ set -o xtrace
# is an incoming variable Jenkins provides us for this job's scratch
# space.
export HOME=${WORKSPACE} # Nothing should want Jenkins $HOME
export PATH=$PATH:/usr/local/go/bin
export PATH=${PATH}:/usr/local/go/bin
# Skip gcloud update checking
export CLOUDSDK_COMPONENT_MANAGER_DISABLE_UPDATE_CHECK=true

View File

@ -28,7 +28,7 @@ set -o xtrace
# space.
export HOME=${WORKSPACE} # Nothing should want Jenkins $HOME
export GOPATH=${HOME}/_gopath
export PATH=${GOPATH}/bin:${HOME}/third_party/etcd:/usr/local/go/bin:$PATH
export PATH=${GOPATH}/bin:${HOME}/third_party/etcd:/usr/local/go/bin:${PATH}
# Install a few things needed by unit and /integration tests.
command -v etcd &>/dev/null || ./hack/install-etcd.sh

View File

@ -139,9 +139,9 @@ function print_started() {
# will be available as started["metadata"][KEY.lower()].
echo " \"metadata\": {"
local sep="" # leading commas are easy to track
for env_var in $metadata_keys; do
for env_var in ${metadata_keys}; do
local var_upper="${env_var#BUILD_METADATA_}"
echo " $sep\"${var_upper,,}\": \"${!env_var}\""
echo " ${sep}\"${var_upper,,}\": \"${!env_var}\""
sep=","
done
echo " },"

View File

@ -21,7 +21,7 @@ set -o xtrace
retry() {
for i in {1..5}; do
"$@" && return 0 || sleep $i
"$@" && return 0 || sleep "${i}"
done
"$@"
}

View File

@ -28,7 +28,7 @@ set -o xtrace
# space.
export HOME=${WORKSPACE} # Nothing should want Jenkins $HOME
export GOPATH=${HOME}/_gopath
export PATH=${GOPATH}/bin:${HOME}/third_party/etcd:/usr/local/go/bin:$PATH
export PATH=${GOPATH}/bin:${HOME}/third_party/etcd:/usr/local/go/bin:${PATH}
# Install a few things needed by the verification tests.
command -v etcd &>/dev/null || ./hack/install-etcd.sh

View File

@ -34,7 +34,7 @@ kube::log::errexit() {
kube::log::error "Call tree:"
for ((i=1;i<${#FUNCNAME[@]}-1;i++))
do
kube::log::error " $i: ${BASH_SOURCE[$i+1]}:${BASH_LINENO[$i]} ${FUNCNAME[$i]}(...)"
kube::log::error " ${i}: ${BASH_SOURCE[${i}+1]}:${BASH_LINENO[${i}]} ${FUNCNAME[${i}]}(...)"
done
fi
kube::log::error_exit "Error in ${BASH_SOURCE[1]}:${BASH_LINENO[0]}. '${BASH_COMMAND}' exited with status $err" "${1:-1}" 1
@ -66,7 +66,7 @@ kube::log::stack() {
local source_file=${BASH_SOURCE[$frame_no]}
local source_lineno=${BASH_LINENO[$((frame_no - 1))]}
local funcname=${FUNCNAME[$frame_no]}
echo " $i: ${source_file}:${source_lineno} ${funcname}(...)" >&2
echo " ${i}: ${source_file}:${source_lineno} ${funcname}(...)" >&2
done
fi
}

View File

@ -76,25 +76,25 @@ kube::test::object_assert() {
local args=${5:-}
for j in $(seq 1 ${tries}); do
res=$(eval kubectl get "${kube_flags[@]}" ${args} $object -o go-template=\"$request\")
if [[ "$res" =~ ^$expected$ ]]; then
echo -n ${green}
echo "$(kube::test::get_caller 3): Successful get $object $request: $res"
echo -n ${reset}
res=$(eval kubectl get "${kube_flags[@]}" ${args} ${object} -o go-template=\"${request}\")
if [[ "${res}" =~ ^$expected$ ]]; then
echo -n "${green}"
echo "$(kube::test::get_caller 3): Successful get ${object} ${request}: ${res}"
echo -n "${reset}"
return 0
fi
echo "Waiting for Get $object $request $args: expected: $expected, got: $res"
echo "Waiting for Get ${object} ${request} ${args}: expected: ${expected}, got: ${res}"
sleep $((${j}-1))
done
echo ${bold}${red}
echo "${bold}${red}"
echo "$(kube::test::get_caller 3): FAIL!"
echo "Get $object $request"
echo " Expected: $expected"
echo " Got: $res"
echo ${reset}${red}
echo "Get ${object} ${request}"
echo " Expected: ${expected}"
echo " Got: ${res}"
echo "${reset}${red}"
caller
echo ${reset}
echo "${reset}"
return 1
}
@ -103,22 +103,22 @@ kube::test::get_object_jsonpath_assert() {
local request=$2
local expected=$3
res=$(eval kubectl get "${kube_flags[@]}" $object -o jsonpath=\"$request\")
res=$(eval kubectl get "${kube_flags[@]}" ${object} -o jsonpath=\"${request}\")
if [[ "$res" =~ ^$expected$ ]]; then
echo -n ${green}
echo "$(kube::test::get_caller): Successful get $object $request: $res"
echo -n ${reset}
if [[ "${res}" =~ ^$expected$ ]]; then
echo -n "${green}"
echo "$(kube::test::get_caller): Successful get ${object} ${request}: ${res}"
echo -n "${reset}"
return 0
else
echo ${bold}${red}
echo "${bold}${red}"
echo "$(kube::test::get_caller): FAIL!"
echo "Get $object $request"
echo " Expected: $expected"
echo " Got: $res"
echo ${reset}${red}
echo "Get ${object} ${request}"
echo " Expected: ${expected}"
echo " Got: ${res}"
echo "${reset}${red}"
caller
echo ${reset}
echo "${reset}"
return 1
fi
}
@ -128,27 +128,27 @@ kube::test::describe_object_assert() {
local object=$2
local matches=${@:3}
result=$(eval kubectl describe "${kube_flags[@]}" $resource $object)
result=$(eval kubectl describe "${kube_flags[@]}" ${resource} ${object})
for match in ${matches}; do
if [[ ! $(echo "$result" | grep ${match}) ]]; then
echo ${bold}${red}
if [[ ! $(echo "${result}" | grep ${match}) ]]; then
echo "${bold}${red}"
echo "$(kube::test::get_caller): FAIL!"
echo "Describe $resource $object"
echo " Expected Match: $match"
echo "Describe ${resource} ${object}"
echo " Expected Match: ${match}"
echo " Not found in:"
echo "$result"
echo ${reset}${red}
echo "${result}"
echo "${reset}${red}"
caller
echo ${reset}
echo "${reset}"
return 1
fi
done
echo -n ${green}
echo "$(kube::test::get_caller): Successful describe $resource $object:"
echo "$result"
echo -n ${reset}
echo -n "${green}"
echo "$(kube::test::get_caller): Successful describe ${resource} ${object}:"
echo "${result}"
echo -n "${reset}"
return 0
}
@ -158,34 +158,34 @@ kube::test::describe_object_events_assert() {
local showevents=${3:-"true"}
if [[ -z "${3:-}" ]]; then
result=$(eval kubectl describe "${kube_flags[@]}" $resource $object)
result=$(eval kubectl describe "${kube_flags[@]}" ${resource} ${object})
else
result=$(eval kubectl describe "${kube_flags[@]}" "--show-events=$showevents" $resource $object)
result=$(eval kubectl describe "${kube_flags[@]}" "--show-events=${showevents}" ${resource} ${object})
fi
if [[ -n $(echo "$result" | grep "No events.\|Events:") ]]; then
if [[ -n $(echo "${result}" | grep "No events.\|Events:") ]]; then
local has_events="true"
else
local has_events="false"
fi
if [[ $showevents == $has_events ]]; then
echo -n ${green}
if [[ "${showevents}" == "${has_events}" ]]; then
echo -n "${green}"
echo "$(kube::test::get_caller): Successful describe"
echo "$result"
echo ${reset}
echo "${result}"
echo "${reset}"
return 0
else
echo ${bold}${red}
echo "${bold}${red}"
echo "$(kube::test::get_caller): FAIL"
if [[ $showevents == "false" ]]; then
if [[ "${showevents}" == "false" ]]; then
echo " Events information should not be described in:"
else
echo " Events information not found in:"
fi
echo $result
echo ${reset}${red}
echo "${result}"
echo "${reset}${red}"
caller
echo ${reset}
echo "${reset}"
return 1
fi
}
@ -194,27 +194,27 @@ kube::test::describe_resource_assert() {
local resource=$1
local matches=${@:2}
result=$(eval kubectl describe "${kube_flags[@]}" $resource)
result=$(eval kubectl describe "${kube_flags[@]}" ${resource})
for match in ${matches}; do
if [[ ! $(echo "$result" | grep ${match}) ]]; then
echo ${bold}${red}
if [[ ! $(echo "${result}" | grep ${match}) ]]; then
echo "${bold}${red}"
echo "FAIL!"
echo "Describe $resource"
echo " Expected Match: $match"
echo "Describe ${resource}"
echo " Expected Match: ${match}"
echo " Not found in:"
echo "$result"
echo ${reset}${red}
echo "${result}"
echo "${reset}${red}"
caller
echo ${reset}
echo "${reset}"
return 1
fi
done
echo -n ${green}
echo "Successful describe $resource:"
echo "$result"
echo -n ${reset}
echo -n "${green}"
echo "Successful describe ${resource}:"
echo "${result}"
echo -n "${reset}"
return 0
}
@ -222,30 +222,30 @@ kube::test::describe_resource_events_assert() {
local resource=$1
local showevents=${2:-"true"}
result=$(eval kubectl describe "${kube_flags[@]}" "--show-events=$showevents" $resource)
result=$(eval kubectl describe "${kube_flags[@]}" "--show-events=${showevents}" ${resource})
if [[ $(echo "$result" | grep "No events.\|Events:") ]]; then
if [[ $(echo "${result}" | grep "No events.\|Events:") ]]; then
local has_events="true"
else
local has_events="false"
fi
if [[ $showevents == $has_events ]]; then
echo -n ${green}
if [[ "${showevents}" == "${has_events}" ]]; then
echo -n "${green}"
echo "Successful describe"
echo "$result"
echo -n ${reset}
echo "${result}"
echo -n "${reset}"
return 0
else
echo ${bold}${red}
echo "${bold}${red}"
echo "FAIL"
if [[ $showevents == "false" ]]; then
if [[ "${showevents}" == "false" ]]; then
echo " Events information should not be described in:"
else
echo " Events information not found in:"
fi
echo $result
echo "${result}"
caller
echo ${reset}
echo "${reset}"
return 1
fi
}
@ -255,10 +255,10 @@ kube::test::if_sort_by_has_correct_order() {
local array=($(echo "$1" |awk '{if(NR!=1) print $1}'))
local var
for i in "${array[@]}"; do
var+="$i:"
var+="${i}:"
done
kube::test::if_has_string "$var" "${@:$#}"
kube::test::if_has_string "${var}" "${@:$#}"
}
kube::test::if_has_string() {
@ -267,13 +267,13 @@ kube::test::if_has_string() {
if grep -q "${match}" <<< "${message}"; then
echo "Successful"
echo "message:$message"
echo "has:$match"
echo "message:${message}"
echo "has:${match}"
return 0
else
echo "FAIL!"
echo "message:$message"
echo "has not:$match"
echo "message:${message}"
echo "has not:${match}"
caller
return 1
fi
@ -285,22 +285,22 @@ kube::test::if_has_not_string() {
if grep -q "${match}" <<< "${message}"; then
echo "FAIL!"
echo "message:$message"
echo "has:$match"
echo "message:${message}"
echo "has:${match}"
caller
return 1
else
echo "Successful"
echo "message:$message"
echo "has not:$match"
echo "message:${message}"
echo "has not:${match}"
return 0
fi
}
kube::test::if_empty_string() {
local match=$1
if [ -n "$match" ]; then
echo "$match is not empty"
if [ -n "${match}" ]; then
echo "${match} is not empty"
caller
return 1
else
@ -332,26 +332,26 @@ kube::test::version::object_to_file() {
name=$1
flags=${2:-""}
file=$3
kubectl version $flags | grep "$name Version:" | sed -e s/"$name Version: version.Info{"/'/' -e s/'}'/'/' -e s/', '/','/g -e s/':'/'=/g' -e s/'"'/""/g | tr , '\n' > "${file}"
kubectl version ${flags} | grep "${name} Version:" | sed -e s/"${name} Version: version.Info{"/'/' -e s/'}'/'/' -e s/', '/','/g -e s/':'/'=/g' -e s/'"'/""/g | tr , '\n' > "${file}"
}
kube::test::version::json_object_to_file() {
flags=$1
file=$2
kubectl version $flags --output json | sed -e s/' '/''/g -e s/'\"'/''/g -e s/'}'/''/g -e s/'{'/''/g -e s/'clientVersion:'/'clientVersion:,'/ -e s/'serverVersion:'/'serverVersion:,'/ | tr , '\n' > "${file}"
kubectl version ${flags} --output json | sed -e s/' '/''/g -e s/'\"'/''/g -e s/'}'/''/g -e s/'{'/''/g -e s/'clientVersion:'/'clientVersion:,'/ -e s/'serverVersion:'/'serverVersion:,'/ | tr , '\n' > "${file}"
}
kube::test::version::json_client_server_object_to_file() {
flags=$1
name=$2
file=$3
kubectl version $flags --output json | jq -r ".${name}" | sed -e s/'\"'/''/g -e s/'}'/''/g -e s/'{'/''/g -e /^$/d -e s/','/''/g -e s/':'/'='/g > "${file}"
kubectl version ${flags} --output json | jq -r ".${name}" | sed -e s/'\"'/''/g -e s/'}'/''/g -e s/'{'/''/g -e /^$/d -e s/','/''/g -e s/':'/'='/g > "${file}"
}
kube::test::version::yaml_object_to_file() {
flags=$1
file=$2
kubectl version $flags --output yaml | sed -e s/' '/''/g -e s/'\"'/''/g -e /^$/d > "${file}"
kubectl version ${flags} --output yaml | sed -e s/' '/''/g -e s/'\"'/''/g -e /^$/d > "${file}"
}
kube::test::version::diff_assert() {
@ -361,63 +361,63 @@ kube::test::version::diff_assert() {
local diff_msg=${4:-""}
local res=""
if [ ! -f $original ]; then
echo ${bold}${red}
if [ ! -f "${original}" ]; then
echo "${bold}${red}"
echo "FAIL! ${diff_msg}"
echo "the file '${original}' does not exit"
echo ${reset}${red}
echo "${reset}${red}"
caller
echo ${reset}
echo "${reset}"
return 1
fi
if [ ! -f $latest ]; then
echo ${bold}${red}
if [ ! -f "${latest}" ]; then
echo "${bold}${red}"
echo "FAIL! ${diff_msg}"
echo "the file '${latest}' does not exit"
echo ${reset}${red}
echo "${reset}${red}"
caller
echo ${reset}
echo "${reset}"
return 1
fi
sort ${original} > "${original}.sorted"
sort ${latest} > "${latest}.sorted"
if [ "$comparator" == "eq" ]; then
if [ "${comparator}" == "eq" ]; then
if [ "$(diff -iwB ${original}.sorted ${latest}.sorted)" == "" ] ; then
echo -n ${green}
echo -n "${green}"
echo "Successful: ${diff_msg}"
echo -n ${reset}
echo -n "${reset}"
return 0
else
echo ${bold}${red}
echo "${bold}${red}"
echo "FAIL! ${diff_msg}"
echo " Expected: "
echo "$(cat ${original})"
echo " Got: "
echo "$(cat ${latest})"
echo ${reset}${red}
echo "${reset}${red}"
caller
echo ${reset}
echo "${reset}"
return 1
fi
else
if [ ! -z "$(diff -iwB ${original}.sorted ${latest}.sorted)" ] ; then
echo -n ${green}
echo -n "${green}"
echo "Successful: ${diff_msg}"
echo -n ${reset}
echo -n "${reset}"
return 0
else
echo ${bold}${red}
echo "${bold}${red}"
echo "FAIL! ${diff_msg}"
echo " Expected: "
echo "$(cat ${original})"
echo " Got: "
echo "$(cat ${latest})"
echo ${reset}${red}
echo "${reset}${red}"
caller
echo ${reset}
echo "${reset}"
return 1
fi
fi

View File

@ -115,14 +115,14 @@ if [ ${remote} = true ] ; then
IFS=',' read -ra IM <<< "${images}"
images=""
for i in "${IM[@]}"; do
if [[ $(gcloud compute instances list "${instance_prefix}-$i" | grep ${i}) ]]; then
if [[ ${hosts} != "" ]]; then
if [[ $(gcloud compute instances list "${instance_prefix}-${i}" | grep ${i}) ]]; then
if [[ "${hosts}" != "" ]]; then
hosts="${hosts},"
fi
echo "Reusing host ${instance_prefix}-$i"
echo "Reusing host ${instance_prefix}-${i}"
hosts="${hosts}${instance_prefix}-${i}"
else
if [[ ${images} != "" ]]; then
if [[ "${images}" != "" ]]; then
images="${images},"
fi
images="${images}${i}"

View File

@ -55,7 +55,7 @@ API_LOGFILE=${API_LOGFILE:-/tmp/openapi-api-server.log}
kube::etcd::start
echo "dummy_token,admin,admin" > $TMP_DIR/tokenauth.csv
echo "dummy_token,admin,admin" > ${TMP_DIR}/tokenauth.csv
# Start kube-apiserver
kube::log::status "Starting kube-apiserver"
@ -67,7 +67,7 @@ kube::log::status "Starting kube-apiserver"
--advertise-address="10.10.10.10" \
--cert-dir="${TMP_DIR}/certs" \
--runtime-config="api/all=true" \
--token-auth-file=$TMP_DIR/tokenauth.csv \
--token-auth-file="${TMP_DIR}/tokenauth.csv" \
--logtostderr \
--v=2 \
--service-cluster-ip-range="10.0.0.0/24" >"${API_LOGFILE}" 2>&1 &

View File

@ -36,7 +36,7 @@ if (( ${KUBE_VERBOSE} >= 6 )); then
fi
while getopts ":df" opt; do
case $opt in
case ${opt} in
d) # do not godep-restore into a temporary directory, but use the existing GOPATH
DRY_RUN=true
;;
@ -44,7 +44,7 @@ while getopts ":df" opt; do
FAIL_ON_DIFF=true
;;
\?)
echo "Invalid option: -$OPTARG" >&2
echo "Invalid option: -${OPTARG}" >&2
exit 1
;;
esac

View File

@ -23,7 +23,7 @@ generate_pot="false"
generate_mo="false"
while getopts "hf:xg" opt; do
case $opt in
case ${opt} in
h)
echo "$0 [-f files] [-x] [-g]"
echo " -f <file-path>: Files to process"
@ -78,10 +78,10 @@ fi
if [[ "${generate_mo}" == "true" ]]; then
echo "Generating .po and .mo files"
for x in translations/*/*/*/*.po; do
msgcat -s $x > tmp.po
mv tmp.po $x
echo "generating .mo file for: $x"
msgfmt $x -o "$(dirname $x)/$(basename $x .po).mo"
msgcat -s ${x} > tmp.po
mv tmp.po ${x}
echo "generating .mo file for: ${x}"
msgfmt ${x} -o "$(dirname ${x})/$(basename ${x} .po).mo"
done
fi