2024-04-26 10:24:21

by Muhammad Usama Anjum

[permalink] [raw]
Subject: [PATCH v2] selftests: x86: conform test to TAP format output

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 <[email protected]>
---
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();
}
--
2.39.2



2024-05-28 05:06:54

by Muhammad Usama Anjum

[permalink] [raw]
Subject: Re: [PATCH v2] selftests: x86: conform test to TAP format output

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 <[email protected]>
> ---
> 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