aboutsummaryrefslogtreecommitdiff
path: root/scripts/testing/debug-vm.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/testing/debug-vm.sh')
-rwxr-xr-xscripts/testing/debug-vm.sh18
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