kselftest: breakpoints: convert breakpoint_test to TAP13 output
authorPaul Elder <paul.elder@pitt.edu>
Mon, 12 Jun 2017 06:56:49 +0000 (08:56 +0200)
committerShuah Khan <shuahkh@osg.samsung.com>
Tue, 13 Jun 2017 18:57:51 +0000 (12:57 -0600)
Make the breakpoints test output in the TAP13 format by using the
TAP13 output functions defined in kselftest.h

Signed-off-by: Paul Elder <paul.elder@pitt.edu>
Signed-off-by: Alice Ferrazzi <alice.ferrazzi@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
tools/testing/selftests/breakpoints/breakpoint_test.c

index 120895a..c02fc9a 100644 (file)
@@ -42,10 +42,8 @@ static void set_breakpoint_addr(void *addr, int n)
 
        ret = ptrace(PTRACE_POKEUSER, child_pid,
                     offsetof(struct user, u_debugreg[n]), addr);
-       if (ret) {
-               perror("Can't set breakpoint addr\n");
-               ksft_exit_fail();
-       }
+       if (ret)
+               ksft_exit_fail_msg("Can't set breakpoint addr");
 }
 
 static void toggle_breakpoint(int n, int type, int len,
@@ -105,10 +103,8 @@ static void toggle_breakpoint(int n, int type, int len,
 
        ret = ptrace(PTRACE_POKEUSER, child_pid,
                     offsetof(struct user, u_debugreg[7]), dr7);
-       if (ret) {
-               perror("Can't set dr7");
-               ksft_exit_fail();
-       }
+       if (ret)
+               ksft_exit_fail_msg("Can't set dr7");
 }
 
 /* Dummy variables to test read/write accesses */
@@ -264,26 +260,29 @@ static void check_success(const char *msg)
        const char *msg2;
        int child_nr_tests;
        int status;
+       int ret;
 
        /* Wait for the child to SIGTRAP */
        wait(&status);
 
        msg2 = "Failed";
+       ret = 0;
 
        if (WSTOPSIG(status) == SIGTRAP) {
                child_nr_tests = ptrace(PTRACE_PEEKDATA, child_pid,
                                        &nr_tests, 0);
                if (child_nr_tests == nr_tests)
-                       msg2 = "Ok";
-               if (ptrace(PTRACE_POKEDATA, child_pid, &trapped, 1)) {
-                       perror("Can't poke\n");
-                       ksft_exit_fail();
-               }
+                       ret = 1;
+               if (ptrace(PTRACE_POKEDATA, child_pid, &trapped, 1))
+                       ksft_exit_fail_msg("Can't poke");
        }
 
        nr_tests++;
 
-       printf("%s [%s]\n", msg, msg2);
+       if (ret)
+               ksft_test_result_pass(msg);
+       else
+               ksft_test_result_fail(msg);
 }
 
 static void launch_instruction_breakpoints(char *buf, int local, int global)
@@ -378,6 +377,8 @@ int main(int argc, char **argv)
        pid_t pid;
        int ret;
 
+       ksft_print_header();
+
        pid = fork();
        if (!pid) {
                trigger_tests();