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

+6 -1
View File
@@ -41,7 +41,12 @@ echo "hello" > "$outfile"
tar cf "$imgfile" "$outfile"
if [ "$(echo "nativedisk; source '(ahci0)/$outfile';" | "${grubshell}" --qemu-opts="-drive id=disk,file=$imgfile,if=none -device ahci,id=ahci -device ide-hd,drive=disk,bus=ahci.0 " | tail -n 1)" != "Hello World" ]; then
v=$(echo "nativedisk; source '(ahci0)/$outfile';" |
"${grubshell}" --qemu-opts="-drive id=disk,file=$imgfile,if=none
-device ahci,id=ahci
-device ide-hd,drive=disk,bus=ahci.0" |
tail -n 1)
if [ "$v" != "Hello World" ]; then
rm "$imgfile"
rm "$outfile"
exit 1
+2 -1
View File
@@ -34,6 +34,7 @@ case "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" in
exit 0;;
esac
if [ "$(echo hello | "${grubshell}" --boot=cd)" != "Hello World" ]; then
v=$(echo hello | "${grubshell}" --boot=cd)
if [ "$v" != "Hello World" ]; then
exit 1
fi
+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
+6 -1
View File
@@ -41,7 +41,12 @@ echo "hello" > "$outfile"
tar cf "$imgfile" "$outfile"
if [ "$(echo "nativedisk; source '(usb0)/$outfile';" | "${grubshell}" --qemu-opts="-device ich9-usb-ehci1 -drive id=my_usb_disk,file=$imgfile,if=none -device usb-storage,drive=my_usb_disk" | tail -n 1)" != "Hello World" ]; then
v=$(echo "nativedisk; source '(usb0)/$outfile';" |
"${grubshell}" --qemu-opts="-device ich9-usb-ehci1
-drive id=my_usb_disk,file=$imgfile,if=none
-device usb-storage,drive=my_usb_disk" |
tail -n 1)
if [ "$v" != "Hello World" ]; then
rm "$imgfile"
rm "$outfile"
exit 1
+2 -1
View File
@@ -46,6 +46,7 @@ case "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" in
exit 0;;
esac
if [ "$(echo hello | "${grubshell}" --boot=fd --mkrescue-arg="--compress=xz --fonts= --locales= --themes= -no-pad")" != "Hello World" ]; then
v=$(echo hello | "${grubshell}" --boot=fd --mkrescue-arg="--compress=xz --fonts= --locales= --themes= -no-pad")
if [ "$v" != "Hello World" ]; then
exit 1
fi
+2 -1
View File
@@ -24,6 +24,7 @@ if ! which gzip >/dev/null 2>&1; then
exit 77
fi
if [ "$(echo hello | "${grubshell}" --mkrescue-arg=--compress=gz)" != "Hello World" ]; then
v=$(echo hello | "${grubshell}" --mkrescue-arg=--compress=gz)
if [ "$v" != "Hello World" ]; then
exit 1
fi
+2 -1
View File
@@ -31,7 +31,8 @@ case "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" in
exit 0;;
esac
if [ "$(echo hello | "${grubshell}" --boot=hd)" != "Hello World" ]; then
v=$(echo hello | "${grubshell}" --boot=hd)
if [ "$v" != "Hello World" ]; then
exit 1
fi
+2 -1
View File
@@ -24,6 +24,7 @@ if ! which lzop >/dev/null 2>&1; then
exit 77
fi
if [ "$(echo hello | "${grubshell}" --mkrescue-arg=--compress=lzo)" != "Hello World" ]; then
v=$(echo hello | "${grubshell}" --mkrescue-arg=--compress=lzo)
if [ "$v" != "Hello World" ]; then
exit 1
fi
+2 -1
View File
@@ -40,6 +40,7 @@ case "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" in
exit 0;;
esac
if [ "$(echo hello | "${grubshell}" --boot=net)" != "Hello World" ]; then
v=$(echo hello | "${grubshell}" --boot=net)
if [ "$v" != "Hello World" ]; then
exit 1
fi
+6 -1
View File
@@ -41,7 +41,12 @@ echo "hello" > "$outfile"
tar cf "$imgfile" "$outfile"
if [ "$(echo "nativedisk; source '(usb0)/$outfile';" | "${grubshell}" --qemu-opts="-device pci-ohci -drive id=my_usb_disk,file=$imgfile,if=none -device usb-storage,drive=my_usb_disk" | tail -n 1)" != "Hello World" ]; then
v=$(echo "nativedisk; source '(usb0)/$outfile';" |
"${grubshell}" --qemu-opts="-device pci-ohci
-drive id=my_usb_disk,file=$imgfile,if=none
-device usb-storage,drive=my_usb_disk" |
tail -n 1)
if [ "$v" != "Hello World" ]; then
rm "$imgfile"
rm "$outfile"
exit 1
+2 -1
View File
@@ -45,7 +45,8 @@ echo "hello" > "$outfile"
tar cf "$imgfile" "$outfile"
if [ "$(echo "nativedisk; source '($indisk)/$outfile';" | "${grubshell}" --qemu-opts="-$disk $imgfile")" != "Hello World" ]; then
v=$(echo "nativedisk; source '($indisk)/$outfile';" | "${grubshell}" --qemu-opts="-$disk $imgfile")
if [ "$v" != "Hello World" ]; then
rm "$imgfile"
rm "$outfile"
exit 1
+6 -1
View File
@@ -41,7 +41,12 @@ echo "hello" > "$outfile"
tar cf "$imgfile" "$outfile"
if [ "$(echo "nativedisk; source '(usb0)/$outfile';" | "${grubshell}" --qemu-opts="-device ich9-usb-uhci1 -drive id=my_usb_disk,file=$imgfile,if=none -device usb-storage,drive=my_usb_disk" | tail -n 1)" != "Hello World" ]; then
v=$(echo "nativedisk; source '(usb0)/$outfile';" |
"${grubshell}" --qemu-opts="-device ich9-usb-uhci1
-drive id=my_usb_disk,file=$imgfile,if=none
-device usb-storage,drive=my_usb_disk" |
tail -n 1)
if [ "$v" != "Hello World" ]; then
rm "$imgfile"
rm "$outfile"
exit 1
+2 -1
View File
@@ -24,6 +24,7 @@ if ! which xz >/dev/null 2>&1; then
exit 77
fi
if [ "$(echo hello | "${grubshell}" --mkrescue-arg=--compress=xz)" != "Hello World" ]; then
v=$(echo hello | "${grubshell}" --mkrescue-arg=--compress=xz)
if [ "$v" != "Hello World" ]; then
exit 1
fi