tests: add vm_backend dimension to microvm
Add a VmBackend field to the Microvm class. Microvm delegates basic_config to the backend-specific helper introduced by the previous commits and asks the backend to perform any required preparation before starting. Microvm owns the shared InstanceStart, state validation, and SSH readiness sequence. Route CPU-template application through backend-owned basic_config so backend-specific machine configuration stays behind that interface. Add the vm_backend fixture as a dimension of the uvm fixtures. Tests using it multiply over the backends the host can run. Backend discovery may return an empty set so backend-independent pytest targets can collect without KVM. After test selection, fail cleanly if any selected test requires a VM backend and none is available. MicroVMFactory now takes its backend explicitly; custom-factory callsites pass the fixture through or stay on KVM. The kernel_file property resolves through the backend interface unless a test explicitly selects another boot image. KVM defaults to the guest kernel's vmlinux; document the pre-configuration override contract and the logical identity retained by snapshots. Signed-off-by: James Curtis <jxcurtis@amazon.co.uk>
J
James Curtis committed
838bbfbc3a83cc48d2b9662a3f783ebd15c76ec9
Parent: c7be019