KVM: selftests: Use TAP interface in the kvm_binary_stats_test
authorThomas Huth <thuth@redhat.com>
Tue, 4 Oct 2022 09:31:29 +0000 (11:31 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 29 Dec 2022 20:33:14 +0000 (15:33 -0500)
The kvm_binary_stats_test test currently does not have any output (unless
one of the TEST_ASSERT statement fails), so it's hard to say for a user
how far it did proceed already. Thus let's make this a little bit more
user-friendly and include some TAP output via the kselftest.h interface.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Andrew Jones <andrew.jones@linux.dev>
Message-Id: <20221004093131.40392-2-thuth@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
tools/testing/selftests/kvm/kvm_binary_stats_test.c

index 0b45ac5..894417c 100644 (file)
@@ -19,6 +19,7 @@
 #include "kvm_util.h"
 #include "asm/kvm.h"
 #include "linux/kvm.h"
+#include "kselftest.h"
 
 static void stats_test(int stats_fd)
 {
@@ -51,7 +52,7 @@ static void stats_test(int stats_fd)
 
        /* Sanity check for other fields in header */
        if (header.num_desc == 0) {
-               printf("No KVM stats defined!");
+               ksft_print_msg("No KVM stats defined!\n");
                return;
        }
        /*
@@ -224,9 +225,13 @@ int main(int argc, char *argv[])
                        max_vcpu = DEFAULT_NUM_VCPU;
        }
 
+       ksft_print_header();
+
        /* Check the extension for binary stats */
        TEST_REQUIRE(kvm_has_cap(KVM_CAP_BINARY_STATS_FD));
 
+       ksft_set_plan(max_vm);
+
        /* Create VMs and VCPUs */
        vms = malloc(sizeof(vms[0]) * max_vm);
        TEST_ASSERT(vms, "Allocate memory for storing VM pointers");
@@ -245,10 +250,12 @@ int main(int argc, char *argv[])
                vm_stats_test(vms[i]);
                for (j = 0; j < max_vcpu; ++j)
                        vcpu_stats_test(vcpus[i * max_vcpu + j]);
+               ksft_test_result_pass("vm%i\n", i);
        }
 
        for (i = 0; i < max_vm; ++i)
                kvm_vm_free(vms[i]);
        free(vms);
-       return 0;
+
+       ksft_finished();        /* Print results and exit() accordingly */
 }