tests: Do not occlude subshell error codes when used as input to the test command

When using the output of a subshell as input, its error code is ignored in
the context of "set -e". Many test scripts use grub-shell in a subshell with
output used as an argument to the test command to test for expected output.
Refactor these tests so that the subshell output goes to a shell variable,
so that if the subshell errors the script will immediately exit with an
error code.

Signed-off-by: Glenn Washburn <development@efficientek.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
Glenn Washburn authored and Daniel Kiper committed 2021-10-14 14:45:10 +02:00
1 parent 5e0a8129ef
commit 9bbcfb71ce
13 files changed
+44 -14

No files matched your search

+4 -2
View File
@@ -27,10 +27,12 @@ case "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" in
esac
if [ "$(echo hello | "${grubshell}" --grub-mkimage-extra=--compress=xz)" != "Hello World" ]; then
v=$(echo hello | "${grubshell}" --grub-mkimage-extra=--compress=xz)
if [ "$v" != "Hello World" ]; then
exit 1
fi
if [ "$(echo hello | "${grubshell}" --grub-mkimage-extra=--compress=none)" != "Hello World" ]; then
v=$(echo hello | "${grubshell}" --grub-mkimage-extra=--compress=none)
if [ "$v" != "Hello World" ]; then
exit 1
fi