[Features][test-lib] Add message arg to the check function
I would like to propose a change to the check function of the dev-container-features-test-lib script.
The function should take a message to display when the test fails, like other testing frameworks have.
The current function code is: https://github.com/devcontainers/cli/blob/c246645f97fba402c3b1b95983e573e92bcec464/src/spec-node/featuresCLI/utils.ts#L75-L91
I propose to add a message on $2 or the last argument. Any thoughts on this?
I would suggest something like this:
check() {
LABEL=$1
MESSAGE = $2 or ${!#}
#
# the rest of the function
#
}
The new function should work like the examples below, and be backwards compatible
old:
check "java version LTS installed as default" \
grep "LTS" <(java --version)
new:
check "java version LTS installed as default" \
grep "LTS" <(java --version) \
"REASON: The installed version is: $(java --version)"
or
check "java version LTS installed as default" \
"REASON: The installed version is: $(java --version)" \
grep "LTS" <(java --version)
I tested some combinations, but it looks difficult to add the MESSAGE arg to the check() function.
When using MESSAGE as $2 it is not backwards compatible, because $2 and up was the command to check.
When using MESSAGE as the last arg ( ${!#} ) it is also not backwards compatible, because the last arg was (a portion of) the command to check.