grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v3 08/15] grub-shell: Only cleanup working directory file if QEMU


From: Glenn Washburn
Subject: [PATCH v3 08/15] grub-shell: Only cleanup working directory file if QEMU does not fail or timeout
Date: Thu, 10 Feb 2022 15:51:25 -0600

This keeps the generated files to aid in diagnosing the source of the
failure.

Signed-off-by: Glenn Washburn <development@efficientek.com>
---
 tests/util/grub-shell.in | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/tests/util/grub-shell.in b/tests/util/grub-shell.in
index 3ba539c70..96869184c 100644
--- a/tests/util/grub-shell.in
+++ b/tests/util/grub-shell.in
@@ -533,8 +533,6 @@ elif [ x$boot = xemu ]; then
     (cd "$rootdir"; tar cf "$roottar" .)
     setup_qemu_logger
     @builddir@/grub-core/grub-emu -m "$device_map" --memdisk "$roottar" -r 
memdisk -d "/boot/grub" > "$work_directory/qemu-pipe" || ret=$?
-    test -n "$debug" || rm -rf "$rootdir"
-    test -n "$debug" || rm -f "$roottar"
 else
     setup_qemu_logger
     timeout -s KILL $timeout "${qemu}" ${qemuopts} ${serial_null} -serial 
file:/dev/stdout -${device}"${isofile}" ${bootdev} > 
"$work_directory/qemu-pipe" || ret=$?
@@ -543,8 +541,16 @@ fi
 wait
 rm -f "$work_directory/qemu-pipe"
 
+if [ "$ret" -ne 0 ]; then
+    # If QEMU failure, keep generated files to reproduce
+    exit $ret
+fi
+
 if [ x$boot = xcoreboot ]; then
     test -n "$debug" || rm -f "${imgfile}"
+elif [ x$boot = xemu ]; then
+    test -n "$debug" || rm -rf "$rootdir"
+    test -n "$debug" || rm -f "$roottar"
 fi
 test -n "$debug" || rm -f "${isofile}"
 test -n "$debug" || rm -rf "${rom_directory}"
-- 
2.27.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]