diff --git a/hack/make-rules/test-cmd-util.sh b/hack/make-rules/test-cmd-util.sh index e06bfbaf7f4..04e20fd2091 100755 --- a/hack/make-rules/test-cmd-util.sh +++ b/hack/make-rules/test-cmd-util.sh @@ -3869,7 +3869,7 @@ run_assert_categories_tests() { set -o errexit kube::log::status "Testing propagation of categories for resources" - output_message=$(kubectl get --raw=/api/v1 | grep -Po '"name":"pods".*?}') + output_message=$(kubectl get --raw=/api/v1 | grep -o '"name":"pods"[^}]*}') kube::test::if_has_string "${output_message}" '"categories":\["all"\]' set +o nounset @@ -4770,13 +4770,15 @@ runTests() { kube::log::status "Checking kubectl version" kubectl version - # use timestamp as the name of namespace because increasing the variable inside subshell - # does not affect the value of the variable outside the subshell. + # Generate a random namespace name, based on the current time (to make + # debugging slightly easier) and a random number. Don't use `date +%N` + # because that doesn't work on OSX. create_and_use_new_namespace() { - namespace_number=$(date +%s%N) - kube::log::status "Creating namespace namespace${namespace_number}" - kubectl create namespace "namespace${namespace_number}" - kubectl config set-context "${CONTEXT}" --namespace="namespace${namespace_number}" + local ns_name + ns_name="namespace-$(date +%s)-${RANDOM}" + kube::log::status "Creating namespace ${ns_name}" + kubectl create namespace "${ns_name}" + kubectl config set-context "${CONTEXT}" --namespace="${ns_name}" } kube_flags=(