5 Commits

Author SHA1 Message Date
8c619a1674 Add acceptance suite driving every tool group against real QEMU
The unit tests mock QMP and the guest agent, so they cannot catch a wrong
argument name, a QEMU option that stopped parsing, or a reply shape that
differs from the fake. This suite drives the real thing: the qemu-img
toolchain, lifecycle and see-and-drive on a diskless BIOS VM, adopting a
forgotten VM through attach_vm, the refusal to reuse a live socket, and the
full sandbox journey (guest exec, file round trip, live snapshot create /
restore / delete verified by guest state, screenshot) with a check that the
base image is never modified.

It immediately earned its keep: pid_matches_vm was rejecting attached VMs,
because an externally launched QEMU carries whatever -name its launcher
chose, so adopting one under a different name made it read as stopped. The
identity check now applies only to VMs we spawned.
2026-08-17 17:20:25 -06:00
1dbe453731 Add vm_mouse_move: chunked relative PS/2 motion with corner homing and clicks 2026-08-17 10:39:23 -06:00
9319fefc7c Document sandbox tools and port-forward forms in README 2026-08-17 00:37:17 -06:00
9d20f28998 Add see & drive tools: screenshot, keyboard/mouse injection, serial console 2026-08-16 23:47:58 -06:00
8e7286c474 Initial mcqemu: FastMCP server with lifecycle, image, snapshot, and guest-agent tools 2026-08-16 21:00:01 -06:00