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

From: Muhammad Usama Anjum
Date: Thu Apr 04 2024 - 07:49:17 EST


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 <usama.anjum@xxxxxxxxxxxxx>
>> ---
>> 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