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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 7/31/24 9:57 PM, Shuah Khan wrote:
> On 7/31/24 07:39, Muhammad Usama Anjum wrote:
>> Don't print that 88 sub-tests are going to be executed, but then skip.
>> This is against TAP compliance. Instead check pre-requisites first
>> before printing total number of tests.
> 
> Does TAP clearly mention this?
Yes from https://testanything.org/tap-version-13-specification.html

Skipping everything
This listing shows that the entire listing is a skip. No tests were run.

TAP version 13
1..0 # skip because English-to-French translator isn't installed

We can see above that we need to print 1..0 and skip without printing the
total number of tests to be executed as they are going to be skipped.

> 
>>
>> Old non-tap compliant 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
>>
>> New and correct output:
>>    TAP version 13
>>    1..0 # SKIP all tests require euid == 0
> 
> The problem is that this new output doesn't show how many tests
> are in this test suite that could be run.
> 
> I am not use if this is better for communicating coverage information
> even if meets the TAP compliance.
I think the number of tests represents the number of planned tests. If we
don't plan to run X number of tests, we shouldn't print it.

> 
>>
>> Signed-off-by: Muhammad Usama Anjum <usama.anjum@xxxxxxxxxxxxx>
>> ---
>> Changes since v1:
>> - Remove simplifying if condition lines
>> - Update the patch message
>> ---
>>   tools/testing/selftests/openat2/resolve_test.c | 3 ++-
>>   1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/tools/testing/selftests/openat2/resolve_test.c
>> b/tools/testing/selftests/openat2/resolve_test.c
>> index bbafad440893c..85a4c64ee950d 100644
>> --- a/tools/testing/selftests/openat2/resolve_test.c
>> +++ b/tools/testing/selftests/openat2/resolve_test.c
>> @@ -508,12 +508,13 @@ void test_openat2_opath_tests(void)
>>   int main(int argc, char **argv)
>>   {
>>       ksft_print_header();
>> -    ksft_set_plan(NUM_TESTS);
>>         /* NOTE: We should be checking for CAP_SYS_ADMIN here... */
>>       if (geteuid() != 0)
>>           ksft_exit_skip("all tests require euid == 0\n");
>>   +    ksft_set_plan(NUM_TESTS);
>> +
>>       test_openat2_opath_tests();
>>         if (ksft_get_fail_cnt() + ksft_get_error_cnt() > 0)
> 
> thanks,
> -- Shuah
> 
> 

-- 
BR,
Muhammad Usama Anjum




[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux