RE: [PATCH v2 3/4] kselftest: breakpoints: convert breakpoint_test to TAP13 output

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----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




[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux