On Tue, 2022-12-13 at 17:54 +0100, Janis Schoetterl-Glausch wrote: > This allows checking if the necessary requirements for a test case are > met via an arbitrary expression. In particular, it is easy to check if > certain bits are set in the memop extension capability. > > Signed-off-by: Janis Schoetterl-Glausch <scgl@xxxxxxxxxxxxx> > Reviewed-by: Thomas Huth <thuth@xxxxxxxxxx> > --- > tools/testing/selftests/kvm/s390x/memop.c | 132 +++++++++++----------- > 1 file changed, 66 insertions(+), 66 deletions(-) > > diff --git a/tools/testing/selftests/kvm/s390x/memop.c b/tools/testing/selftests/kvm/s390x/memop.c > index 286185a59238..10f34c629cac 100644 > --- a/tools/testing/selftests/kvm/s390x/memop.c > +++ b/tools/testing/selftests/kvm/s390x/memop.c > @@ -690,87 +690,87 @@ static void test_errors(void) > kvm_vm_free(t.kvm_vm); > } > [...] > > int main(int argc, char *argv[]) > { > int extension_cap, idx; > > + setbuf(stdout, NULL); /* Tell stdout not to buffer its content */ > TEST_REQUIRE(kvm_has_cap(KVM_CAP_S390_MEM_OP)); > + extension_cap = kvm_check_cap(KVM_CAP_S390_MEM_OP_EXTENSION); > [...] > > ksft_print_header(); > - > ksft_set_plan(ARRAY_SIZE(testlist)); > > - extension_cap = kvm_check_cap(KVM_CAP_S390_MEM_OP_EXTENSION); > for (idx = 0; idx < ARRAY_SIZE(testlist); idx++) { > - if (extension_cap >= testlist[idx].extension) { > + if (testlist[idx].requirements_met) { > testlist[idx].test(); > ksft_test_result_pass("%s\n", testlist[idx].name); > } else { > - ksft_test_result_skip("%s - extension level %d not supported\n", > - testlist[idx].name, > - testlist[idx].extension); > + ksft_test_result_skip("%s - requirements not met (kernel has extension cap %#x\n)", oops, should be )\n ofc ^ > + testlist[idx].name, extension_cap); > } > } >