From a911034e01e05a00fffdc201d7130e1e78ed64f6 Mon Sep 17 00:00:00 2001 From: Ismo Puustinen Date: Fri, 21 Dec 2018 15:54:14 +0200 Subject: [PATCH] verify-generated-files-remake.sh: do not mix strings and arrays. The pattern used in the file is this: echo " ${X[@]:-(none)}" What happens is that the array is expanded to separate strings, and it is checked if that's set (for the default value assignment). However, the correct way is to check if the concatenated array string is set to avoid a type mismatch: echo " ${X[*]:-(none)}" Tests show that at least bash 4.4.23 behaves the same: X=(foo bar) echo " ${X[@]:-(none)}" echo " ${X[*]:-(none)}" X=() echo " ${X[@]:-(none)}" echo " ${X[*]:-(none)}" produces: foo bar foo bar (none) (none) --- hack/verify-generated-files-remake.sh | 42 +++++++++++++-------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/hack/verify-generated-files-remake.sh b/hack/verify-generated-files-remake.sh index 17ebe9ba41c..ba62242ca98 100755 --- a/hack/verify-generated-files-remake.sh +++ b/hack/verify-generated-files-remake.sh @@ -61,7 +61,7 @@ function assert_clean() { X=($(newer deepcopy "${STAMP}")) if [[ "${#X[*]}" != 0 ]]; then echo "Generated files changed on back-to-back 'make' runs:" - echo " ${X[@]:-(none)}" + echo " ${X[*]:-(none)}" return 1 fi true @@ -82,19 +82,19 @@ make generated_files >/dev/null X=($(newer deepcopy "${STAMP}")) if [[ "${#X[*]}" != 1 || ! ( "${X[0]}" =~ "${DIR}/zz_generated.deepcopy.go" ) ]]; then echo "Wrong generated deepcopy files changed after touching src file:" - echo " ${X[@]:-(none)}" + echo " ${X[*]:-(none)}" exit 1 fi X=($(newer defaults "${STAMP}")) if [[ "${#X[*]}" != 1 || ! ( "${X[0]}" =~ "${DIR}/zz_generated.defaults.go" ) ]]; then echo "Wrong generated defaults files changed after touching src file:" - echo " ${X[@]:-(none)}" + echo " ${X[*]:-(none)}" exit 1 fi X=($(newer conversion "${STAMP}")) if [[ "${#X[*]}" != 1 || ! ( "${X[0]}" =~ "${DIR}/zz_generated.conversion.go" ) ]]; then echo "Wrong generated conversion files changed after touching src file:" - echo " ${X[@]:-(none)}" + echo " ${X[*]:-(none)}" exit 1 fi @@ -110,7 +110,7 @@ make generated_files >/dev/null X=($(older deepcopy "${STAMP}")) if [[ "${#X[*]}" != 0 ]]; then echo "Generated deepcopy files did not change after touching code-generator file:" - echo " ${X[@]:-(none)}" + echo " ${X[*]:-(none)}" exit 1 fi @@ -122,7 +122,7 @@ make generated_files >/dev/null X=($(older deepcopy "${STAMP}")) if [[ "${#X[*]}" != 0 ]]; then echo "Generated deepcopy files did not change after touching code-generator dir:" - echo " ${X[@]:-(none)}" + echo " ${X[*]}:-(none)" exit 1 fi @@ -134,7 +134,7 @@ make generated_files >/dev/null X=($(older deepcopy "${STAMP}")) if [[ "${#X[*]}" != 0 ]]; then echo "Generated deepcopy files did not change after touching code-generator dep file:" - echo " ${X[@]:-(none)}" + echo " ${X[*]:-(none)}" exit 1 fi @@ -146,7 +146,7 @@ make generated_files >/dev/null X=($(older deepcopy "${STAMP}")) if [[ "${#X[*]}" != 0 ]]; then echo "Generated deepcopy files did not change after touching code-generator dep dir:" - echo " ${X[@]:-(none)}" + echo " ${X[*]:-(none)}" exit 1 fi @@ -162,7 +162,7 @@ make generated_files >/dev/null X=($(older defaults "${STAMP}")) if [[ "${#X[*]}" != 0 ]]; then echo "Generated defaults files did not change after touching code-generator file:" - echo " ${X[@]:-(none)}" + echo " ${X[*]:-(none)}" exit 1 fi @@ -174,7 +174,7 @@ make generated_files >/dev/null X=($(older defaults "${STAMP}")) if [[ "${#X[*]}" != 0 ]]; then echo "Generated defaults files did not change after touching code-generator dir:" - echo " ${X[@]:-(none)}" + echo " ${X[*]:-(none)}" exit 1 fi @@ -186,7 +186,7 @@ make generated_files >/dev/null X=($(older defaults "${STAMP}")) if [[ "${#X[*]}" != 0 ]]; then echo "Generated defaults files did not change after touching code-generator dep file:" - echo " ${X[@]:-(none)}" + echo " ${X[*]:-(none)}" exit 1 fi @@ -198,7 +198,7 @@ make generated_files >/dev/null X=($(older defaults "${STAMP}")) if [[ "${#X[*]}" != 0 ]]; then echo "Generated defaults files did not change after touching code-generator dep dir:" - echo " ${X[@]:-(none)}" + echo " ${X[*]:-(none)}" exit 1 fi @@ -214,7 +214,7 @@ make generated_files >/dev/null X=($(older conversion "${STAMP}")) if [[ "${#X[*]}" != 0 ]]; then echo "Generated conversion files did not change after touching code-generator file:" - echo " ${X[@]:-(none)}" + echo " ${X[*]:-(none)}" exit 1 fi @@ -226,7 +226,7 @@ make generated_files >/dev/null X=($(older conversion "${STAMP}")) if [[ "${#X[*]}" != 0 ]]; then echo "Generated conversion files did not change after touching code-generator dir:" - echo " ${X[@]:-(none)}" + echo " ${X[*]:-(none)}" exit 1 fi @@ -238,7 +238,7 @@ make generated_files >/dev/null X=($(older conversion "${STAMP}")) if [[ "${#X[*]}" != 0 ]]; then echo "Generated conversion files did not change after touching code-generator dep file:" - echo " ${X[@]:-(none)}" + echo " ${X[*]:-(none)}" exit 1 fi @@ -250,7 +250,7 @@ make generated_files >/dev/null X=($(older conversion "${STAMP}")) if [[ "${#X[*]}" != 0 ]]; then echo "Generated conversion files did not change after touching code-generator dep dir:" - echo " ${X[@]:-(none)}" + echo " ${X[*]:-(none)}" exit 1 fi @@ -266,7 +266,7 @@ make generated_files >/dev/null X=($(newer openapi "${STAMP}")) if [[ "${#X[*]}" != 1 || ! ( "${X[0]}" =~ "pkg/generated/openapi/zz_generated.openapi.go" ) ]]; then echo "Wrong generated openapi files changed after touching src file:" - echo "${X[@]:-(none)}" + echo "${X[*]:-(none)}" exit 1 fi @@ -282,7 +282,7 @@ make generated_files >/dev/null X=($(older openapi "${STAMP}")) if [[ "${#X[*]}" != 0 ]]; then echo "Generated openapi files did not change after touching code-generator file:" - echo " ${X[@]:-(none)}" + echo " ${X[*]:-(none)}" exit 1 fi @@ -294,7 +294,7 @@ make generated_files >/dev/null X=($(older openapi "${STAMP}")) if [[ "${#X[*]}" != 0 ]]; then echo "Generated openapi files did not change after touching code-generator dir:" - echo " ${X[@]:-(none)}" + echo " ${X[*]:-(none)}" exit 1 fi @@ -306,7 +306,7 @@ make generated_files >/dev/null X=($(older openapi "${STAMP}")) if [[ "${#X[*]}" != 0 ]]; then echo "Generated openapi files did not change after touching code-generator dep file:" - echo " ${X[@]:-(none)}" + echo " ${X[*]:-(none)}" exit 1 fi @@ -318,6 +318,6 @@ make generated_files >/dev/null X=($(older openapi "${STAMP}")) if [[ "${#X[*]}" != 0 ]]; then echo "Generated openapi files did not change after touching code-generator dep dir:" - echo " ${X[@]:-(none)}" + echo " ${X[*]:-(none)}" exit 1 fi