From: Glenn Washburn Date: Tue, 10 Jan 2023 22:08:56 +0000 (-0600) Subject: tests/util/grub-shell: Only cleanup working directory file if QEMU does not fail... X-Git-Tag: grub-2.12-rc1~158 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=de605d56835cdc5bc5c4d03c9f660b1ddaa84cf0;p=thirdparty%2Fgrub.git tests/util/grub-shell: Only cleanup working directory file if QEMU does not fail or timeout This keeps the generated files to aid in diagnosing the source of the failure. Signed-off-by: Glenn Washburn Reviewed-by: Daniel Kiper --- diff --git a/tests/util/grub-shell.in b/tests/util/grub-shell.in index 936f918b3..53aa04e32 100644 --- a/tests/util/grub-shell.in +++ b/tests/util/grub-shell.in @@ -534,8 +534,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=$? @@ -544,8 +542,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}"