--- tools/testing/selftests/kvm/arm/guest-driver.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/tools/testing/selftests/kvm/arm/guest-driver.c b/tools/testing/selftests/kvm/arm/guest-driver.c index b757e55..efd7009 100644 --- a/tools/testing/selftests/kvm/arm/guest-driver.c +++ b/tools/testing/selftests/kvm/arm/guest-driver.c @@ -238,14 +238,22 @@ static void kvm_cpu_exec(bool (*test)(struct kvm_run *kvm_run, int vcpu_fd)) } while (!handle_mmio(kvm_run, test)); } -static void usage(int argc, const char *argv[]) -{ - errx(EXIT_SETUPFAIL, "Usage: %s <testname>", argv[0]); -} - /* Linker-generated symbols for GUEST_TEST() macros */ extern struct test __start_tests[], __stop_tests[]; +static int usage(int argc, const char *argv[]) +{ + struct test *i; + + printf("Usage: %s <testname>\n\nAvailable tests:\n", argv[0]); + + for (i = __start_tests; i < __stop_tests; i++) { + printf(" %s\n", i->name); + } + + return EXIT_SETUPFAIL; +} + int main(int argc, const char *argv[]) { struct test *i; @@ -254,7 +262,7 @@ int main(int argc, const char *argv[]) unsigned long start; if (argc != 2) - usage(argc, argv); + return usage(argc, argv); for (i = __start_tests; i < __stop_tests; i++) { if (strcmp(i->name, argv[1]) == 0) { -- 1.7.9.5 _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm