This series adds qemuhotplugtest coverage for async vCPU unplug. Async vCPU unplug does not complete at the device_del reply. The guest CPU remains in a pending removal state until QEMU reports DEVICE_DELETED and the QEMU driver handles the resulting process event. The new harness support lets the tests observe that intermediate state and then complete the unplug through the same process-event path used by the driver.
The setvcpu coverage exercises both a single-vCPU x86 hotplug entity and a grouped ppc64 hotplug entity. These cases check the pending live XML before completion and the final live/config XML after completion, while also validating the expected vcpu-removed domain events. The setvcpus coverage adds a separate count-based x86 downscale case. This keeps the independent count-to-entity selection path covered without duplicating the grouped-entity coverage from setvcpu. The series also includes a small domain API cleanup to use the vCPU-specific flag aliases consistently in the vCPU entry points. This keeps the implementation and diagnostics aligned with the API being handled. This is a cosmetic change only, since the underlying values are all mapped to their equivalent enums. While adding this coverage, I realised that virsh was being too restrictive in its parameter combination validation; only QEMU does not support both `--async` and `--guest`. Other drivers may wish to support this behaviour. Accordingly, I've changed the behaviour so that virsh now lets the drivers reject the combination if they're unsupported. The decision now rests with the driver, which is more appropriate. Akash Kulhalli (7): qemu: expose process event handler to tests tests: add helper for DEVICE_DELETED events qemuhotplugtest: support async vcpu unplug completion qemuhotplugtest: test setvcpu async unplug qemuhotplugtest: test setvcpus async downscale domain: use vcpu-specific flag aliases consistently virsh: allow async vcpu options to reach drivers -- 2.49.0
