Re: [PATCH v2] selftests: x86: conform test to TAP format output
From: Muhammad Usama Anjum
Date: Tue May 28 2024 - 01:05:46 EST
Kind reminder
On 4/26/24 3:18 PM, Muhammad Usama Anjum wrote:
> Conform the layout, informational and status messages to TAP. No
> functional change is intended other than the layout of output messages.
>
> Signed-off-by: Muhammad Usama Anjum <usama.anjum@xxxxxxxxxxxxx>
> ---
> Changes since v1:
> - No changes, sending it again as got no response on v1 even after weeks
> ---
> tools/testing/selftests/x86/vdso_restorer.c | 29 +++++++++------------
> 1 file changed, 12 insertions(+), 17 deletions(-)
>
> diff --git a/tools/testing/selftests/x86/vdso_restorer.c b/tools/testing/selftests/x86/vdso_restorer.c
> index fe99f24341554..f621167424a9c 100644
> --- a/tools/testing/selftests/x86/vdso_restorer.c
> +++ b/tools/testing/selftests/x86/vdso_restorer.c
> @@ -21,6 +21,7 @@
> #include <unistd.h>
> #include <syscall.h>
> #include <sys/syscall.h>
> +#include "../kselftest.h"
>
> /* Open-code this -- the headers are too messy to easily use them. */
> struct real_sigaction {
> @@ -44,17 +45,19 @@ static void handler_without_siginfo(int sig)
>
> int main()
> {
> - int nerrs = 0;
> struct real_sigaction sa;
>
> + ksft_print_header();
> + ksft_set_plan(2);
> +
> void *vdso = dlopen("linux-vdso.so.1",
> RTLD_LAZY | RTLD_LOCAL | RTLD_NOLOAD);
> if (!vdso)
> vdso = dlopen("linux-gate.so.1",
> RTLD_LAZY | RTLD_LOCAL | RTLD_NOLOAD);
> if (!vdso) {
> - printf("[SKIP]\tFailed to find vDSO. Tests are not expected to work.\n");
> - return 0;
> + ksft_print_msg("[SKIP]\tFailed to find vDSO. Tests are not expected to work.\n");
> + return KSFT_SKIP;
> }
>
> memset(&sa, 0, sizeof(sa));
> @@ -62,21 +65,16 @@ int main()
> sa.flags = SA_SIGINFO;
> sa.restorer = NULL; /* request kernel-provided restorer */
>
> - printf("[RUN]\tRaise a signal, SA_SIGINFO, sa.restorer == NULL\n");
> + ksft_print_msg("Raise a signal, SA_SIGINFO, sa.restorer == NULL\n");
>
> if (syscall(SYS_rt_sigaction, SIGUSR1, &sa, NULL, 8) != 0)
> err(1, "raw rt_sigaction syscall");
>
> raise(SIGUSR1);
>
> - if (handler_called) {
> - printf("[OK]\tSA_SIGINFO handler returned successfully\n");
> - } else {
> - printf("[FAIL]\tSA_SIGINFO handler was not called\n");
> - nerrs++;
> - }
> + ksft_test_result(handler_called, "SA_SIGINFO handler returned\n");
>
> - printf("[RUN]\tRaise a signal, !SA_SIGINFO, sa.restorer == NULL\n");
> + ksft_print_msg("Raise a signal, !SA_SIGINFO, sa.restorer == NULL\n");
>
> sa.flags = 0;
> sa.handler = handler_without_siginfo;
> @@ -86,10 +84,7 @@ int main()
>
> raise(SIGUSR1);
>
> - if (handler_called) {
> - printf("[OK]\t!SA_SIGINFO handler returned successfully\n");
> - } else {
> - printf("[FAIL]\t!SA_SIGINFO handler was not called\n");
> - nerrs++;
> - }
> + ksft_test_result(handler_called, "SA_SIGINFO handler returned\n");
> +
> + ksft_finished();
> }
--
BR,
Muhammad Usama Anjum