I'm doing some kernel development at work right now, so I test my code in a virtual machine (VMWare Fusion). I use SSH to both copy files (via SCP) to the VM and run things on it, and automate those actions with a Bash script or Makefile rule.
That way, the only direct interaction I have with the VM is to to click "revert to snapshot" whenever I mess it up.
That way, the only direct interaction I have with the VM is to to click "revert to snapshot" whenever I mess it up.