diff options
Diffstat (limited to 'scripts/testing/debug-vm.sh')
| -rwxr-xr-x | scripts/testing/debug-vm.sh | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/scripts/testing/debug-vm.sh b/scripts/testing/debug-vm.sh index 5b2b197..32f377c 100755 --- a/scripts/testing/debug-vm.sh +++ b/scripts/testing/debug-vm.sh @@ -25,7 +25,13 @@ if [ $# -eq 0 ]; then elif [ "$1" = "--base" ]; then USE_BASE=true elif [ -f "$1" ]; then - VM_DISK="$1" + case "$1" in + *.qcow2) VM_DISK="$1" ;; + *) + echo "Error: disk image must be qcow2 (got: $1)" >&2 + exit 1 + ;; + esac else echo "Usage: $0 [disk-image.qcow2 | --base]" echo "" @@ -48,6 +54,16 @@ LOGFILE="/tmp/debug-vm-$TIMESTAMP.log" init_logging "$LOGFILE" init_vm_paths "$VM_IMAGES_DIR" +cleanup_debug() { + if declare -f vm_is_running >/dev/null 2>&1 && vm_is_running; then + kill_qemu 2>/dev/null || true + fi + if [ -n "$OVERLAY_DISK" ] && [ -f "$OVERLAY_DISK" ]; then + rm -f "$OVERLAY_DISK" + fi +} +trap cleanup_debug EXIT + section "Launching Debug VM" # Determine which disk to use |
