[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d30aa38c-5dbd-4c18-b20f-a6eb9e9e722b@collabora.com>
Date: Thu, 1 Aug 2024 13:42:15 +0500
From: Muhammad Usama Anjum <usama.anjum@...labora.com>
To: Shuah Khan <skhan@...uxfoundation.org>, Shuah Khan <shuah@...nel.org>
Cc: Muhammad Usama Anjum <usama.anjum@...labora.com>,
Aleksa Sarai <cyphar@...har.com>, kernel@...labora.com,
linux-kselftest@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] selftests: openat2: don't print total number of tests
and then skip
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@...labora.com>
>> ---
>> 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
Powered by blists - more mailing lists