On Mon, Feb 26, 2024, Sean Christopherson wrote:
On Thu, 08 Feb 2024 21:48:36 +0100, Thomas Huth wrote:
Basic idea of this series is now to use the kselftest_harness.h framework to get TAP output in the tests, so that it is easier for the user to see what is going on, and e.g. to be able to detect whether a certain test is part of the test binary or not (which is useful when tests get extended in the course of time).
Since most tests also need a vcpu, we introduce our own macros to define such tests, so we don't have to repeat this code all over the place.
[...]
OMG, you didn't tell me this allows sub-tests to run after a failed test! That alone is worth the conversion :-)
There's definitely a few enhancements we'll want to make, but this is more than good enough as a starting point.
Applied to kvm-x86 selftests, thanks!
[1/8] KVM: selftests: x86: sync_regs_test: Use vcpu_run() where appropriate https://github.com/kvm-x86/linux/commit/e10086285659 [2/8] KVM: selftests: x86: sync_regs_test: Get regs structure before modifying it https://github.com/kvm-x86/linux/commit/221d65449453 [3/8] KVM: selftests: Move setting a vCPU's entry point to a dedicated API https://github.com/kvm-x86/linux/commit/8ef192609f14 [4/8] KVM: selftests: Add a macro to define a test with one vcpu https://github.com/kvm-x86/linux/commit/992178c7219c [5/8] KVM: selftests: x86: Use TAP interface in the sync_regs test https://github.com/kvm-x86/linux/commit/04941eb15439 [6/8] KVM: selftests: x86: Use TAP interface in the fix_hypercall test https://github.com/kvm-x86/linux/commit/69fb12492005 [7/8] KVM: selftests: x86: Use TAP interface in the vmx_pmu_caps test https://github.com/kvm-x86/linux/commit/200f604dfd07 [8/8] KVM: selftests: x86: Use TAP interface in the userspace_msr_exit test https://github.com/kvm-x86/linux/commit/8fd14fc541c7
FYI, the hashes have changed for patches 3-8, as I forced pushed to fix an ARM goof in patch 3.
[1/8] KVM: selftests: x86: sync_regs_test: Use vcpu_run() where appropriate https://github.com/kvm-x86/linux/commit/e10086285659 [2/8] KVM: selftests: x86: sync_regs_test: Get regs structure before modifying it https://github.com/kvm-x86/linux/commit/221d65449453 [3/8] KVM: selftests: Move setting a vCPU's entry point to a dedicated API https://github.com/kvm-x86/linux/commit/53a43dd48f8e [4/8] KVM: selftests: Add a macro to define a test with one vcpu https://github.com/kvm-x86/linux/commit/55f2cf88486c [5/8] KVM: selftests: x86: Use TAP interface in the sync_regs test https://github.com/kvm-x86/linux/commit/ba97ed0af6fe [6/8] KVM: selftests: x86: Use TAP interface in the fix_hypercall test https://github.com/kvm-x86/linux/commit/a6983e8f5fab [7/8] KVM: selftests: x86: Use TAP interface in the vmx_pmu_caps test https://github.com/kvm-x86/linux/commit/de1b03f25f3b [8/8] KVM: selftests: x86: Use TAP interface in the userspace_msr_exit test https://github.com/kvm-x86/linux/commit/8d251856d425