Make sure pagemap_ioctl exits with an appropriate value:

* If the tests are run, call ksft_finished() to report the right
  status instead of reporting PASS unconditionally.

* Report SKIP if userfaultfd isn't available (in line with other
  tests)

* Report FAIL if we failed to open /proc/self/pagemap, as this file
  has been added a long time ago and doesn't depend on any CONFIG
  option (returning -EINVAL from main() is meaningless)

Cc: Usama Anjum <[email protected]>
Reviewed-by: Ryan Roberts <[email protected]>
Reviewed-by: Mark Brown <[email protected]>
Acked-by: David Hildenbrand (Red Hat) <[email protected]>
Signed-off-by: Kevin Brodsky <[email protected]>
---
 tools/testing/selftests/mm/pagemap_ioctl.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/testing/selftests/mm/pagemap_ioctl.c 
b/tools/testing/selftests/mm/pagemap_ioctl.c
index 80d7c391f8f5..7b214e8755f7 100644
--- a/tools/testing/selftests/mm/pagemap_ioctl.c
+++ b/tools/testing/selftests/mm/pagemap_ioctl.c
@@ -1551,7 +1551,7 @@ int main(int __attribute__((unused)) argc, char *argv[])
        ksft_print_header();
 
        if (init_uffd())
-               ksft_exit_pass();
+               ksft_exit_skip("Failed to initialize userfaultfd\n");
 
        ksft_set_plan(117);
 
@@ -1560,7 +1560,7 @@ int main(int __attribute__((unused)) argc, char *argv[])
 
        pagemap_fd = open(PAGEMAP, O_RDONLY);
        if (pagemap_fd < 0)
-               return -EINVAL;
+               ksft_exit_fail_msg("Failed to open " PAGEMAP "\n");
 
        /* 1. Sanity testing */
        sanity_tests_sd();
@@ -1732,5 +1732,5 @@ int main(int __attribute__((unused)) argc, char *argv[])
        zeropfn_tests();
 
        close(pagemap_fd);
-       ksft_exit_pass();
+       ksft_finished();
 }
-- 
2.51.2


Reply via email to