> -----Original Message----- > From: Greg Kroah-Hartman [mailto:gregkh@xxxxxxxxxxxxxxxxxxx] > Sent: Monday, June 12, 2017 3:57 PM > To: shuah@xxxxxxxxxx > Cc: Paul Elder <paul.elder@xxxxxxxx>; linux-kselftest@xxxxxxxxxxxxxxx; Greg > Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>; Bird, Timothy > <Tim.Bird@xxxxxxxx>; Alice Ferrazzi <alice.ferrazzi@xxxxxxxxx> > Subject: [PATCH v2 3/4] kselftest: breakpoints: convert breakpoint_test to > TAP13 output > > From: Paul Elder <paul.elder@xxxxxxxx> > > 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@xxxxxxxx> > Signed-off-by: Alice Ferrazzi <alice.ferrazzi@xxxxxxxxx> > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > --- > v2: Just use the standard function names, no _tap suffix - Alice > > > .../selftests/breakpoints/breakpoint_test.c | 29 +++++++++++----------- > 1 file changed, 15 insertions(+), 14 deletions(-) > > diff --git a/tools/testing/selftests/breakpoints/breakpoint_test.c > b/tools/testing/selftests/breakpoints/breakpoint_test.c > index 120895ab5505..c02fc9a0e228 100644 > --- a/tools/testing/selftests/breakpoints/breakpoint_test.c > +++ b/tools/testing/selftests/breakpoints/breakpoint_test.c > @@ -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); If you follow my recommendations for path 1/4, this becomes: ksft_pass(msg); > + else > + ksft_test_result_fail(msg); kfst_fail(msg, msg2); However, you might want to have something more explanatory than "Failed" for msg2. Maybe something like "Did not trap breakpoint." > } > > 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(); > -- > 2.13.1 > -- To unsubscribe from this list: send the line "unsubscribe linux-kselftest" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html