KVM: selftests: Make test skipping consistent
authorAndrew Jones <drjones@redhat.com>
Wed, 11 Nov 2020 12:26:36 +0000 (13:26 +0100)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 16 Nov 2020 18:14:20 +0000 (13:14 -0500)
Signed-off-by: Andrew Jones <drjones@redhat.com>
Message-Id: <20201111122636.73346-12-drjones@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
tools/testing/selftests/kvm/x86_64/kvm_pv_test.c
tools/testing/selftests/kvm/x86_64/user_msr_test.c
tools/testing/selftests/kvm/x86_64/vmx_preemption_timer_test.c

index b10a274..732b244 100644 (file)
@@ -211,8 +211,8 @@ int main(void)
        struct kvm_vm *vm;
 
        if (!kvm_check_cap(KVM_CAP_ENFORCE_PV_FEATURE_CPUID)) {
-               pr_info("will skip kvm paravirt restriction tests.\n");
-               return 0;
+               print_skip("KVM_CAP_ENFORCE_PV_FEATURE_CPUID not supported");
+               exit(KSFT_SKIP);
        }
 
        vm = vm_create_default(VCPU_ID, 0, guest_main);
index cbe1b08..f2a667c 100644 (file)
@@ -209,7 +209,11 @@ int main(int argc, char *argv[])
        run = vcpu_state(vm, VCPU_ID);
 
        rc = kvm_check_cap(KVM_CAP_X86_USER_SPACE_MSR);
-       TEST_ASSERT(rc, "KVM_CAP_X86_USER_SPACE_MSR is available");
+       if (!rc) {
+               print_skip("KVM_CAP_X86_USER_SPACE_MSR not supported");
+               exit(KSFT_SKIP);
+       }
+
        vm_enable_cap(vm, &cap);
 
        rc = kvm_check_cap(KVM_CAP_X86_MSR_FILTER);
index a7737af..25b7830 100644 (file)
@@ -169,6 +169,11 @@ int main(int argc, char *argv[])
         */
        nested_vmx_check_supported();
 
+       if (!kvm_check_cap(KVM_CAP_NESTED_STATE)) {
+               print_skip("KVM_CAP_NESTED_STATE not supported");
+               exit(KSFT_SKIP);
+       }
+
        /* Create VM */
        vm = vm_create_default(VCPU_ID, 0, guest_code);
        vcpu_set_cpuid(vm, VCPU_ID, kvm_get_supported_cpuid());
@@ -176,13 +181,8 @@ int main(int argc, char *argv[])
 
        vcpu_regs_get(vm, VCPU_ID, &regs1);
 
-       if (kvm_check_cap(KVM_CAP_NESTED_STATE)) {
-               vcpu_alloc_vmx(vm, &vmx_pages_gva);
-               vcpu_args_set(vm, VCPU_ID, 1, vmx_pages_gva);
-       } else {
-               pr_info("will skip vmx preemption timer checks\n");
-               goto done;
-       }
+       vcpu_alloc_vmx(vm, &vmx_pages_gva);
+       vcpu_args_set(vm, VCPU_ID, 1, vmx_pages_gva);
 
        for (stage = 1;; stage++) {
                _vcpu_run(vm, VCPU_ID);