Re: [PATCH] selftests: openat2: don't print total number of tests and then skip

From: Muhammad Usama Anjum
Date: Thu Jul 11 2024 - 02:39:45 EST


On 7/10/24 9:18 PM, Shuah Khan wrote:
> On 7/10/24 03:33, Muhammad Usama Anjum wrote:
>> Hi Shuah,
>>
>> Can you take the patch as is or by removing following from this patch:
>>
>> -    if (geteuid() != 0)
>> +    if (geteuid())
>
> As Aleksa mentioned, geteuid() != 0 is preferred.
I can make the change after concluding the following discussion.

>
>>
>> On 7/2/24 12:02 PM, Muhammad Usama Anjum wrote:
>>> On 7/1/24 2:14 PM, Aleksa Sarai wrote:
>>>> On 2024-07-01, Muhammad Usama Anjum <usama.anjum@xxxxxxxxxxxxx> wrote:
>>>>> Adding more people for review
>>>>>
>>>>> On 5/23/24 2:46 AM, Muhammad Usama Anjum wrote:
>>>>>> Don't print that 88 sub-tests are going to be executed. But then skip.
>>>>>> The error is printed that executed test was only 1 while 88 should have
>>>>>> run:
>>>>>>
>>>>>> Old output:
>>>>>>    TAP version 13
>>>>>>    1..88
>>>>>>    ok 2 # SKIP all tests require euid == 0
>>>>>>    # Planned tests != run tests (88 != 1)
>>>>>>    # Totals: pass:0 fail:0 xfail:0 xpass:0 skip:1 error:0
This would return FAIL exit code to kselftest executor as the planned tests
were 88 while executed tests are only 1. Hence FAIL error code would be
returned. This is completely wrong.

>>>>>>
>>>>>> New and correct output:
>>>>>>    TAP version 13
>>>>>>    1..0 # SKIP all tests require euid == 0
This would return SKIP exit code which is correct.


>
> I think having total number tell you how many tests are there.
> I don't this this is good change.
Having "1..88" misrepresents the number of executed tests. This is against
the TAP specs. The total number of tests must be printed after finding out
that initial conditions are fulfilled. From specs: [1]

> A plan line of 1..0 indicates that the test set was completely skipped;
> no tests are expected to follow, and none should have come before.
> Harnesses should report on 1..0 test runs similarly to their handling of
> SKIP Test Points, treating any comment in the Plan as the reason for
> skipping.
>
> 1..0 # WWW::Mechanize not installed

[1] https://testanything.org/tap-version-14-specification.html

>
> thanks,
> -- Shuah
>

--
BR,
Muhammad Usama Anjum