2024-03-07 18:36:54

by Muhammad Usama Anjum

[permalink] [raw]
Subject: [PATCH] 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]>
---
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-03-25 13:12:32

by Muhammad Usama Anjum

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

Soft reminder

On 3/7/24 11:37 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]>
> ---
> 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

2024-04-04 11:50:19

by Muhammad Usama Anjum

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

Soft reminder

On 3/25/24 12:07 PM, Muhammad Usama Anjum wrote:
> Soft reminder
>
> On 3/7/24 11:37 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]>
>> ---
>> 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

2024-04-14 13:21:24

by Muhammad Usama Anjum

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

Soft reminder for this patch

On 3/7/24 11:37 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]>
> ---
> 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

2024-04-22 12:38:25

by Muhammad Usama Anjum

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

Reminder

On 4/14/24 6:21 PM, Muhammad Usama Anjum wrote:
> Soft reminder for this patch
>
> On 3/7/24 11:37 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]>
>> ---
>> 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