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)
This commit is contained in:
Ismo Puustinen 2018-12-21 15:54:14 +02:00
parent 3fbdc8c327
commit a911034e01

View File

@ -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